Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Noticias (https://www.clubdelphi.com/foros/forumdisplay.php?f=34)
-   -   Aplicaciones delphi para Linux, excelente (https://www.clubdelphi.com/foros/showthread.php?t=91357)

juniorSoft 14-01-2017 02:28:00

Aplicaciones delphi para Linux, excelente
 
Hola Amigos,

Se que muchos de nosotros lo esperamos con ansias ya que nuestras aplicaciones firemonkey funcionaran en linux de forma nativa, les comparto el link por si no lo han visto


https://community.embarcadero.com/bl...ux-development


Saludos,

AgustinOrtu 14-01-2017 06:13:08

Firemonkey? Que yo sepa el soporte para Linux que viene en Delphi Tokyo es solo aplicaciones de consola. El enfoque es puramente para la creacion de servidores, nada de GUI

Aca hay algo de feedback de la Beta

juniorSoft 14-01-2017 11:47:02

:confused::confused:

En el articulo que vi no especificaba que era solo para aplicaciones de consola aunque el ejemplo al final era de consola, supongo que es primer paso ya que esta beta es reciente es para berlin 10.1.2 y todo se hará a través del PAServer desarrollado para linux así que no creo que duren mucho tiempo sin adaptarlo a las aplicaciones visuales ya que es la tendencia, y si microsoft esta apostando por integrar todas sus aplicaciones a las demás plataformas de la competencia iría dejando a Delphi muy atras. Inicialmente las distribuciones de linux que la soportaran serán Ubuntu y RetHat.

Viendo el articulo que ofreciste al parecer esa es otra herramienta hecha por alguien que trabaja en embarcadero.

Saludos,

juniorSoft 14-01-2017 14:41:05

y si, se están dando los pasos para ello, según este articulo podemos irnos preparando para ver nuestras aplicaciones corriendo de forma nativa en linux

https://community.embarcadero.com/bl...ring-for-linux



AgustinOrtu 14-01-2017 22:44:03

Lo mismo, el enfoque es puramente para crear servicios y backends. A mi me parece lo mas acertado, siempre se extraño bastante el no poder crear un buen servidor en Linux con Delphi; estabamos obligados a montar toda la infraestructura en Windows y en este sector se sabe que el rey es Linux

jlrbotella 15-01-2017 19:22:29

No veo sentido crear aplicaciones en modo consola o crear módulos de apache para linux. La librería que actualmente existen para entorno Web tanto en PHP o Java están a años luz comparado con las de delphi, por lo que el desarrollo como backend y consola sigo sin verle sentido.

Considero que Delphi, debería tomarse más en serio la plataforma de .Net Core de Microsoft que es Open Source, así como corregir los bugs y mejorar la VCL, e intentar migrar el FireMonkey para que funcione con .Net Core.

Mientras tanto que siga mejorando la vcl y los bugs del IDE.

Un saludo:)

AgustinOrtu 15-01-2017 23:22:55

No se trata de modulos apache solamente. Se trata de "todo" menos Vcl o FMX. A mi me parece bastante lo que se puede hacer

Neftali [Germán.Estévez] 16-01-2017 10:35:11

Tal y como ha comentado Agustín, el enfoque de Embarcadero es el de crear aplicaciones que hagan de Servidores para DataSnap y para Backend.
No está previsto que se generen aplicaciones visuales para Linux.

Cita:

Empezado por jlrbotella (Mensaje 512359)
No veo sentido crear aplicaciones en modo consola o crear módulos de apache para linux.

Al contrario.
La mayoría de servidores existentes actualmente son máquinas Linux/Unix frente a máquinas Windows, y es un campo en el que Embarcadero no puede entrar actualmente.
Con esta nueva caractrística la idea es poder desarrollar Backend en Delphi/Builder para que aplicacionmes desarrolladas en cualquier otro lenguaje (no sólo Delphi/Builder) se puedan conectar.

Cita:

Empezado por juniorSoft (Mensaje 512349)
...y todo se hará a través del PAServer desarrollado para linux

El PAServer se usa para el Deployment de la aplicación, de forma similar a como se hace ahora con OSX/IOS.

Casimiro Notevi 16-01-2017 10:48:11

Para desarrollar nativamente para linux puedes usar lazarus.

Neftali [Germán.Estévez] 16-01-2017 17:35:35

Aquí está la explicación del Roadmap (en Inglés):

Coming Linux support, which we’ll soon start previewing. Having the ability of taking your server side code (Apache extensions, console applications, WebBroker projects, DataSnap server, RAD Server modules, custom middle-tier architectures), keep your data access components and deploy on Linux on-premise machines or cloud instances, will open up new possibilities for Delphi developers -- and C++Builder ones as well.

jlrbotella 17-01-2017 12:03:42

Si desarrollamos aplicaciones nativas en Linux, el Delphi debería poder cargar o importar las librerías de Linux, como si fuesen dll's en windows y poder reusar el código existente de Linux.

Por lo que veo, el próximo Delphi para Linux, no es capaz de llamar a estas librerías y tampoco las puede importar. Es como si el Delphi para Linux fuese un framework interno, que no puede relacionarse con las librerías en Linux.

Esto a mi entender es una pena, porque no somos capaces de poder trabajar con estas librerías.

También veo una pena, que el Rad Server, solo funciona con una base de datos de Interbase, y no es posible montarla sobre otro motor de base datos, como Mysql, Postgres, MariaDB, etc,, que soy muchos más potentes que Interbase y gratuitas.

Tampoco sabemos con que infraestructura funciona Rad Server a la hora de generar sevicios web, es decir, si detrás está un servidor Apache, o Nginx, o Tomcat, o usa un servidor web interno, algo que sería muy preocupante.

Por mi parte, la parte de servicios web y aplicaciones empresariales o multicapa, las desarrollo con Java y llamo a estor servicios desde Delphi. Y funciona bastante bien.

Neftali [Germán.Estévez] 17-01-2017 12:28:05

Cita:

Empezado por jlrbotella (Mensaje 512397)
También veo una pena, que el Rad Server, solo funciona con una base de datos de Interbase, y no es posible montarla sobre otro motor de base datos, como Mysql, Postgres, MariaDB, etc,, que soy muchos más potentes que Interbase y gratuitas.

Creo que estás equivocado en algunas de tus suposiciones.
Interbase es la Base de Datos que viene con Delphi/Builder (porque tiene que traer alguna), pero eso no quiere decir que no puedas trabajar con otros motores.

"Una imagen vale más que mil palabras", o eso dicen...



(Fíjate que además trae drivers nativos en muchas de ellas).

RAD Server se basa en FireDac, por lo tanto las conexiones a Base de Datos son las mismas...


jlrbotella 17-01-2017 14:39:32

Entiendo que el motor local de base de datos es Interbase y se puede conectar con cualquier base de datos. No?

Neftali [Germán.Estévez] 17-01-2017 15:52:12

Cita:

Empezado por jlrbotella (Mensaje 512403)
Entiendo que el motor local de base de datos es Interbase y se puede conectar con cualquier base de datos. No?

Puedes usar cualquier Base de Datos / cualquier SGBD.
Interbase es un SGBD como cualquier otro. No tienes porqué usarlo ni en la parte cliente ni en la parte servidor.

jlrbotella 17-01-2017 16:53:42

Gracias por la aclaración. Creí que cuando se instalaba el Rad Studio Server, instalaba el Interbase. Después ya podías conectarte con cualquier motor para implementar los servicios.

Neftali [Germán.Estévez] 17-01-2017 16:56:00

Cita:

Empezado por jlrbotella (Mensaje 512409)
Gracias por la aclaración. Creí que cuando se instalaba el Rad Studio Server, instalaba el Interbase. Después ya podías conectarte con cualquier motor para implementar los servicios.

Realmente no se si con la instalación lo instala o no. En todo caso la utilización es opcional.
El igual que cuando instalas Delphi o Builder, que durante la instalación te pregunta si quieres instalarlo o no, pero la decisión de instalarlo/utilizarlo es tuya.

AgustinOrtu 17-01-2017 21:59:06

Lo "unico" que no tiene Delphi para Linux es un Framework para crear GUI (ie Vcl o FMX). NADA te impide llamar a las APIs de linux para lograrlo. Obviamente que es muchisimo mas comodo desarrollar usando un Framework y no directamente con la API. Por ej. se puede evitar completamente la Vcl y crear una aplicacion windows programando a pelo con la API, que no es ni mas ni menos que el trabajo que hace la Vcl internamente

A eso me referia con que el soporte es para "todo", lo que le falta es un Framework para generar interfaz grafica. Pero todo lo que sea codigo RTL + DataSnap es portable directamente. Lo unico que no anunciaron (o yo no me entere) es si el compilador es ARC o no. Si es ARC quiza se deba tener en cuenta algunos puntos a la hora de migrar

Al González 17-01-2017 23:14:42

Que yo sepa ARC —Automatic Reference Counting— es y seguirá siendo sólo para dispositivos móviles. Aunque resulta tentador que lo fuera ya para todas las plataformas.

Casimiro: ¿Cómo es Lazarus en ese aspecto? ¿Los objetos usan contadores de referencias automáticos como lo hacen los valores String? ¿En qué plataformas? ¿Sólo en dispositivos móviles, igual que Delphi? Creo que sería interesante conocerlo.

Saludos. :)

