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

Analisis de lenguajes para proyectos WEB+Escritorio+SmartPhones

Estas en el tema de Analisis de lenguajes para proyectos WEB+Escritorio+SmartPhones en el foro de Programación General en Foros del Web. Buen día. Estoy en la etapa de análisis y diseño de un proyecto en el que el sistema resultante operará sobre plataforma web, que al ...
  #1 (permalink)  
Antiguo 01/05/2011, 09:39
 
Fecha de Ingreso: mayo-2011
Mensajes: 2
Antigüedad: 12 años, 11 meses
Puntos: 2
Analisis de lenguajes para proyectos WEB+Escritorio+SmartPhones

Buen día.

Estoy en la etapa de análisis y diseño de un proyecto en el que el sistema resultante operará sobre plataforma web, que al mismo tiempo tendrá una versión de escritorio y, según lo planeado, extensiones para uso en smartphones.

Para no distraernos, este esquema es necesario ya que el proyecto requiere que el usuario pueda operar el sistema no estando en línea... o un poco más allá, que definitivamente prefiera trabajar todo el tiempo offline y sin conexión de red.

Ahora bien, aún que es de esperar que no el 100% de la funcionalidad esté en los 3 ambientes, al final hay clases, reglas de negocio y librerías que de forma natural serán compartidas. Ante esto, lo ideas sería que estos elementos puedan ser reutilizados en estos ambientes (WEB, escritorio, smartphones)

Ante este escenario, estoy analizando 3 estrategias distintas en cuanto al lenguaje sobre el que se desarrollará la aplicación: Java, PHP y C#.

Java, en sus diferentes capacidades (J2ME, J2SE, J2EE) podría ser una opción, pero en mi experiencia es bastante pesado para los programas de escritorio y desconozco la capacidad de portabilidad del código entre escritorios Microsoft y Machintosh. Al haber sido tantos años open source, se cuenta con múltiples librerías publicadas en las diferentes y variadas comunidades en internet existentes. Considero personalmente a Jave un lenguaje complejo, poderoso, y con una amplia curva de aprendizaje para los novatos si lo que se pretende es dominarlo.

.Net igualmente ofrece la capacidad de trabajar en los 3 ambientes, mas en este caso hay dependencia nativa para trabajar en plataformas Microsoft, lo que encarece de forma importante cualquier proyecto. Es cierto que existen versiones Express (gratuitas) de algunas de sus herramientas, pero al final están limitadas en cuanto a capacidad y al crecer tarde o temprano se llega a los esquemas de licenciamiento. También existen múltiples librerías en comunidades .Net y para mi gusto es más fácil encontrar documentación sobre la herramienta en buena parte debido a que, al ser software pagado, el fabricante está directamente interesado en allanar cualquier problema que ponga en duda la implementación (entiéndase adquisición) de sus herramientas. Centrándome en C#, siento personalmente este lenguaje también poderoso pero con una curva de aprendizaje más reducida para su completo dominio, además de ser algo un lenguaje ligero. En lo particular tengo más experiencia en C# que en los demás.

PHP es el más sencillo de usar de los 3 para el desarrollo web, aunque también es el menos poderoso y versátil para su transportación a los 3 ambientes. Para su implementación en escritorio me topé con el proyecto http://gtk.php.net/, el cual se reconoce a sí mismo como experimental y deja a riesgo del desarrollador su implementación. También he encontrado metodologías para que desarrollos PHP utilicen clases java, pero desde mi trinchera los veo más como frankensteins (que no dudo que funcionen), que como soluciones robustas a largo plazo.

Como la idea no es estar "picando" en las tres opciones ya que eso atrasaría mucho los tiempos del proyecto, considero que lo importante es decidir, desde el primer momento, la estrategia a seguir... y casarme con ella. Aún que mi principal experiencia es con .Net, no quisiera basar en este único elemento la decisión. La robustez, transportabilidad y capacidad de crecimiento del proyecto es la prioridad.

