Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-11-2019
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.478
Poder: 21
newtron Va camino a la fama
Vale.


Y ahora, dentro de mi ignorancia, pregunto: ¿y no es mejor un entorno multiplataforma en el que se desarrolla una vez y se pueda instalar en cualquier dispositivo y/o sistema operativo? Algo parecido a Delphi si le incluyeran poder generar aplicaciones para la web.
__________________
Be water my friend.
Responder Con Cita
  #2  
Antiguo 05-11-2019
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.918
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Lo que pides es particularmente complicado de lograr. La web no es nada como el desarrollo nativo:
  1. Fue diseñada para mostrar documentos y se ha "torcido" pa que se hagan apps
  2. Corre en un entorno diferente: El browser
  3. Utiliza un model de "ui" bien hostil a la optimizacion: El DOM (document object model)
  4. Para interactuar, esta basado en JS, que es un lenguaje pésimamente diseñado (ver punto 1). Por ejemplo, NO TIENE INTEGERs!
  5. Debido a 1 su sistema de layout esta optimizado para documento. Solo hace poco se estandarizo un sistema de layout que se parece al que se usa en apps nativas: El CSS Grid.
Luego esta delphi, que tiene varios problemas, pero el principal

Varios de los frameworks para delphi en web intentan que el programador ignore la web y use delphi tal cual. Como si fuera lo mismo. QUE ES UN ERROR MONUMENTAL.
  1. El modelo MVC es un error en la web
  2. El model RAD (tal como lo conoces) es un error en la web
  3. El estilo de binding de dataset es un error en la web
  4. El uso de de "estado" local es problematico en la web.
  5. Los controles UI de Delphi no son como los de la web
  6. El uso de eventos para conectar la UI es subotpimo en la web. Y en general, no es buena idea (spaguetti)

---
Para que delphi "pinte" en la web:
  1. Debe compilar a webassembly. Como lenguaje sin GC, esta curiosamente muy bien posicionado para esto!
  2. Debe usar un "rad" MUY diferente. NO PUEDE usar controles VLC, o Firemonkey, ni su sistema de binding. Fail total
  3. Debe, como mínimo, usar layout CSS moderno (aka Grid o minimo Flex)
  4. Debe implementar un model como el de ELM: https://guide.elm-lang.org/architecture/ (que es una version mejor de React). Este es el modelo que mas posibilidades de usar para algo como Delphi, que ademas esta probado es correcto y da buen desempeño en browser
  5. Debe tener widgets Web, nada de nada como VLC o Firemonkey. Como diablos lograr eso seria de lo mas monumental.
O dicho de otra manera: Debe estar hecho por gente que sabe de web y quiere dar el mejor resultado, no por quienes saben de Delphi con vcl y quieren dar un resultado mediocre y perezoso.

Esto, por supuesto, asumiendo que sea algo visual estilo rad.

Si se limita a ser un servidor REST, es mas facil. Pienso que Delphi CASI esta bien ahi. Hace poco coji delphi y evalue que implicaria hacer un servidor rest. No es tan ideal. Delphi requiere:
  1. Mucho mejor historia de serializar y deserializar de tipos delphi desde/hacia JSON, XML, etc. Deberia ser tan cerca a 1-3 lineas a lo sumo.
  2. Poder implementar el servidor REST sin nada visual
  3. Tener un sistema de "routing" para armar las URLS
  4. Seria genial autogenerar un admin o la documentacion de las llamadas REST
  5. Debe soportar lo moderno de http, como http 2, SSL, etc
Lo mas parecido es lo que hace https://www.remobjects.com que basicamente es de lo mejor que llegue usar hace tiempo.
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 05-11-2019
Javierus Javierus is offline
Miembro
 
Registrado: jun 2017
Posts: 90
Poder: 7
Javierus Va por buen camino
Hola

Estoy de acuerdo en casi todo lo que dices; me parece un resumen (casi) magistral. De hecho, me voy a pasar tu post a un word para tenerlo a mano y muy en cuenta.

Pero hay en Delphi hay una herramienta que no conoces, y se llama mORMot. Con ella se cumplen todos los puntos que indicas:
  1. (de)serializar JSON es trivial, cero
  2. TODO es no visual
  3. Implementar un servidor REST es trivial
  4. Soporta http, https, websockets, REST en texto y binario
  5. Tiene un sistema de "routing" para armar las URLS

Y la propina:
  1. Open source
  2. Más de 30 desarrolladores contribuyen al código
  3. Más de 1500 desarrolladores lo utilizan
  4. Absolutamente SOLID, de cabo a rabo
  5. Optimizado, con muy alto rendimiento
  6. Trabajando cada día en entornos con millones de requests diarias
  7. Completamente TDD, tests unitarios por todas partes
  8. Si quieres usarlo, DDD, Domain Driven Design
  9. Sistema de acceso a B.D. que incluye nativo a Oracle, MSSQL, y otros; integra acceso por otros medios a todo lo demás: vía Zeos, vía OleDB, vía ODBC, y por último vía TDataSet a lo que no puedas acceder vía los otros medios. Correcto: no usa TDataSet internamente, para tener un rendimiento más alto
  10. Si quieres usarlo, tiene un ORM extremadamente potente que usa todo lo anterior, incluyendo REST sobre las tablas que desees

    Y muchas cosas más, pero lo dejo para no aburrir. Si a alguien le interesa, ya lo buscará