AgustinOrtu 18-01-2017 02:15:18

Cita:

Empezado por Al González (Mensaje 512419)
Que yo sepa ARC —Automatic Reference Counting— es y seguirá siendo sólo para dispositivos móviles. Aunque resulta tentador que lo fuera ya para todas las plataformas

Embarcadero tiene dos problemas que impiden convertir los compiladores para Win32 y Win64 en compiladores ARC: el codigo existente que puede perder compatibilidad hacia atras; y problemas de performance. Performance sobre todo para servidores, en donde desde luego un manejo de la memoria "personalizado" seguro que es superior a uno "automatico"; sobre todo si eso implica usar operaciones thread-safe para ir incrementando y decrementando referencias, todo eso envuelto en un try-finally (lo cual genera mas y mas codigo maquina)

La unica razon por la cual el resto de los compiladores son ARC es porque los compraron asi

Yo tambien creo que lo mejor es que todos sigan el mismo esquema de memoria. Para el programador casual es inadvertido. Pero para los bibliotecarios es un problema. Basta con hurgar un poco en el propio codigo de la RTL, se ven bastantes condicionales {$IFDEF} ARC.

Y es que si bien es bastante transparente, a veces el modelo de memoria subyacente puede condicionar el codigo

mamcx 18-01-2017 17:42:57

