Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Noticias (https://www.clubdelphi.com/foros/forumdisplay.php?f=34)
-   -   Delphi incorpora FMX Linux (https://www.clubdelphi.com/foros/showthread.php?t=94052)

Neftali [Germán.Estévez] 08-07-2019 11:44:17

Delphi incorpora FMX Linux
 


En su día ya hablamos en los foros de este paquete, cuando se estaba empezando a desarrollar y tan sólo había vídeos y estaba en fase beta (FMX Linux).
A día de hoy ya es oficial que en las versiones Architech y Enterprise de Delphi (por ahora) ya se incluye y está disponible para descarga.

Para los que no los conozcáis se trata de un paquete que permite generar, a partir de aplicaciones en Delphi desarrolladas con Firemonkey, ejecutables para Linux, incluyendo parte gráfica.
Lo más sencillo es ver un vídeo de los resultados que genera:


https://www.youtube.com/watch?v=Mvu2NxxqxGw


Si queréis hacer algunas pruebas, podéis descargar el paquete desde la web del autor (https://www.fmxlinux.com/) o directamente desde el IDE de Delphi (lo recomiendo) utilizando GetIt!.

Una vez instalado el paquete y configurado (no es algo muy complejo, ya que lo he hecho hasta yo con casi nulos conocimientos de Linux en un rato) nos aparece una nueva plataforma para compilar nuestros proyectos.
Los pasos son similares a como configuramos el entorno y el SDK para Android.
En la parte Linux es necesario instalar el PAServer y algunas dependencias.

Y hecho esto, voilà! Tenemos un proyecto Firemonkey ejecutando en Linux (en mi caso sobre Ubuntu 18.04)

Lo estoy probando con un poco de detalle y preparando una entrada para el blog, pero he de decir que la primera impresión ha sido positiva, tanto en la instalación y configuración, como en el resultado.


Algunas referencias en blogs y webs:
* Delphi incorpora FMX Linux (Javier Pareja)
http://delphimagic.blogspot.com/2019...fmx-linux.html
* FMXLinux para Delphi y RAD Studio (José Castillo Reyes)
http://josecastilloreyes.blogspot.co...ad-studio.html
* FMXLinux (posdcast) (No sólo Delphi)
https://nosolodelphi.com/52-fmxlinux...lta-de-emilio/
* FMX for linux (Roger Cigol)
https://cigolblog.wordpress.com/2019...fmx-for-linux/
* First Steps with FMXLinux (Marco Cantu)
http://blog.marcocantu.com/blog/2019...-fmxlinux.html
* FMX4Linux is coming, and we cant wait! (Jon L. Aasenden)
https://jonlennartaasenden.wordpress...-we-cant-wait/
* FireMonkey Linux GUI Support Now Available (Code Partners)
https://www.code-partners.com/firemo...now-available/
* Announcing FmxLinux Bundling with Delphi and RAD Studio (Idera/Embarcadero)
https://community.idera.com/develope...and-rad-studio
* Página web de FMXLinux
https://www.fmxlinux.com/

Casimiro Notevi 08-07-2019 12:18:50

Un pasito más :)

Lo he mirado rápido, y no sé si me ha parecido entender que hay que tener instalado un programa (paserver) para ejecutar lo generado con delphi, una especie de intérprete de código intermedio, o algo así. Vamos, que no genera ejecutables linux.

Neftali [Germán.Estévez] 08-07-2019 12:55:39

Cita:

Empezado por Casimiro Notevi (Mensaje 532666)
Un pasito más :)

Lo he mirado rápido, y no sé si me ha parecido entender que hay que tener instalado un programa (paserver) para ejecutar lo generado con delphi, una especie de intérprete de código intermedio, o algo así. Vamos, que no genera ejecutables linux.


Si genera ejecutables Linux.
El PAServer lo único que hace es comunicar la máquina donde desarrollas con la máquina Linux (la compilación se hace en la máquina Linux) para desplegar el ejecutable y permitir realizar Debug si lo necesitas.
Similar a como funciona el de iOS.


"You need to install the Platform Assistant on Linux to build and deploy Linux applications. PAServer enables you to use the Deployment Manager, import the Linux SDK, and perform remote debugging on a Linux system."


"Debe instalar Platform Assistant en Linux para construir e implementar aplicaciones de Linux. PAServer le permite usar el Administrador de implementación, importar el SDK de Linux y realizar una depuración remota en un sistema Linux."

Casimiro Notevi 08-07-2019 13:03:25

¿Entonces el paserver es solamente para programar?
Vale, leído.

Neftali [Germán.Estévez] 09-07-2019 09:03:29

Cita:

Empezado por Casimiro Notevi (Mensaje 532673)
¿Entonces el paserver es solamente para programar?

Realmente para programar no lo necesitas.

(1) Es en el momento de conectarte a Linux cuando debes crear la conexión (Connection Profile):





(2) Añadir/Instalar el SDK de Linux.


(3) Y en la parte de Linux, instalar el PAServer

Con esto, cuando lanzas la compilación en Linux, el IDE se conecta a Linux (en realidad al PAServer que está ejecutando) con los parámetros que le has dado y genera el ejecutable y lo lanza.

dec 09-07-2019 09:37:14

Hola a todos,

Una estupenda noticia, sin duda. :)

