¿Qué es UNIGUI?
Tal y como explica en su web, UNIGUI es un entorno de trabajo (framework) para desarrollar aplicaciones webs con Delphi.
Una aplicación web no es una página web, no es contenido estático, no está pensado para que mucha gente entre concurrentemente, si no que está pensado en que la gente acceda a trabajar, a hacer uso intensivo de la aplicación y realizar modificaciones de datos.
Gracias a UNIGUI, puedes crear proyectos con Embarcadero Delphi o Embarcadero C++, es decir, todas aquellas versiones que nos encontramos en lo que comúnmente llaman RAD Studio.
Los proyectos que se crean pueden ser de tres tipos:
- Windows Service: puedes crear un servicio web que instalas en tu ordenador.
- Standalone Server: puedes crear una aplicación que tienes que ejecutar en tu ordenador (esto implica que tienes que tener sesión arrancada).
- ISAPI Module: creas un módulo ISAPI (Internet Services API) que puedes instalar en un servidor web, como IIS o Apache. Cuidado que debes de compilar el proyecto en la versión del servidor, es decir, 32 o 64 bits. En caso de no hacerlo, en IIS debes de activar la compatibilidad de 32 bits.
Bueno, muy bien todo esto, pero, ¿qué consigo con UNIGUI?. Consigo una aplicación RIA (rich Internet application) basada en el framework ExtJS de Sencha.
Para realizar una aplicación con Sencha tienes dos opciones:
- Descargas Sencha y haces llamadas Ajax a un backend (muy laboriosa y compleja)
- Instalas UNIGUI y pegas componentes en pantalla.
En mi caso, prefiero la segunda opción, es mucho más rápido y la más cómoda para mí.
¿Cómo instalo UNIGUI?
Es muy sencillo, lo primero que tienes que hacer es descargar una versión TRIAL desde la página de descargas de UNIGUI.
Se te descargará un ejecutable, por ejemplo, a mí se me ha descargado este: FMSoft_uniGUI_Complete_Professional_1.0.0.1410_Trial.exe
Lo primero que se me viene a mente es que el ejecutable descargado es la versión «Complete», «Profesional» y «Trial». Esta versión significa lo siguiente:
- Al ser Trial tiene limitaciones.
- Tiempo de sesión de 3 minutos.
- No incluye los DCU para compilar en 64 bits
- Aparecen mensajes aleatorios indicando que te encuentras en un trial.
- No permiten cambiar las etiquetas de los formularios.
- No vienen las herramientas de Test de Estrés, muy útil para saber cuantos usuarios concurrentes soporta tu servidor.
- Al ser Complete indica que trae la versión para móviles.
En su web tienes una matriz con todas las especificaciones
Una vez descargado el ejecutable y lo instalamos.
Nos pedirá acceso como administrador y sólo tenemos que seguir los pasos que nos indican.
Una vez lo tengamos instalado, pasamos a abrir Delphi.
En mi caso me ha instalado muchos grupos de proyectos en la carpeta C:\Program Files (x86)\FMSoft\Framework\uniGUI
Así pues, abrimos aquél que corresponda con nuestra versión de delphi, en mi caso es uniGUI_D10_2_Tokyo_PlusGroup.groupproj
Nos aparecerá muchos proyectos en nuestro Project Manager, vamos compilando e instalando pulsando en el botón derecho. Aquellos que requieren ser instalados tienen un icono diferente a los demás.
Una vez realizado esto, cerramos delphi y volvemos a abrirlo con UNIGUI ya instalado, podemos verlo aquí:
Ya lo tenemos compilado e instalado en nuestra versión de 32 bits.
Primer programa
De las opciones que nos apareen al crear un nuevo proyecto, elegimos Application Wizard. Ponemos nombre de aplicación y seleccionamos Standar Alone (más sencillo para comenzar).
Una vez se crea el proyecto, sólo tenemos que ejecutarlo, dar permisos al firewall y nos aparecerá un icono nuevo al lado del reloj de windows. Pulsamos sobre él con el botón derecho y pulsamos en Restore. Después sobre Manage y finalizamos en Server Monitor.
Esto nos abre la siguiente url: http://localhost:8077/server
Si quitamos el /server de la url, entonces entraríamos a la aplicación base:
Como puedes ver, es un formulario que puedes mover sobre la pantalla y puedes ir añadiendo controles desde tu propio Delphi.
Por ejemplo, vamos a poner algunos controles y un showmessage al hacer click en un checkbox:
Así se vería en Delphi y en el navegador.
De esta manera vemos qué podemos hacer con UNIGUI, es muy sencillo para aquellos que programamos en Delphi porque tenemos toda la potencia de Delphi en la web.
Si te gusta Delphi entonces te gustarán nuestros cursos sobre programación. Un ejemplo sería nuestro curso introductorio a Firemonkey donde aprenderás las bases para comenzar con buen pie con este framework para crear aplicaciones multiplataforma con Delphi.
Maria dice
Muchas gracias por el ejemplo. Me ha ayudado bastante en un primer contacto con UniGUI.
emiliopm dice
Gracias a tí por escribir, un saludo María y, cualquier cosa que necesites, pregúntame y te creo un post con un ejemplo.
Saludos.
RUBEN GALINDO dice
Hola, soy de Colima, México; he leído tu blog referente a UniGUI, me interesó bastante y me surge una duda, tengo un servidor Ubuntu, ¿podría ejecutar una aplicación Delphi/UniGUI en ese servidor?.
Lo pregunto porque leí este enlace (http://forums.unigui.com/index.php?/topic/4854-howto-deploy-unigui-on-ubuntu-server/) y necesito saber otras opiniones:
De antemano gracias por tu atención.
emiliopm dice
Buenas Rubén, oficialmente UNIGUI no puede ser ejecutado en Linux. Esto se encuentra en el roadmap de Unigui, pero no está realizado aún, puedes verlo en este enlace: http://forums.unigui.com/index.php?/topic/9027-delphi-2017-2018-roadmap/
Ahora bien, según el enlace que has puesto en el comentario, cuando lo miramos, lo que hace es ejecutar un compilado para windows en un linux a través de un emulador de windows (WINE). Eso no es compilado para linux.
Un saludo Rubén.
Francisco dice
Rubén.
Podrías hacer un proyecto ISAPI Module: creas un módulo ISAPI (Internet Services API) que puedes instalar en un servidor web, como IIS o Apache.
Sin importar el S.O mientras tengas Apache debería funcionarte.
Saludos Francisco desde Argentina
Ricardo Riso dice
Estimado buen día. En su experiencia, Unigui o intraweb?
Saludos
Emilio Pérez dice
Buenas Ricardo, llevo varios años desarrollando con Unigui, además dispongo de un equipo de dos personas más especializadas en esta tecnología.
Muchas gracias por escribir 🙂
Francisco dice
Hola. Primero enhorabuena por tus publicaciones, son de mucha ayuda. Me gustaría preguntarte si con UNIGUI se consiguen los mismos resultados que con las herramientas clásicas de programación para la web como PHP, JavaScript, etc o, al ser un framework de Delphi, tiene algún tipo de limitación o no es una herramienta óptima para este medio.
Gracias y un saludo
Emilio Pérez dice
En estos momentos unigui tiene problemas de escalabilidad y de despliegue (solo en Windows) y ambas cosas están trabajando en ello.
Podríamos decir que es una herramienta fullstack.
Un saludo y muchas gracias por comentar 🙂
mauricio dice
gostaria de saber como configurar para após a compilação no delphi xe8 o aplicativo execute automaticamente no browse para que eu não precise colocar no navegador o endereço http://localhost:8077 para ver a aplicação aparecer, tem alguma configuração para que o aplicativo apareca no browse assim que eu compilo
mauricio dice
aguardo a sua resposta e também como faco para o formulário se ajustar no navegador, por favor me ajude
genyus00 dice
Buenas.
1. UniGui es casi lo mismo que RAUDUS?
2. Para su concepto : Es mejor trabajar con IntraWeb o con UniGui?
3. Existe alguna limitación tecnológica con UniGui que no haya podido resolver?
Gracias
Francisco dice
Hola. Estoy haciendo pruebas con UNIGUI y tiene buena pinta pero me encuentro con un problema. Resulta que no se puede implementar código delphi en los eventos OnKeyDown, OnKeyPress, etc. de los componentes y hay que hacerlo con llamadas Ajax. ¿Es así o estoy equivocado?
Gracias y un saludo
Jim dice
Buena portal informativa e instructiva, gracias por el aporte
Elias Rodriguez dice
Buenas Tardes. Toda mi vida he programado para escritorio, ahora debo empezar web; con lo que acabo de leer la transición no es tan traumatica. Sin embargo ¿donde puedo encontrar mas información, como tutoriales o guías para comenzar?. Gracias