Cita:

Empezado por AgustinOrtu (Mensaje 512422)
Embarcadero tiene dos problemas que impiden convertir los compiladores para Win32 y Win64 en compiladores ARC: el codigo existente que puede perder compatibilidad hacia atras; y problemas de performance. Performance sobre todo para servidores, en donde desde luego un manejo de la memoria "personalizado" seguro que es superior a uno "automático";

Lo del performance es falso. Es todo al revez.

Un recolector de basura es más eficiente para servidores que el reference counting o el manejo manual.

El problema de los GC es que (tal vez, depende del tipo que se use) introducen pausas y que consumen más memoria. Por eso, el modelo de ARC es ideal para móviles: No introduce pausas (que sería más notable en un equipo que casi en su totalidad funciona como interface de usuario) y consume menos memoria (que se traduce en mayor longevidad en la batería y economía de recursos).

Pero los GC son más eficientes en un entorno de servidor porque pueden operar en "batch" sobre un mayor rango de memoria (por ejemplo, sobre .NET), e incluso puede delegarse a un hilo aparte.

Esto conduce a la idea contra-intuitiva que Java arrasa en desempeño a otros entornos (osea, en workloads de servidor), porque tiene uno de los VM/GC mejor tuneados de la industria.

Esto es GC 101:
http://www.iecc.com/gclist/GC-faq.ht...on%20questions

http://www.memorymanagement.org/

----

Tengan en cuenta que un VM/GC vs manual es similar a un lenguaje alto nivel vs. assembler:

Asi como es posible que un humano escriba el mejor assembler posible, pero esto seria un humano MUY ESCASO y que en la realidad la *mayoria* seran derrotados por el assembler de un compilador decente <- porque este compilador decente a sido escrito por *ese tipo de humanos escasos*.

Entonces, un GC/VM derrota al promedio de los humanos a la hora de manejar la memoria. Mientras es posible escribir un código superior, hacerlo todo el tiempo correctamente es MUY dificil y escaso.

Ademas, aunque Delphi es mas de alto nivel que C/C++ sin perder su capacidad de ser eficiente tiene el problema de que carece de un protocolo/idioma universal como el RIIA, dejando en manos del programador promedio todo el proceso.


La franja horaria es GMT +2. Ahora son las 07:59:26.

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