FMX Linux – Configuración
Seguro que los que estáis un poco al tanto de las noticias de Delphi, el titular de este artículo no os sorprenderá. Se ha publicado en los foros y grupos relacionados con Delphi. Ya tenemos una herramienta que nos permite añadir a la lista de plataformas de desarrollo para Delphi, algunas versiones de Linux (FMX Linux). Está disponible en la versión Architect y Enterprise de Delphi, y para el resto vía GetIt! se puede descargar en modo demo.
El paquete propone generar aplicaciones en FireMonkey con Delphi y utilizando FMX Linux, estas estarán disponibles en Linux (utilizando para ello en compilador para Linux de Embarcadero).
No tengo grandes conocimientos de Linux/Unix, así que me he propuesto para esta entrada intentar poner en marcha el paquete y conseguir generar un ejecutable en Linux con la documentación de la wiki de Embarcadero a ver si soy capaz. De esta forma evaluar también la dificultad de hacerlo para alguien con pocos conocimientos como yo.
Contenido
Primer Paso: Instalación vía GetIt!
Es la forma más sencilla de hacerlo, ya que el trabajo para nosotros es nulo. Seleccionamos el paquete en GetIt y pulsamos Install. El asistente se encargará una vez aceptada la licencia, de instalarlo, registrarlo y reiniciar el IDE para completar los últimos pasos.
No hay que esperar mucho para que el paquete se haya instalado sin problemas.
Una vez acabado, tal y como he comentado, el IDE se reiniciará.
Paso 2: Crear el “Connection Profile”
El “Connection Profile”, es la información que nos permite comunicar la máquina en la que estamos desarrollando con Delphi, con la máquina Linux donde vamos a realizar el Despliegue (y donde posteriormente instalaremos el PAServer).
Lo primero es identificar la nueva conexión, con un nombre y el sistema sobre el que estamos creando e nuevo perfil:
El siguiente pasos es definir la IP y el puerto de conexión junto con un password (opcional) si lo deseamos para la conexión.
Si necesitamos conocer la dirección IP de nuestra máquina Linux (en mi caso es una máquina Ubuntu en la misma red) podéis averiguar la IP con el comendo:
>> ip a list
Obtendremos una lista de los conectores de red instalador y entre sus propiedades podemos ver la IP configurada. El puerto se nos da predeterminado y salvo problemas no debemos cambiarlo.
En este punto y tal y como se ve en la penúltima imagen, si pulsamos sobre el botón de “Test Connection” obtendremos un error debido a que el PAserver no está instalado. En este paso no hay que hacer nada más. En el siguiente veremos cómo instalarlo y si todo es correcto, podremos volver a esta pantalla y testear de nuevo la conexión más adelante (cuando ya lo hayamos instalado).
Paso 3: Instalar PAServer en Linux
Para que el IDE de Delphi (en Windows) pueda “dialogar” con nuestra máquina Linux (Ubuntu en mi caso) debemos instalar el PAServer. Es la pieza que permite esta comunicación.
Los pasos detallados están en la docwiki de embarcadero.
Una vez instalado Delphi, en los directorios de instalación de Delphi hay fichero .tar con el programa, o más sencillo aun directamente desde la máquina Linux, descargarlo de la Web e instalarlo.
En mi caso lo he descargado directamente de la web, he descomprimido el fichero y lo he ejecutado. Nada más.
Si en este punto volvemos a realizar la comprobación anterior, en el asistente de “Connection Profiler”, debería darnos que la conexión ahora sí es correcta.
Paso 4: Añadr el SDK para Linux.
Para poder compilar proyectos en Linux, debemos (de forma similar a como se hace para otras plataformas como Android) añadir el SDK necesario para poder realizar la compilación. Este paso lo realiza de forma automática el asistente (SDK Manager) y sólo debemos seleccionar el SDK necesario.
Basta con acceder a Tools/Options/SDK Manager y desde ahí añadir uno nuevo.
Entre las plataformas disponibles, según la instalación que hayamos realizado tendremos (Windows, Android, Linux,…)
Basta seleccionar que queremos el SDK de Linux y pulsar OK.
Por defecto este SDK instala todo lo necesario para las aplicaciones que Delphi (“de fábrica”) genera para Linux. En este caso “FMX Linux” permite generar aplicaciones con parte gráfica, por lo tanto es necesario instalar las dependencias necesarias en la máquina Linux.
Estas dependencias podéis instalarlas con el siguiente comando:
sudo apt install libgl1-mesa-glx libglu1-mesa libgtk-3-common libgstreamer1.0 libgstreamer-plugins-base1.0
Tenéis la explicación de este paso en la docwiki de Embarcadero.
Una vez llegados a este punto ya tenemos el entorno preparado.
PASO 5: Compilar el proyecto para Linux
Ahora ya podemos abrir el proyecto que queramos ejecutar y pulsar sobre él con el botón derecho del ratón en el Inspector de Proyectos. Si todo ha ido bien, nos aparece una nueva opción “Add Linux Platform”.
Debemos seleccionar esta opción y una vez hecho esto, ya nos aparece la opción de Linux para definirla como “Target platform”.
Como no podía ser de otra forma mi primer proyecto para realizar las pruebas ha sido un “Hola mundo!”.
Una vez compilado y ejecutado el funcionamiento es el esperado. ;-D
Aquí tenéis unas imágenes del resultado.
Con este mismo proyecto he probado a realizar un Debug (paso a paso) del programa funcionando en Ubuntu y ha funcionado sin problemas.
Hasta aquí esta entrada que pretende ser introductoria. OS dejo al final algunos links relacionados con el tema. Como siempre comentarios, sugerencias, críticas constructivas son bienvenidas…
Recopilatorio de Links:
- Página en la docWiki de Embarcadero
- Video en youtube del paquete funcionando
- Video básico sobre primeros pasos (FMX Linux)
- Página web de FMXLinux
- Running platform Assitant en Linux (docWiki Embarcadero)
Y algunas referencias en blogs y webs:
- Delphi incorpora FMX Linux (Javier Pareja)
- FMXLinux para Delphi y RAD Studio (José Castillo Reyes)
- FMXLinux (posdcast) (No sólo Delphi)
- FMX for linux (Roger Cigol)
- First Steps with FMXLinux (Marco Cantu)
- FMX4Linux is coming, and we cant wait! (Jon L. Aasenden)
- FireMonkey Linux GUI Support Now Available (Code Partners)
- Announcing FmxLinux Bundling with Delphi and RAD Studio (Idera/Embarcadero)
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
No sé de dónde sacas el tiempo.
¡Gracias!
@casimiro
Bueno, cuesta sacarlo, pero al final vale la pena.
Se trata de aprender. probar, experimentar,…
Muy buen post Germán, todo muy bien explicado.
Por fin se puede programar para Linux con la misma facilidad que lo hacemos para otros sistemas
¡¡ que maravilla !!
@Javier Pareja
Gracias Javier.
Bueno, yo soy optimista, pero creo que no tanto como tú… ;-DD
Sigo haciiendo pruebas y aunque tiene buena pinta, aun hay cosas que parece que no funcionan del todo bien.
Pero bueno, poco a poco y pasito a pasito, es una opción más…
Excelente post, muy interesante.
Gracias por toda la información que publicas.
Saludos!!!