Cita:
Empezado por mamcx Ver Mensaje
Lo que pides es particularmente complicado de lograr. La web no es nada como el desarrollo nativo:[*]El modelo MVC es un error en la web
Si se limita a ser un servidor REST, es mas facil. Pienso que Delphi CASI esta bien ahi. Hace poco coji delphi y evalue que implicaria hacer un servidor rest. No es tan ideal. Delphi requiere:
  1. Mucho mejor historia de serializar y deserializar de tipos delphi desde/hacia JSON, XML, etc. Deberia ser tan cerca a 1-3 lineas a lo sumo.
  2. Poder implementar el servidor REST sin nada visual
  3. Tener un sistema de "routing" para armar las URLS
  4. Seria genial autogenerar un admin o la documentacion de las llamadas REST
  5. Debe soportar lo moderno de http, como http 2, SSL, etc
Lo mas parecido es lo que hace https://www.remobjects.com que basicamente es de lo mejor que llegue usar hace tiempo.
Responder Con Cita
  #4  
Antiguo 07-11-2019
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
Cita:
Empezado por newtron Ver Mensaje
Vale.


Y ahora, dentro de mi ignorancia, pregunto: ¿y no es mejor un entorno multiplataforma en el que se desarrolla una vez y se pueda instalar en cualquier dispositivo y/o sistema operativo? Algo parecido a Delphi si le incluyeran poder generar aplicaciones para la web.
Aunque es "un poco complejo", como lo menciona mamcx, la idea de arquitecturas como MVC es que comiences a volcar toda tu aplicación al servidor en el lenguaje que desees (algo que hoy permite Delphi y va a evolucionar)... puedes tener tu modelo y controladores en Delphi y dejas la vista (el cliente) mas ligero , para que puedas hacer y manetner un par de versiones de éste en diferentes lenguajes... cajas y botones como lo dices.

Javierus es un Fan de mORMot y yo por mi parte te recomiendo DMVC Framework (tal vez porque no conozco mORMot ), pero cualquiera de estas herramientas seguirá siendo una base Delphi si eso es lo que quieres...

Esa división es a lo que se apunta hoy... de ahi lo de solicitar desarrolladores FullSatack (que trabaje cliente y servidor)... antes hablar de Web era pensar en una sola herramienta porque desde ella se trabajaba todo, logica y presentación (que era enviada y refrescada por el lenguaje)... lo de hoy son servicios.


No te preocupes tanto por las hojas de estilo y el block de notas para programar... eso está cambiando y frameworks como Bootstrap y Material van a simplificar aun mas ese tema....

Yo por mi parte estoy estudiando Angular + TypeScript para el cliente (sin olvidar que hasta VCL puede ser un cliente), con DMVC Framework para el server...

JavaScript y CSS son el nuevo Assembler...

Suerte..!!
Responder Con Cita
  #5  
Antiguo 08-11-2019
Javierus Javierus is offline
Miembro
 
Registrado: jun 2017
Posts: 90
Poder: 7
Javierus Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Vale.
Y ahora, dentro de mi ignorancia, pregunto: ¿y no es mejor un entorno multiplataforma en el que se desarrolla una vez y se pueda instalar en cualquier dispositivo y/o sistema operativo? Algo parecido a Delphi si le incluyeran poder generar aplicaciones para la web.
Pero es que MVC y similar precisamente sirven para eso; son la forma de conseguir desarrollar una única vez todo lo que se pueda. No puedes hacer el mismo formulario de ficha de cliente para escritorio que para móvil que para web.

Puedes programar con FMX el formulario de móvil, y compilarlo para Android e iOS, si quieres, pero la forma de trabajar es un escritorio, con su teclado y gran pantalla, es tan distinta del móvil, que no sirve para trabajarlo en un móvil.

Luego, en Web, date cuenta de que pasa lo mismo: una cosa es la página web para escritorio, y otra la de móvil.

Y si me apuras, la tablet es otro formato distinto de escritorio y de móvil.
Y a saber qué nuevos formatos nos esperan

Y es eso uno de los pilares de MVC: abstraer la parte "inteligente" del formulario, de la presentación del mismo.

Igual que en su día, cada uno a su modo, fuimos extrayendo las reglas de negocio de los formularios y llevándolas a un punto central, esto vuelve a pasar en otra parte, y MVC (o sus primos MVP, MVVM, MVCVM, etc etc) es la mejor forma que conocemos de hacerlo
Responder Con Cita
Respuesta



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
velneo vs oracle vs MSSQL server erickperez6 Debates 1 26-08-2010 20:14:39
Velneo... y eso con que se come? felipe88 Varios 3 25-06-2008 20:13:32
Conoceis a Manolo? marcoszorrilla La Taberna 8 04-09-2007 14:50:31
Delphi Comparado con Velneo jmandrake Varios 2 08-05-2007 22:07:49
Conoceis alguna VCL para OCR jdiazan Varios 2 23-11-2005 07:41:34


La franja horaria es GMT +2. Ahora son las 09:12:12.


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