Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-02-2015
[birmain] birmain is offline
Miembro Premium
 
Registrado: feb 2005
Ubicación: Albacete - España
Posts: 49
Poder: 0
birmain Va por buen camino
¿Es conveniente seguir utilizando Delphi para aplicaciones web y móviles?

El texto del título es un tanto provocativo, y no es así, ya que Delphi para mi ha sido casi un "compañero " en mi vida. Soy usuario de Pascal desde Turbo Pascal 4.0, y luego de todas las versiones de Delphi desde la 1.0, aunque me quede mucho tiempo con la 7, y ahora XE7. Mi meta siempre había sido crear buenas aplicaciones de escritorio, con bases de datos robustas, bien diseñadas, y con una interface de usuario amigable por compleja que fuera. Todo eso lo he conseguido con Delphi.

Ahora, casi al final de mi vida laboral, me he propuesto saltar a aplicaciones móviles, concretamente a una aplicación web, para en el futuro pueda ser insertada a través phoneGap como una aplicación móvil. Desde antes del verano llevo estudiando todas las posibilidades de Delphi. He realizado un servidor dataSnap avanzado conectado a una enorme base de datos en Firebird y he resuelto algunas interfaces para aplicaciones web y móviles nativas. A comienzos de otoño mi visión del asunto es que estaba montando un mastodonte, con tecnologías conocidas. Un entrañable mastodonte. Mi sensación es que para conseguir lo que quería había mucho software por debajo, demasiado. Todo muy voluminoso, y poco confiable, quizás también demasiado lento. Debía confiar en demasiadas cosas que hay por debajo de mi capa se software, quizás en demasiadas. CodeGear ha hecho un gran esfuerzo con esta herramienta, pero dudo que una aplicación compleja salga "redonda" sin una fuerte carga de trabajo adicional.

Llegó el momento de preguntarme porqué estaba trabajando así. ¿Porque desde mi juventud Pascal ha sido mi gran aliado?, ¿porqué me he sentido cómodo en Delphi y no he profundizado en nada más?. Una cosa buena de Delphi es que es muy organizado y abre la mente a otros lenguajes de programación. Y me pregunté, porqué no aprendo en profundidad PHP y JavaScript.

No os podéis imaginar lo corta que es la curva de aprendizaje, y lo que se agradece una vez que dominas estos lenguajes quitarse de en medio la los "types". Cualquier estructura por compleja que sea, es resuelta de forma directa. Un lenguaje fuertemente tipado como Pascal, cuando se avanza en librerías especializadas, objetos, objetos anidados, etc, es como un gran freno en la curva de aprendizaje de nuevas tecnologías basadas en este entorno.

En la actualidad el servidor dataSnap se ha convertido en un servidor REST escrito en PHP, donde he escrito por completo una librería para acceder a la base de datos y basándome en esta, otra con los objetos necesarios para hacer el servidor. La interface de cliente es JavaScript, donde he escrito una librería para crear un dataSet en el cliente que gestiona los datos recibidos en el servidor, inspirándome en el dataSet de Delphi. Una de las cosas que mas me desconcertaban de JavaScript es el manejo del DOM mezclado con la lógica de los datos en el cliente, utilizando por ejemplo JQuery. Afortunadamente hay un frameword denominado Angular JS que separa la lógica de la aplicación en el paradigma MVC (modelo vista controlador), lo cual es fantástico para hacer en el navegador, prácticamente lo que haríamos en el escritorio.

Después de tantos años he tenido que prescindir de Delphi, por mucho que nos hayan prometido con XE multiplataforma, pero le debo a mi formación de programador con Pascal, lo pronto que he estado listo para otras plataformas.

Disculpar este rollo, pero me interesaba publicar mi experiencia por si alguien tiene alguna opinión positiva o negativa sobre lo que expongo, y si alguien ha pasado por lo mismo.

Un saludo.
Responder Con Cita
  #2  
Antiguo 10-02-2015
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Creo que tocas cosas interesantes, pero, no sé yo si un tanto mezcladas. Me explico. Desde luego que a mí no se me ocurre desarrollar una web con Delphi, puesto que, siempre he sido más de Macromedia HomeSite que de Macromedia DreamWeaver. Sin embargo, es de suponer que algunos usuarios de Delphi acaso puedan aprovecharse de conocimientos pasados para desarrollar web con Delphi, de manera que, en este caso, tal vez resultase más interesante que liarse a aprender "cosas nuevas".

Por lo demás, creo que hoy día no se pueden comparar todavía las aplicaciones web y las aplicaciones nativas, hablando de entornos móviles. Esto es, que Phonegap está muy bien, y, en efecto, AngularJS (que conozco desde hace poco y me enamoró, ciertamente) son muy buenas herramientas, pero, no están a la altura de lo que puede proporcionar Delphi para el desarrollo móvil: aplicaciones nativas, o sea más rápidas, más fluidas y acaso con más posibilidades y más sencillas de llevar a cabo.

