Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   La Taberna (https://www.clubdelphi.com/foros/forumdisplay.php?f=40)
-   -   Adios Delphi (https://www.clubdelphi.com/foros/showthread.php?t=95386)

newtron 09-09-2021 11:30:23

Adios Delphi
 
Hola a tod@s.

Como todos sabemos, el rumbo de la programación nos lleva a la conectividad y a que las aplicaciones se usen donde quieras y en el dispositivo que quieras pero mayormente en un navegador web.

Aunque Embarcadero ha hecho esfuerzos con el tema Android/iOS/Linux creo que para el tema web no tiene nada consistente y no le veo pinta de que solucionen eso en el futuro cercano por lo que estoy bastante decidido a usar otra herramienta de programación que permita esto porque la solución de hacer un "back-end" en Delphi y tener que usar algo tipo HTML/JavaScript/etc.. para el cliente no me convence demasiado por poco ágil y tristemente para intentar ser rentables tenemos que desarrollar rápido tal y como lo hacemos ahora con Delphi.

La verdad es que estoy hecho un lío con la herramienta a usar en el futuro porque todo tiene sus ventajas y sus inconvenientes pero en breve tendré que tomar una decisión entre lo estudiado y tristemente dejaré Delphi solo para mantener los proyectos actuales.

Las opciones que estamos manejando ahora mismo son principalmente dos:

- B4J+ABMaterial: Esta es una herramienta que programando en un lenguaje similar al Basic y con un framework llamado ABMaterial permite crear programas que se ejecutan en un navegador. Como ventaja tiene que es gratuito (admiten donaciones), tiene un IDE bastante decente y el lenguaje es Basic.
- Velneo: Seguro que muchos lo conocéis o habéis oido hablar de él. Como ventaja tiene que es un entorno integrado de desarrollo que agrupa una base de datos propia, el IDE permite crear formularios completos a partir de las tablas de las bases de datos y que relacionando todo bien te ahorras mucho trabajo. Como contras es algo caro, aparte de comprar la herramienta hay que pagar una cuota mensual fija y también cobran las licencias por usuario que instales.

Nada, os dejo aquí mis inquietudes por si os sirven para algo o queréis comentarlas.

Saludos

el-mono 10-09-2021 01:08:15

Le diste una mirada a ScriptCase ?

https://www.scriptcase.net/

En su momento me gusto muchisimo pero hace bastante no le doy una mirada, quizas te sirva.

PepCat 10-09-2021 08:25:12

Hola,

Para realizar aplicaciones web con Delphi tienes también estas dos opciones:

http://www.unigui.com/

https://www.tmssoftware.com/site/tmswebcore.asp

egostar 10-09-2021 15:52:11

Cita:

Empezado por newtron (Mensaje 542727)
::::::Nada, os dejo aquí mis inquietudes por si os sirven para algo o queréis comentarlas.::::::

Lamento tu decisión que si bien es muy lógica para "desarrollos nuevos" no lo es tanto para darle valor agregado a lo que ya se tiene desarrollado.

Mi experiencia; donde trabajo también tuvimos muchas reuniones para determinar el futuro de los productos que desarrollamos, en efecto, la parte Web es algo que piden los clientes y claro, los clientes son los que nos marcan la pauta de que hacer o dejar de hacer.

Finalmente y después de muchas alternativas se decidió hacer el back-end con Delphi y la vista de cliente con Web, hasta ahora después de 3 años de haber iniciado no nos hemos arrepentido de la decisión, seguimos manteniendo el sistema actual migrando lo que se tiene que migrar (Por ejemplo algunas cosas con BDE) y creando aplicaciones Web nuevas consumiendo los métodos del API la cual "copia" toda la lógica de negocio del sistema "padre".

Que beneficios hemos obtenido....

Por un lado el tiempo de desarrollo no impactó tanto a la hora de desarrollar los clientes Web ya que toda lo lógica de negocio, conexión a base de datos, procesos ya probados ya se tenían, solo se hicieron las llamadas para las vistas en web.

Por el otro se tiene visión a futuro, porque lo que se hace en el sistema padre se replica en el API con lo que se va migrado poco a poco a un modelo centralizado.

Ojala y sirva de algo lo que ya hemos hecho otros.

Saludos

newtron 10-09-2021 17:12:46

Gracias por vuestras sugerencias.



PepCat, en varias ocasiones he hecho pruebas con Unigui y la verdad es que no me daba la impresión de ser muy robusto, no sé, lo volveré a mirar con detenimiento.
el-mono, echaré un vistazo a lo que me pasas.
egostar, también evalue tu solución pero vi bastante engorroso ponerse a desarrollar una API para TODO lo necesario porque la idea es montar una aplicación web completa más que algún acceso para cosas muy concretas. ¿En qué desarrolláis el lado del cliente?


Gracias de nuevo y un saludo

egostar 10-09-2021 17:58:13

Cita:

Empezado por newtron (Mensaje 542763)
egostar, también evalue tu solución pero vi bastante engorroso ponerse a desarrollar una API para TODO lo necesario porque la idea es montar una aplicación web completa más que algún acceso para cosas muy concretas. ¿En qué desarrolláis el lado del cliente?

Entiendo, como comenté, si es algo nuevo que nada o muy poco tiene que ver con desarrollos ya creados, pues si, la evaluación va por otro camino.

Acá el equipo web utiliza Laravel, Vue.js y otras cosas que ahora mismo no recuerdo.

Saludos

mamcx 10-09-2021 22:41:42

En el area de html/js me ha ido superbien usando:

https://htmx.org

Esto permite programar toda la logica en el servidor y la interface actua como si hubiera sido hecho en vue/react. En otras palabras mandas HTML simple y la libreria lo transforma en JS dinamico. Es practicamente transparente y termine teniendo mucho mejor desempeño que cuando usaba vue.

https://tailwindcss.com

Para la parte de diseño mucho mejor que bootstrap y MIL VECES mas facil de personalizar y de generar tus propios componentes.

Con esto, tengo la logica toda 100% en Rust y de JS y CSS si acaso unas 20 o 30 lineas extras. Es increiblemente mas productivo (una vez le cojes el tiro)...

PepCat 11-09-2021 13:50:48

Yo me decidí en su día por uniGUI porque su librería de Componentes era lo más parecido a la librería VCL de Delphi y la curva de aprendizaje era menor. UniGUI utiliza la librería https://www.sencha.com/products/extjs/ que también es de embarcadero y uno de sus mejores componentes es sin duda el grid, que, en mi caso, son muy importantes.

Mi experiencia hasta ahora es muy buena, esto no quiere decir que adaptarse sea fácil, la programación web es otro paradigma comparado a la programación para desktop y siempre tienes que adaptarte a este nuevo entorno y no intentar emular todo lo que hacías con Desktop a la Web.

Todos sabemos que no tiene nada que ver trabajar con BBDD tipo local (dbase, paradox, Access, …) a trabajar con BBDD Cliente Servidor (Interbase, Firebird, SQL Server, …) y si alguno de vosotros ha intentado migrar una aplicación creada con una BBDD local a una, tipo cliente servidor, sabe que para nada es una tarea trivial. Pues en el caso de realizar una aplicación Web la situación es parecida (es mejor empezarla desde zero).

Cosas que me gustan de trabajar con uniGUI:
  • Todos los conocimientos del lenguaje Pascal/Delphi te sirven
  • Las librerías de componentes son “bastante” parecidos a los de la VCL
  • Soporte / Comunidad amigable y que ayuda (en inglés)
  • Mantenimiento periódico de la librería e incorporación de nuevas funcionalidades
  • Tu aplicación funciona en todos los dispositivos (PC, Mac, Chromebook, Linux, Rasberry Pi, iPad, …)
  • También tiene componentes para apps para dispositivos móviles (yo no los he probado)
  • No tiene costos de runtime
Las que no:
  • Tienes un costo adicional de adquisición y mantenimiento.
  • La aplicación final no es Stateless, por lo que el escalado es más complicado. Nota: en la próxima reléase se anunciado una nueva funcionalidad “Server Farm” por lo que prometen que el escalado
    podrá ser a muchos más miles de usuarios.

newtron 13-09-2021 09:28:30

Gracias a todos por vuestros comentarios.


La verdad es que este es un asunto en el que es fácil equivocarse y eso puede costar bastante tiempo, recursos y dinero, por eso me ha venido bien saber vuestras experiencias.


No sé por qué motivo las veces que he evaluado Unigui en el pasado me daba la impresión de que era un "parche" de producto pero veo que la gente que lo usa tiene buenas experiencias y en principio para mi es lo más sencillo rápido y económico así que de momento le echaré un vistazo más en serio.


Gracias de nuevo y un saludo.

mamcx 13-09-2021 17:19:02

Yo he cambiado decenas de veces lenguajes, tecnologias y paradigmas (https://www.reddit.com/r/programming...eb2x&context=3)

Asi que aunque uno mucho se enfoca en lenguajes, al final es MAS importante en datos (eso es lo que se deriva de la maxima del creador de Pascal).

Estos tips son mas utiles a largo, largo plazo:
  • Los datos dominan
  • Utiliza formatos simples para intercambiar datos (CSV, JSON, Sqlite, etc)
  • Expone esos datos y permite que otros componentes los puedan utilizar
  • Tu BD es mas importante que tu codigo. Si tu BD de datos es caos, es mejor que cambies esos que migrar codigo. Que el mundo "exterior" utilize llamadas "planas" para operar con ellos es lo ideal
  • Recuerda que las vistas y los procedimientos almacenados existen.
  • Por lo tanto usa un motor de BD solido como PostgreSQL, Firebird.
  • La UI cambia mas que la logica interna. La logica interna puedes hacerla en cualquier cosa que se integre facilmente en otros lenguajes (ej: Que permita exponer funciones usando el ABI de C, usando RPC, Web APIs, Pipes, etc).

El ultimo punto es una de mis mayores fortalezas. Todo lo que importa en mis apps se puede integrar con relativa facilidad usando PIPES de la terminal y/o BD sqlite yo paso BD sqlite asi como otros pasan JSON/XML. Eso significa que el Web API tiene en su GET forma de pedir JSON/sqlite y retornar los datos como si fueran una BD full, y eso significa que desde cualquier lenguaje puede hacer SELECT a eso. Es muy potente.

newtron 13-09-2021 19:55:53

Gracias mamcx.


Es un buen enfoque del asunto.


Saludos

lavtaro 16-09-2021 07:08:51

el mundo esta dominado por JavaScript , react native se base en java script y permite hacer aplicaciones web, móviles y hay métodos para crear aplicaciones de escritorio también, hay mucha documentación, en udemy cursos muy baratos, todo gratis además no es necesario pagar por ide de desarrollo ni nada.

Saludos y éxito en el cambio.

newtron 16-09-2021 10:06:52

lavtaro.


Gracias por tu respuesta, efectivamente el mundo web está dominado por javascript. El tema es buscar algo que sea productivo porque si no lo es será complicado hacerlo viable económicamente. Tenemos que recordar que el fin de todo programa es rentabilizarlo. Si con lo nuevo tardaré una semana en hacer lo que en Delphi tardo un día tendré problemas.


Saludos

luchin001 22-09-2021 17:11:02

probaste firedac + intraweb + boostrap en Delphi ? los resultados son geniales

newtron 23-09-2021 09:30:48

luchin001.


Le eché un vistazo en su día por encima a intraweb pero me deshabilitaba prácticamente todo de delphi menos sus componentes, inclusive el acceso a la base de datos que yo uso (ElevateDB) así que directamente pensé "uffffffffffffff...."


Gracias y un saludo

kurono 07-11-2021 07:14:48

no e visto a nadie hablar de Raudus es parecido uniGui y se puede hacer muchas cosas con el

fer21unmsm 14-12-2021 21:39:34

Wow, todavía sigue vivo el club delphi :D, me alegro. Ya Han pasado 15 años más o menos desde que me inicié con Pascal/Delphi. Ahora viendo otros temas, y veo a muchos viejos conocidos. Un saludo que os vaya de maravilla en este mundo de la programación.

Ñuño Martínez 28-12-2021 21:49:53

Aprovecho la ocasión para decir que también me lo he planteado. Aunque Pascal es uno de mis lenguajes favoritos he de reconocer que me gusta más QuickBASIC. Si no lo uso es porque ya no está disponible... ¡o eso pensaba!

Resulta que hace poco descubrí que existe QB64, un compilador* Quick BASIC para sistemas modernos. No es 100% compatible porque alguna cosa no funciona como antes, pero son sólo pocos detalles, muchos menos que con FreeBASIC. Además añade extensiones para sacar provecho de los sistemas modernos, como gráficos OpenGL, sonido digital y alguna cosilla más sin tener que pegarse con las interrupciones de DOS. Y encima el IDE es casi, casi idéntico al del bueno del Quick BASIC 4.5.

Bueno, en realidad no voy a dejar Pascal ni de coña, pero poder usar QB64 para ciertas cosas me llena de alegría. :)
______________________

* En realidad traduce a C y luego usa GCC para generar el ejecutable, pero bueno...

Casimiro Notevi 28-12-2021 22:11:48

Pensé que era una broma :)


Por cierto, me acabo de acordar, ¡¡¡FELICIDADES!!! ;)
^\||/^\||/^\||/

newtron 29-12-2021 09:36:35

Anda... ¡¡si es un Santo Inocente!!


FELICIDADES compañero.


La franja horaria es GMT +2. Ahora son las 06:54:28.

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