Foros del Web » Programación para mayores de 30 ;) » Programación General »

Desarrollar aplicación multiplataforma (Windows, Linux, Web, Celular)

Estas en el tema de Desarrollar aplicación multiplataforma (Windows, Linux, Web, Celular) en el foro de Programación General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 22/12/2008, 00:41
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 16 años, 2 meses
Puntos: 1
Desarrollar aplicación multiplataforma (Windows, Linux, Web, Celular)

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
  #2 (permalink)  
Antiguo 22/12/2008, 04:34
Avatar de david_f  
Fecha de Ingreso: mayo-2007
Ubicación: Santiago De Los Caballeros, Santiago, Dominican Republic, Dominican Republic
Mensajes: 52
Antigüedad: 17 años
Puntos: 3
Respuesta: Desarrollar aplicación multiplataforma (Windows, Linux, Web, Celular)

Saludos.

En primer lugar, detesto decepcionarte al decirte que lo que deseas hacer, desarrollar una aplicación multiplataforma (web, cell, pc, etc) es imposible de lograr en "un solo paquete", me explico. Si desarrollas una aplicación en Java que sea "multiplataforma", depende de la máquina virtual que corra el sistema, ya que para, por ejemplo, los dispositivos móbiles, Java tiene una versión diferente, más pequeña, que es Java ME (MicroEdition), para las PC, se utiliza Java EE (Enterprise Edition) y Java SE (Standar Edition), ambas son maquinas vitruales Java, pero con ligeras diferencias para diferentes fines. Lo que programes para Java SE, no puede ser visto en Java ME (es decir, no te va a funcionar en dispositivos móbiles en general). Otra cosa, no creo que sea posible que puedas escribir y compilar un código en C/C++ que lo puedas correr en variedad de dispositivos de forma natural. No puedes crear una aplicación que la puedas correr de igual forma tanto en una terminal como en un entorno gráfico o la web. Debes decidirte por una plataforma específica. En mi opinión, te acostumbraste demasiado a Delphi y realmente no aprendiste a programar, mas bien, aprendiste a usar el IDE (y puede ponerse en duda, porque si realmente sabes programar en Delphi, sabrías que puedes crear aplicaciones tanto para Linux como para Windows), ya que veo que hay ciertos detalles o principios muy básicos que estás ignorando.

Segundo. Suena que estas detrás del "santo grial" de la programación. Quieres un lenguaje de programación que ya lo tenga todo y que también haga el trabajo por ti y que piense por ti. No quieres volver a escribir librerías ya hechas... pues simple, elije una lenguaje y consigue un framework, solo que tendrás que aprender el nuevo lenguajes, dominarlo y luego aprenderte el framework... y entonces luego empezar a crear aplicaciones. Dices que no quieres tomar un editor de texto para crear el código de la parte visual... realmente no entiendo tu intensión, ya que esa "parte visual" es la salida de tu aplicación y dependiendo la plataforma donde se corra la aplicación, esa salida varía y el código cambia. Al parecer realmente no te refieres a cambiar a un nuevo lenguaje, sino a un lenguaje con todo y IDE y plataforma integrada y que además contenga plugins para que haga todo lo que quieres que haga y te convierta el código automaticamente para todas las plataformas. En ese caso, elije un lenguaje, inventa un IDE y todos los plugins necesarios, y luego desarrolla tus aplicaciones en ese entorno.

El término "Aplicación Multiplataforma" creo que no lo tienes bien definido, o estás ampliando demasiado su alcance.

La Buena Noticia.

La buena noticia es que puedes lograr muchos de tus objetivos si desarrollas bajo web, ya que un web puede ser visto desde un celular, una pc, psp, ipod y demás. Para lograr objetivo, solo tendrías que alojar tu aplicación en un servidor web y que los "usuarios" accedan al mismo a través de un navegador.

La Mala Noticia.

La mala noticia es que con esa actitud de que "el IDE te haga todo", no soportarás programar en PHP que sería la mejor opción.
  #3 (permalink)  
Antiguo 23/12/2008, 11:35
 
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Desarrollar aplicación multiplataforma (Windows, Linux, Web, Celular)

Hola,
-No te compliques con la web.. depender de la conexión, la velocidad y el cliente NO es buena idea.

Java es una buena idea...
C / C++ ... NO es una buena idea, las librerías cambian.
C# <- prueba portable.NET o MONO ... de estas forma, lo puedes escribir en un lenguaje simple y ejecutar en todos lados y tiene una buena api para web y bases de datos.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:34.