Etiqueta: ‘windows’

Desarrollo multiplataforma

17-09-2009 | Categoría: Desarrollo

Los clientes que tenemos en Arcadina, fotógrafos profesionales en su mayoría, trabajan con dos plataformas Windows y Mac, aunque últimamente, sobre todo desde que Apple se pasó a los procesadores Intel y durante el último año más todavía (no sabemos porqué), Mac parece que esté ganando la “batalla”.

Nuestro software PhotoGestión está desarrollado con Delphi y funciona sobre Windows, yprácticamente a diario se produce una conversación así (más o menos):

- ¿Funciona en Mac? – No, todavía no funciona en Mac – ¿Para cuando estará en Mac? – Pues no sabemos decirle, no tenemos definida una fecha.

Llevo bastante tiempo, a ratos no a full-time, buscando una solución que permita a una empresa pequeña desarrollar para Windows y para Mac, he probado varios entornos, pero ninguno me ha terminado de gustar (debe ser que los comparo con mi estimado Delphi). He estado evaluando Mono+C#, RealBasic, FreePascal+Lazarus, Java, Mono+Delphi Prism y Velneo V7

Mono+C# Es un lenguaje avanzado, con una gran comunidad, con miles de componentes y librerías, es un lenguaje estándar ISO. Mono está apoyado por grandes empresas, es OpenSource y está demostrando

RealBasic casi lo consigue, pero no me decidí por la falta de comunidad, porque no será sencillo encontrar a desarrolladores con experiencia, y porque no encontré algunos componentes que necesitamos si o si.

FreePascal+Lazarus, no llega al nivel, tuve muchos problemas al intentar hacer algo, posiblemente por falta de experiencia, no lo niego. Era el primer candidato, para aprovechar parte del código que tenemos. Espero que alguna empresa (¿Embarcadero?) lo respalde y puedan dedicarle más recursos.

Java, el entorno multiplataforma por excelencia. Muchos puntos a favor: millones de programadores con experiencia, gran comunidad, miles de librerías y componentes, rendimiento más que suficiente para el tipo de aplicación que realizamos, abrumado por la cantidad de documentación y código que hay. Para mí el que más posibilidades tiene.

Delphi Prism he estado leyendo sobre él. Es el Pascal para .NET y Mono. Pero me parece que todavía está verde, hablo con la probabilidad de equivocarme porque no lo he probado.

Velneo V7, con éste entorno me pasa lo mismo que con Delphi Prism, sólo he leído acerca de él. No encontré demasiadas referencias, ni componentes y supongo que no será sencillo encontrar personal con experiencia.

Lo que he sacado en claro durante este tiempo es que:


  1. Es un tema complejo, que igual se escapa a nuestras posibilidades, dados nuestros recursos.

  2. El tema de la apariencia/interfaz: o no se parece a ningún entorno, o si queremos que tenga el look&feel de cada uno se ha de separar por capas y la de presentación hacerla ex-profeso para cada GUI con los widgets que correspondan, con las normas de cada entorno, etc. cosa que complica más el asunto.

  3. Las pruebas y verificaciones se multiplican por mucho.

  4. Temas de instaladores, bases de datos, sistemas de informes, mecanismos de impresión (necesitamos imprimir en una impresora de tickets), etc. Es algo que se multiplica por dos.

  5. Que posiblemente el futuro vaya por SaaS (alquiler de aplicaciones que se encuentran alojadas en servidores ajenos a la empresa que los utiliza), y que por lo tanto este perdiendo el tiempo con ésto. Claro que desarrollar una aplicación vía web tampoco está exenta de retos.


En fin, un mundo apasionante éste del desarrollo de aplicaciones informáticas ;)

Desarrollo web: trabajo en equipo

18-09-2008 | Categoría: Desarrollo

El proceso de preparar un entorno para el desarrollo web en equipo está resultando más complicado de lo que suponía. Todavía no hemos podido empezar con Scrum, se me está haciendo eterno.

Hasta ahora del desarrollo web del producto que queremos tratar con Scrum se encargaba una persona, esta utilizaba un servidor linux (CentOS) interno para ello, desde su máquina Windows editaba el código, lo subía al servidor para probarlo y depurarlo, y finalmente lo subía al servidor de producción, también CentOS, cuando se daba el visto bueno. Ahora como vamos a ser varias personas trabajando con el mismo código necesitamos otro entorno.

En principio opté por Windows como SO de escritorio, instalando XAMPP y EclipsePDT. Pero nos hemos encontrado con muchos problemas, demasiados, para poder ejecutar el software allí. Y, sobre todo, me quedaba la duda de que problemas futuros nos encontraríamos cuando en el entorno Windows el software funcionara pero al pasarlo al CentOS no, el trabajo extra de hacerlo funcionar en dos platarformas sin necesidad real.

Por ello hemos decido hoy poner CentOS como entorno de desarrollo en los ordenadores, claro que eso implica un retraso, pero creo que lo recuperaremos rápidamente al ganar en compatibilidad con los servidores.

Básicamente la idea es que cada desarrollador tenga en su máquina un servidor web completo, para que desarrolle, pruebe y depure en local, luego cuando lo tenga lo suba al servidor subversion y de ahí se pueda sacar una copia diaria al servidor de pruebas interno.

¿Es esa la mejor forma de trabajar? ¿Sabéis como lo hacen en otros equipos? ¿Alguna idea?