En fin, esta es la exposición del tema. Si consideran que hace falta definir algo más, coméntenlo y con gusto aterrizo el punto.

La discusión está servida...
  #2 (permalink)  
Antiguo 24/08/2012, 22:01
 
Fecha de Ingreso: agosto-2012
Mensajes: 1
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta Respuesta: Analisis de lenguajes para proyectos WEB+Escritorio+SmartPhones

como estas iniciando con tu proyecto y que definas por que lenguaje te vas a inclinar auque yo recomendaria que lo desarrollaras con una ambiente de java ya que es aparte del lenguaje mas nuevo es el mas utlizado en la antiguedad.

Java es el que mejor sintaxis, J2EE trabaja bien en cualquier plataforma.

Base de datos: Oracle para J2EE.

J2EE tiene varias herramientas comerciales, pero Eclipse es la mejor (incluso alguna de las comerciales como WASD está basada en Eclipse).

Soporte orientado a objetos: J2EE.

Seguridad: J2EE parece el más seguro.

Servidor Web: J2EE tiene versiones comerciales y open source.

Librerías y frameworks: Todos tiene muchas librerías y frameworks disponibles para J2EE la mayoría gratuitas y open source.

Soporte y comunidad: J2EE existen muchos grupos independientes.

Coste: J2EE puede desarrollarse con herramientas gratuitas y de pago.

como mencionaste .NET es el que mejor manejas o te identificas con ese lenguaje, pero en ocasiones es mejor aprender nuevos lenguajes que te permiten tener un mejor panorama de los ambientes de programacion y de los difererentes lenguajes que existen en la antiguedad.

La ventaja de java, la que hace que sea en lenguaje muy atractivo, es simple: es multiplataforma. expliquemos esto: normalmente un programa viene definido por un codigo fuente; dicho codigo fuente, al compilarlo, se transforma en una serie de sentencias escritas en lenguaje maquina.

Este lenguaje te permitira desarrollar sistemas para las tres ambientes que quieres realizar en el que el sistema resultante operará sobre plataforma web, que al mismo tiempo tendrá una versión de escritorio y, según lo planeado, extensiones para uso en smartphones.

¿Cuál es la ventaja de todo esto?¿Qué gano con Java?

Primero: No debes volver a escribir el código si quieres ejecutar el programa en otra máquina. Un solo código funciona para todos los browsers compatibles con Java o donde se tenga una Máquina Virtual de Java (Mac's, PC's, Sun's, etc).
Segundo: Java es un lenguaje de programación orientado a objetos, y tiene todos los beneficios que ofrece esta metodología de programacion (más adelante doy una pequeña introducción a la filosofía de objetos).
Tercero: Un browser compatible con Java deberá ejecutar cualquier programa hecho en Java, esto ahorra a los usuarios tener que estar insertando "plug-ins" y demás programas que a veces nos quitan tiempo y espacio en disco.
Cuarto: Java es un lenguaje y por lo tanto puede hacer todas las cosas que puede hacer un lenguaje de programación: Cálculos matemáticos, procesadores de palabras, bases de datos, aplicaciones gráficas, animaciones, sonido, hojas de cálculo, etc.
Quinto: Si lo que me interesa son las páginas de Web, ya no tienen que ser estáticas, se le pueden poner toda clase de elementos multimedia y permiten un alto nivel de interactividad, sin tener que gastar en paquetes carísimos de multimedia.


http://meetingjava.blogspot.mx/2006/08/ventajas-y-desventajas-del-java.html

http://www.taringa.net/posts/info/5307936/Por-que-razon-elegir-java.html


http://www.forosdelweb.com/newreply.php?do=newreply&noquote=1&p=3836909

Etiquetas: analisis, lenguajes, proyectos
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




La zona horaria es GMT -6. Ahora son las 07:33.