Ñuño Martínez 09-07-2019 11:05:32

La verdad es que no entiendo por qué se complican tanto. O sea, ¿un programa para conectarte con Linux? ¿Qué tiene de malo SSH, o cualquiera de las otras tecnologías que ya están implementadas y comprobadas desde hace décadas? ¿Y por qué no genera el ejecutable directamente sin intermediarios? O sea, un compilador, como hace Free Pascal.

En serio que no lo entiendo.

Casimiro Notevi 09-07-2019 11:25:20

Cita:

Empezado por Ñuño Martínez (Mensaje 532692)
La verdad es que no entiendo por qué se complican tanto. O sea, ¿un programa para conectarte con Linux? ¿Qué tiene de malo SSH, o cualquiera de las otras tecnologías que ya están implementadas y comprobadas desde hace décadas? ¿Y por qué no genera el ejecutable directamente sin intermediarios? O sea, un compilador, como hace Free Pascal.
En serio que no lo entiendo.

El mismo Lazarus, que corre en linux y windows, y son cuatro gatos voluntarios.

Neftali [Germán.Estévez] 09-07-2019 15:04:59

Cita:

Empezado por Ñuño Martínez (Mensaje 532692)
La verdad es que no entiendo por qué se complican tanto. O sea, ¿un programa para conectarte con Linux? ¿Qué tiene de malo SSH, o cualquiera de las otras tecnologías que ya están implementadas y comprobadas desde hace décadas? ¿Y por qué no genera el ejecutable directamente sin intermediarios? O sea, un compilador, como hace Free Pascal.

Delphi es una herramienta que corre en Linux.
El procedimiento es igual que para el resto de plataformas.
El PAServer permite conectarse con el sistema donde se va a ejecutar la apicación, para realizar el Deployment y el Debug, por ejemplo.

No entiendo lo que quieres decir con SSH. Entiendo que SSH es un protocolo, no un programa de conexión. Es posible que PAServer utilice SSH, no lo se, pero creo que son cosas diferentes. O tal vez me estoy liando.

El caso es diferente a Lazarus. Entiendo que Lazarus corre en linux, por lo tanto compila en Linux directamente. El caso de Delphi es diferente, porque tienes una aplicación que está corriendo en Windows que tiene que generar un ejecutable para Linux. Desconozco si eso se puede hacer directamente desde windows, imagino que no.

yeyo 09-07-2019 15:15:16

Cita:

Empezado por Ñuño Martínez (Mensaje 532692)
La verdad es que no entiendo por qué se complican tanto. O sea, ¿un programa para conectarte con Linux? ¿Qué tiene de malo SSH, o cualquiera de las otras tecnologías que ya están implementadas y comprobadas desde hace décadas? ¿Y por qué no genera el ejecutable directamente sin intermediarios? O sea, un compilador, como hace Free Pascal.

En serio que no lo entiendo.

pudiera ser porque con el paserver el debugger del IDE funciona. Puedes hacer debug de la aplicación, yo lo probé con un Mac hace tiempo. Con otra tecnología no sé si podrían.

egostar 09-07-2019 15:36:13

Cita:

Empezado por Ñuño Martínez (Mensaje 532692)
La verdad es que no entiendo por qué se complican tanto. O sea, ¿un programa para conectarte con Linux? ¿Qué tiene de malo SSH, o cualquiera de las otras tecnologías que ya están implementadas y comprobadas desde hace décadas? ¿Y por qué no genera el ejecutable directamente sin intermediarios? O sea, un compilador, como hace Free Pascal.