Sobre todo si ya conoces Delphi, el lenguaje, etc. Personalmente, me encantaría desarrollar aplicaciones para móviles con Delphi, quiero decir, en lugar de hacerlo con Phonegap, AngularJS, jQuery Mobile o cualquier otra cosa por el estilo. En primer lugar porque me aprovecharía de no poca de la experiencia adquirida con Delphi en estos años, lo que no es moco de pavo, porque, ponte ahora a manejarte al mismo nivel con Java, por no decir que Android Studio es un mastodente pesado al lado de Delphi.

Y eso es lo que yo puedo decir al respecto. Igual algún otro compañero se anima también.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 11-02-2015
[birmain] birmain is offline
Miembro Premium
 
Registrado: feb 2005
Ubicación: Albacete - España
Posts: 49
Poder: 0
birmain Va por buen camino
Dec, gracias por tu respuesta.
Llevas razón en que las aplicaciones nativas son más fluidas y hacen un uso optimizado de los recursos del sistema. No obstante me he decantado por una aplicación híbrida por las siguientes razones: Portabilidd. El acceso a la base de datos es siempre remoto, por lo que es ideal un servidor REST y aqui es donde veo una gran diferencia de rendimiento y fluidez entre un servidor REST en PHP a una implementación en DataSnap. Es cierto que se pierde la facilidad de las librerías de acceso a datos, pero en cambio se gana en agilidad de acceso y robustez. Hay una carga adicional de trabajo que se debe hacer tanto en el servidor como en el cliente, para llevar todo el flujo de datos en JSON. . HTML5, css3, Bootstrap, Java Script y el framword Angular JS proporcionan todo lo necesario para hacer una excelente interface de usuario, sin necesidad de tener que acceder a los recursos específicos del sistema operativo del usuario. Este es el escenario que describía. De todas formas gracias por tu aportación
Responder Con Cita
  #4  
Antiguo 11-02-2015
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
No entiendo de donde sacas la idea que un frontend HTML/JS es sinonimo de "rendimiento y fluidez" y " excelente ". A lo sumo, es manejable.

HTML5/JS es todo un *retroceso* a la hora de hacer apps. Tienen la gracia de ser "multiplataforma, masomenos, excepto cuando no", pero son lentos, complejos, ineficientes y todo lo demás. Una cosa es decir que hay herramientas que facilitan un poco las cosas, y dada ciertas condiciones de simpleza se puede emular masomenos la funcionalidad de una app nativa, pero es de lejos parecida. Si hasta para lograr scrolling decente hay que hacer severos hacks:

http://engineering.flipboard.com/2015/02/mobile-web/

---
REST/APIs web no obligan front-end html. La plataforma iOS ha probado que apps nativas+backend web es una propuesta superior. Como he dicho en muchas ocaciones, multiplataforma es sinonimo de mediocre (mediocre en el sentido de "minimo comun denomindador", no de estupidez) por lo tanto JAMAS sera lo mas eficiente. Y en cuento a HTML? Ni a palos. Puede ser *suficiente*, y de hecho hago apps web casi tan seguido como nativas, pero no hay punto de comparacion.

HTML para "multiplataforma" mediocre.
Nativo para eficiencia & desempeño.

Backend Web? Puede ser para ambos!
__________________
El malabarista.
Responder Con Cita
  #5  
Antiguo 12-02-2015
[birmain] birmain is offline
Miembro Premium
 
Registrado: feb 2005
Ubicación: Albacete - España
Posts: 49
Poder: 0
birmain Va por buen camino
Hola mancx. Gracias por tu aportación.
No te falta razón respecto al front-end, aunque estoy obteniendo resultados bastante apreciables, y los elementos de edición de datos que proporciona el HTML5 ayudado por algunos framewords son bastante eficientes. Donde realmente encuentro fluidez y robustez es en el back-end. DataSnap es bueno para resolver con facilidad el acceso a bases de datos, pero aporta una carga considerable. A eso se le suma todo lo que tenemos debajo de los controladores de acceso a las bases de datos, providers, y demás parafernalia. No No hablo por hablar. Ya programé un servidor completo DataSnap tanto REST, como DataSnap conservando el estado de las conexiones. Pérdidas de conexión, lentitud con cargas medianas. Nada que ver con un servidor REST montado con php en un servidor Apache. El gran problema a salvar es sustituir la funcionalidad que proporciona el acceso a datos de DataSnap. Para ello hay que escribir una buena librería tanto en PHP como en JavaScript que permita gestionar el flujo de JSON entre ambos extremos, con la misma eficacia que se gestionan los dataSet en Delphi. Yo he creado una que simula la funcionalidad de estos.

Un saludo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Utilizando Tethering en aplicaciones (VCL y FMX); XE6 Neftali [Germán.Estévez] Varios 9 30-04-2014 18:01:16
Programacion para celulares(telefonos moviles) en delphi pnsd_89 Varios 4 05-10-2007 22:49:31


La franja horaria es GMT +2. Ahora son las 18:59:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi