Buenas a tod@s,
Mucho de ustedes ya van un paso adelante y no ví mejor lugar para poder hacer una pregunta de este tipo, lo que pasa es que ahora se me vino la necesidad de desarrollar un sistema multiplataforma y que sea accesible desde diferentes dispositivos (example->"celular","web").
Llevo buen tiempo desarrollando aplicaciones bajo Delphi, exactamente la versión 7 y cómo gestor de base de datos "Firebird" en un entorno Cliente-Servidor y corriendo bajo Windows.
Llevo algún tiempo usando Linux y ya no quiero desarrollar aplicaciones únicamente para windows, pienso que es un mal necesario y de ahora en adelante lo usaré mínimamente a menos que sea necesario, imagino que en determinada área de la empresa tendrá que convivir con algún sistema que sólo corre y fue diseñado para windows. (¡Es por eso que es importante que sea multiplataforma!)
Ahora los tiempos han cambiando y los retos se han hecho más grandes, ahora demandamos aplicaciones que mínimamente sean accesibles desde la web (Desde un entorno web pueda ingresar datos directamente al sistema central).
La pregunta es: ¿Que arquitectura usar?
Ahora estoy en un dilema y siento cierta melancolía =( porque tendré que dejar mi querido pascal y sú hijo delphi para tomar otro lenguaje de programación C++, C# o Java. ¿Cual elegir?
En un primer momento me decante por .NET y con la llegada de la versión 2.0 de MONO para nuestro querido Linux pues parece ser una opción muy poderosa.
C++, el sólo hecho de mencionarlo impone respeto y deseos de usarlo tomando ventaja de la potencia y flexibilidad "ilimitada" que ofrece :D
Java con su poderosa y hasta mágica máquina virtual que hace posible poder ser ejecutada practicamente bajo cualquier sistema operativo y/o arquitectura.
¿Ahora cual es más práctico, rápido y flexible para desarrollo?
Tengo unos requerimientos bien claros y son:
-> Programar una sola vez la parte funcional del sistema para luego sólo crear interfacez ya sea para un terminal, web, celular, etc.
-> Que sea rápido, seguro y escalable.
-> La curva de aprendizaje de nuevos conceptos sea mínimo en vista que tengo conocimientos suficientes sobre POO.
Y es que no quiero volver a programar librerías ya hechas, volver a reIdear cosas que ya estan hechas y muy probadas o tener que programar métodos, funciones para listas, combos, tab's y demás.
Si de algo estoy convencido es que hemos avanzado mucho y llego el momento de hacer uso de el conocimiento adquirido, así que espero vuestros comentarios. ¡Ah! No quiero dejar de mencionar lo que me atrajo de Delphi, cómo es su poderoso IDE y facilidad con la que puedes desarrollar aplicaciones. Delphi te deja cómo tarea la parte más creativa y crítica de cualquier proyecto de software, el análisis y diseño de la aplicación al usar este un lenguaje totalmente orientado a objetos puedes crear las estructuras más complejas para luego simplemente tomar los controles ponerlos en un contenedor (Form) y olvidarte de la parte mecánica y tediosa.
Para terminar ... muchos verán en el comentario anterior a alguien facilista y con respeto digo que no quisiera coger un editor de texto para tener que ponerme a crear código para la parte visual y manejo de controles, adoro programar sobre un editor pero para crear código funcional, que sea la columna vertebral y sostén del sistema.
Espero vuestros comentarios, hasta pronto! :D