En serio que no lo entiendo.

Contrario a tu duda, a mi me parece una forma excelente de atacar la multiplataforma, puedes depurar y ejecutar cualquier plataforma no sólo Linux. Lazarus puede instalarse en varias plataformas, pero personalmente prefiero un solo IDE para todo y no un IDE por plataforma.

Cuestión de gustos. Ni todo está mal, ni todo está bien. Todo es según el cristal con que se mira.

Saludos

Casimiro Notevi 09-07-2019 16:54:42

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 532695)
El PAServer permite conectarse con el sistema donde se va a ejecutar la apicación, para realizar el Deployment y el Debug

Dejando aparte de que es una buena noticia, que Delphi va ampliándose cada vez más abarcando más sistemas, y eso está muy bien.
Lo que me extraña es que una empresa "grande" tarde tanto en hacer algo que alguien pequeño (un grupo de voluntarios) lo hace mucho más rápido y amplio, hace años que lazarus tiene un IDE para diversos sistemas operativos, 32 y 64 bits, etc.

Cita:

Empezado por egostar (Mensaje 532697)
Contrario a tu duda, a mi me parece una forma excelente de atacar la multiplataforma, puedes depurar y ejecutar cualquier plataforma no sólo Linux. Lazarus puede instalarse en varias plataformas, pero personalmente prefiero un solo IDE para todo y no un IDE por plataforma.
Cuestión de gustos. Ni todo está mal, ni todo está bien. Todo es según el cristal con que se mira.

Imagina que usas Delphi y solamente creas aplicaciones linux, necesitas por fuerza windows para ejecutar el IDE, no es lógico.
Por eso creo que la idea de lazarus es mucho mejor, un mismo IDE que lo compilan para distintos sistemas operativos.

egostar 09-07-2019 17:21:15

Cita:

Empezado por Casimiro Notevi (Mensaje 532698)
magina que usas Delphi y solamente creas aplicaciones linux, necesitas por fuerza windows para ejecutar el IDE, no es lógico.
Por eso creo que la idea de lazarus es mucho mejor, un mismo IDE que lo compilan para distintos sistemas operativos.

Ya lo he dicho. Cuestión de gustos. A mi me gusta un solo IDE para todo.

Hasta ahora los que desarrollan en Linux seguiran usando lazarus. Pero los que usamos Delphi ya tenemos una plataforma más. Eso .es lo relevante.

Saludos

mamcx 09-07-2019 18:03:36

Cita:

Empezado por Casimiro Notevi (Mensaje 532698)
Imagina que usas Delphi y solamente creas aplicaciones linux, necesitas por fuerza windows para ejecutar el IDE, no es lógico.

Y tampoco da buena imagen: "Delphi no es capaz de tener su IDE en linux?" es la impresion.

"Eat your own dogfood" es muy importante sobre todo para compiladores.

Pero por otro lado les ayuda a llegar más rápido a su destino.

Creo que si dijeran "Estamos proyectando una solución a futuro para correr todo en multi-platform y PA Server es parte de ello" seria suficiente.

---

Viendo como ocurre con MS:

- Tuvieron que rehacer .NET para prepararlo para otras plataformas. Tenían un MONTON de cosas amarradas a win32 que hasta pensaron que iban a tener varios .NET diferentes (ahora vieron que mejor tienen uno solo y diferencia con unas librerías)
- Luego adquirieron Xamarin. La importancia mayor fue el mensaje "estamos llendo por donde es"
- Luego hicieron un editor de texto (Visual Studio Code) totalmente multiplataforma que se posiciono rapidísimo como de los mas populares. Eso les dio mucho shampoo
- Luego en base al IDE de xamarin sacaron Visual Studio Mac. No estaba nada mal! Ahora estan casi parejos con Visual Studio Windows.

Pienso que el problema que tienen es precisamente que .NET y Delphi no es " algo pequeño " de unos pocos cuantos. Mientras mas grande el barco mas duro es girarlo.

dec 09-07-2019 18:24:48

Hola a todos,

Aquí mis diez céntimos. :) Tal vez Delphi pueda y aun deba correr en otros sistemas operativos además de Microsoft Windows. Yo, como humilde usuario de Windows, tengo que decir que el "PAServer" famoso me hizo esbozar una sonrisa de felicidad cuando lo usé para probar a correr un programa en Mac OS. Es eso de que compilas... y ahí está tu programa funcionando... tal como esperas... rápida y eficazmente. La verdad, me dejó gratamente sorprendido. Personalmente, me alegro de que Delphi soporte cada vez más plataformas.

Por otro lado, es una pena que Firemonkey no pueda compararse con la VCL en número y calidad de componentes. Llevo un tiempo trabajando en un nuevo proyecto, y, he tenido que decantarme por la VCL (aunque esta vez pensando ya también en 64 bits, además de 32 bits) y no por Firemonkey, como no me hubiera importado: pero los componentes que necesito ya existen en la VCL... y reconozco que yo no sería capaz de portarlos a Firemonkey. Ojalá sea cuestión de tiempo avanzar en este aspecto.

No obstante, cabe decir que se incorporan ya no pocos componentes en Firemonkey, es decir, que, desde luego, algunos programas, podrán bastarse con los componentes existentes, siendo aconsejable entonces dejar de lado la VCL, puesto que no cabe duda de que ofrecer nuestro programa para Microsoft Windows, Mac OS y ahora también GNU/Linux, puede resultar muy interesante. Yo estoy deseando que Delphi soporte 64 bits en Mac OS... porque dan ganas de programar TAMBIÉN para este sistema. :)

Casimiro Notevi 09-07-2019 18:53:25

Bien, lo dicho: poco a poco :)

Neftali [Germán.Estévez] 10-07-2019 08:49:18

Cita:

Empezado por yeyo (Mensaje 532696)
pudiera ser porque con el paserver el debugger del IDE funciona. Puedes hacer debug de la aplicación, yo lo probé con un Mac hace tiempo. Con otra tecnología no sé si podrían.


Correcto.
El PAServer sirve para realizar el "Deployment", pero también el Debug, que por cierto probé ayer y funciona muy bien.
La idea (imagino) es seguir la misma forma de trabajo que en otras plataformas.

Neftali [Germán.Estévez] 10-07-2019 09:06:37

Cita:

Empezado por Casimiro Notevi (Mensaje 532698)
Lo que me extraña es que una empresa "grande" tarde tanto en hacer algo que alguien pequeño (un grupo de voluntarios) lo hace mucho más rápido y amplio, hace años que lazarus tiene un IDE para diversos sistemas operativos, 32 y 64 bits, etc.

Imagina que usas Delphi y solamente creas aplicaciones linux, necesitas por fuerza windows para ejecutar el IDE, no es lógico.
Por eso creo que la idea de lazarus es mucho mejor, un mismo IDE que lo compilan para distintos sistemas operativos.


Bueno, hace tiempo en alguna reunión con gente de Embaracdero, ya dejaron claro que su idea no era portar el IDE a multiplataforma. Tienen claro que esa no es su camino.

Lo que yo ya no se si eso es "correcto" o no.


Cita:

Empezado por Casimiro Notevi (Mensaje 532698)
Imagina que usas Delphi y solamente creas aplicaciones linux, necesitas por fuerza windows para ejecutar el IDE, no es lógico.
Por eso creo que la idea de lazarus es mucho mejor, un mismo IDE que lo compilan para distintos sistemas operativos.


En ese caso te diría que Delphi no es la herramienta adecuada.


No olvidemos que esto en un proyecto particular que Embarcadero ha "adoptado" en parte y que si no me equivoco es de la gente que en su día estuvo vinculada a lo que finalmente fue FireMonkey. Tampoco se si tiene mucho recorrido y si es "viable" para proyectos grandes, pero imagino que puede ser un comienzo.

Neftali [Germán.Estévez] 10-07-2019 09:10:45

Cuando puse la noticia, estaba preparando una entrada para el blog.
Las imágenes y los links los extraje de ella, pero en su momento no la puse porque no estaba completa.

Esta mañana la he publicado.
Os dejo el link, porque alguien quiere revisarla completa (al final es una ampliación de lo que hemos hablado aquí e instrucciones para poner el "tinglado" en marcha).

FMX Linux - Configuración


Neftali [Germán.Estévez] 10-07-2019 09:54:48

Si alguien quiere más info, ayer hubo un Webminar al respecto.






La franja horaria es GMT +2. Ahora son las 13:06:17.

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