Generador de aplicaciones
4D incluye un generador de aplicaciones para crear un paquete de proyecto (versión final). Este generador simplifica el proceso de finalización y despliegue de las aplicaciones compiladas en 4D. Maneja automáticamente las funcionalidades específicas de los distintos sistemas operativos y facilita el despliegue de aplicaciones cliente-servidor.
El generador de aplicaciones le permite:
- Crear una estructura o componente compilado, sin código interpretado,
- Generar una aplicación autónoma ejecutable, es decir, fusionada con 4D Volume Desktop, el motor de base de datos 4D,
- Generar diferentes aplicaciones a partir de la misma estructura compilada mediante un proyecto XML,
- Generar aplicaciones cliente-servidor homogéneas,
- Generar aplicaciones cliente-servidor con actualización automática de los componentes del cliente y del servidor.
- Guardar sus parámetros de generación para su uso futuro (botón Guardar los parámetros).
Las aplicaciones compiladas se basan en archivos .4dz que son de sólo lectura. Tenga en cuenta que el uso de comandos o funciones que modifican los archivos fuente (como
CREATE INDEX
oCREATE TABLE
(SQL)) no es posible por defecto en las aplicaciones compiladas. Sin embargo, puede crear aplicaciones específicas que soporten modificaciones locales utilizando la llave XMLPackProject
(ver doc.4d.com).
Generalidades
Generar un paquete de proyecto puede realizarse utilizando:
- ya sea con el comando
BUILD APPLICATION
, - o con el diálogo Generar aplicación.
También puede descargar y utilizar Build4D
, un componente que ofrece clases para compilar, crear y firmar proyectos 4D, incluso desde una aplicación sin interfaz.
Diálogo crear aplicación
Para mostrar la caja de diálogo Generar la aplicación, seleccione Diseño > Generar aplicación... en la barra de menús.
La caja de diálogo del generador de aplicaciones incluye varias páginas a las que se puede acceder mediante pestañas:
La generación sólo puede efectuarse una vez compilado el proyecto. Si selecciona este comando sin haber compilado previamente el proyecto, o si el código compilado no se corresponde con el código interpretado, aparece una caja de diálogo de advertencia que indica que el proyecto debe ser (re)compilado.
buildApp.4DSettings
Cada parámetro de generación de la aplicación se almacena como una llave XML en el archivo de proyecto de la aplicación llamado buildApp.4DSettings
, ubicado en la carpeta Settings
del proyecto.
Los parámetros por defecto se utilizan la primera vez que se utiliza la caja de diálogo del Generador de aplicaciones. El contenido del archivo proyecto se actualiza, si es necesario, al hacer clic en Construir o Guardar los parámetros. Puede definir varios archivos de parámetros XML para el mismo proyecto y utilizarlos con el comando BUILD APPLICATION.
Las llaves XML ofrecen opciones adicionales a las que se muestran en la caja de diálogo del Generador de aplicaciones. La descripción de estas llaves se detalla en el manual 4D XML Keys BuildApplication.
Archivo de historial
Cuando se crea una aplicación, 4D genera un archivo de registro llamado BuildApp.log.xml en la carpeta Logs del proyecto. El archivo de historial almacena la siguiente información para cada generación:
- El inicio y el fin de la generación de objetivos,
- El nombre y la ruta de acceso completa de los archivos generados,
- La fecha y la hora de la generación,
- Todos los errores que se han producido,
- Todo problema de firma (por ejemplo, un plug-in no firmado).
La verificación de este archivo puede ayudarle a ahorrar tiempo durante los siguientes pasos de despliegue, por ejemplo, si tiene la intención de notarizar su aplicación.
Utilice el comando
Get 4D file(Build application log file)
para obtener la ubicación del archivo de registro.
Nombre de la aplicación y carpeta de destino
Introduzca el nombre de la aplicación en Nombre de la aplicación.
Especifique la carpeta para la aplicación generada en la Carpeta de destino. Si la carpeta especificada no existe todavía, 4D creará una carpeta Build.
Página de estructura compilada
Esta pestaña le permite generar un archivo de estructura compilado estándar y/o un componente compilado:
Generar una estructura compilada
Genera una aplicación que sólo contiene código compilado.
Esta funcionalidad crea un archivo .4dz en una carpeta Compiled Database/<project name>
. Por ejemplo, si ha llamado a su aplicación "MyProject", 4D creará:
<destination>/Compiled Database/MyProject/MyProject.4dz
Un archivo .4dz es esencialmente una versión comprimida (empaquetada) de la carpeta del proyecto. Un archivo .4dz es esencialmente una versión comprimida (empaquetada) de la carpeta del proyecto. El tamaño compacto y optimizado de los archivos .4dz hace que los paquetes de proyectos sean fáciles de desplegar.
Al generar archivos .4dz, 4D utiliza por defecto un formato zip estándar. La ventaja de este formato es que es fácilmente legible por cualquier herramienta unzip. Si no quiere utilizar este formato estándar, añada la llave XML
UseStandardZipFormat
con valorFalse
en su archivobuildApp. DSettings
(para más información, vea el manual 4D XML Keys BuildApplication).
Incluir las carpetas asociadas
Cuando se marca esta opción, todas las carpetas relacionadas con el proyecto se copian en la carpeta Build como carpetas Components y Resources. Para más información sobre estas carpetas, consulte la descripción de la arquitectura del proyecto.
Generar un componente
Genera un componente compilado a partir de la estructura.
Un componente es un proyecto estándar 4D en el que se han desarrollado funcionalidades específicas. Una vez configurado e instalado en otro proyecto 4D (el proyecto de la aplicación local), sus funcionalidades son accesibles desde el proyecto local.
Si ha llamado a su aplicación, MiComponente, 4D creará una carpeta Components que contiene la carpeta MiComponente.4dbase:
<destination>/Components/MyComponent.4dbase/MyComponent.4DZ
.
La carpeta MyComponent.4dbase contiene:
- archivo MyComponent.4DZ
- Una carpeta Resources: todos los resources asociados se copian automáticamente en esta carpeta. Los otros componentes y/o carpetas de plugins no se copian (un componente no puede utilizar plugins u otros componentes).
La carpeta MyComponent.4dbase es la carpeta del paquete del componente compilado.
Página Application
Esta pestaña le permite crear una versión autónoma y monopuesto de su aplicación:
Crear una aplicación autónoma
Al marcar la opción Crear una aplicación autónoma y hacer clic en Generar se creará una aplicación autónoma (con doble clic) directamente desde su proyecto de aplicación.
Los siguientes elementos son necesarios para la creación:
- 4D Volume Desktop (el motor de la base de datos 4D),
- una licencia apropiada
En Windows, esta función crea un archivo ejecutable (.exe). En macOS, se encarga de la creación de paquetes de software.
El principio consiste en fusionar un archivo de estructura compilado con 4D Volume Desktop. Las funcionalidades ofrecidas por el archivo 4D Volume Desktop están relacionadas con la oferta de productos a la que se ha suscrito. Las funcionalidades ofrecidas por el archivo 4D Volume Desktop están relacionadas con la oferta de productos a la que se ha suscrito.
Puede definir un archivo de datos predeterminado o permitir a los usuarios crear y utilizar su propio archivo de datos.
Es posible automatizar la actualización de aplicaciones fusionadas de un solo usuario mediante una secuencia de comandos de lenguaje.
Ubicación de 4D Volume Desktop
Para crear una aplicación autónoma, primero debe designar la carpeta que contiene el archivo 4D Volume Desktop:
- Windows - la carpeta contiene los archivos 4D Volume Desktop.4DE, 4D Volume Desktop. RSR, así como varios archivos y carpetas necesarios para su funcionamiento. Estos elementos deben colocarse al mismo nivel que la carpeta seleccionada.
- macOS - 4D Volume Desktop se entrega en forma de un paquete de software estructurado que contiene varios archivos y carpetas genéricos.
Para seleccionar la carpeta 4D Volume Desktop, haga clic en el botón [...]. Aparece una caja de diálogo que le permite designar la carpeta de 4D Volume Desktop (Windows) o el paquete (macOS).
Una vez seleccionada la carpeta, se muestra su ruta completa y, si realmente contiene 4D Volume Desktop, se activa la opción de generación de una aplicación ejecutable.
El número de versión de 4D Volume Desktop debe coincidir con el número de versión de 4D Developer Edition. Por ejemplo, si utiliza 4D Developer v18, debe seleccionar un 4D Volume Desktop v18.
Modo de enlace de datos
Esta opción permite elegir el modo de enlace entre la aplicación fusionada y el archivo de datos local. Hay dos modos de enlazar disponibles:
-
Por nombre de la aplicación (por defecto) - La aplicación 4D abre automáticamente el archivo de datos abierto más recientemente correspondiente al archivo de estructura. Esto le permite mover el paquete de aplicaciones libremente en el disco. Esta opción debería usarse generalmente para aplicaciones fusionadas, a menos que necesite específicamente duplicar su aplicación.
-
Por ruta de la aplicación - La aplicación 4D fusionada analizará el archivo lastDataPath.xml de la aplicación e intentará abrir el archivo de datos con un atributo "executablePath" que coincida con la ruta completa de la aplicación. Si se encuentra una entrada de este tipo, se abre su correspondiente archivo de datos (definido a través de su atributo "dataFilePath"). Si se encuentra una entrada de este tipo, se abre su correspondiente archivo de datos (definido a través de su atributo "dataFilePath").
Para más información sobre el modo de vinculación de datos, consulte la sección Último archivo de datos abierto.
Archivos generados
Al hacer clic en el botón Generar, 4D crea automáticamente una carpeta Final Application en la carpeta de destino definida. Dentro de la carpeta Final Application hay una subcarpeta con el nombre de la aplicación especificada.
Si ha especificado "MyProject" como nombre de la aplicación, encontrará los siguientes archivos en esta subcarpeta (MyProject):
- Windows
- MyProject.exe - Su ejecutable y un MyProject.rsr (los recursos de la aplicación)
- Las carpetas 4D Extensions y Resources, varias librerías (DLL), la carpeta Native Components y SASL Plugins - Archivos necesarios para el funcionamiento de la aplicación
- Una carpeta Database - Incluye una carpeta Resources y un archivo MyProject.4DZ. Constituyen la estructura compilada del proyecto, así como también la carpeta Resources. Nota: esta carpeta también contiene la carpeta Default Data, si se ha definido (ver Gestión de archivos de datos en las aplicaciones finales.
- (Opcional) Carpeta de componentes y/o carpeta Plugins - Contiene todos los componentes y/o archivos de plugins incluidos en el proyecto. Para más información sobre este punto, consulte la sección Plugins y componentes.
- Carpeta Licenses - Un archivo XML de números de licencia integrados en la aplicación. Para obtener más información sobre este punto, consulte la sección Licencias y certificados.
- Elementos adicionales añadidos a la carpeta 4D Volume Desktop, si los hay (ver Personalizar la carpeta 4D Volume Desktop).
Todos estos elementos deben estar en la misma carpeta para que el ejecutable funcione.
- macOS
- Un paquete de software llamado MyProject.app que contiene su aplicación y todos los elementos necesarios para su funcionamiento, incluyendo los plug-ins, componentes y licencias. Para más información sobre la integración de plug-ins y componentes, consulte la sección Plugins y componentes. Para obtener más información sobre la integración de licencias, consulte la sección Licencias y certificados. Nota: en macOS, el comando Application file del lenguaje 4D devuelve la ruta del archivo ApplicationName (ubicado en la carpeta Contents:macOS del paquete de software) y no la del archivo .comp (carpeta Contents:Resources del paquete de software).
Personalizar la carpeta 4D Volume Desktop
Cuando se construye una aplicación independiente, 4D copia el contenido de la carpeta 4D Volume Desktop en la carpeta Destination > Final Application. A continuación, podrá personalizar el contenido de la carpeta 4D Volume Desktop original según sus necesidades. Puede, por ejemplo:
- Instalar una versión de 4D Volume Desktop correspondiente a un lenguaje específico;
- Añadir una carpeta PlugIns personalizada;
- Personalizar el contenido de la carpeta Resources.
The macOS packages built contain the same items as the Windows subfolders. You can display their contents (Control+click on the icon) in order to be able to modify them.
Ubicación de los archivos web
Si su aplicación ejecutable se utiliza como servidor web, los archivos y los archivos y carpetas requeridos por el servidor deben instalarse en ubicaciones específicas. Estos elementos son los siguientes:
- archivos cert.pem y key.pem (opcional): etos archivos se utilizan para las conexiones TLS y por los comandos de encriptación de datos,
- carpeta raíz web por defecto.
Los elementos deben ser instalados:
- En Windows: en la subcarpeta Final Application\MyProject\Database.
- En macOS: junto al paquete de software MyProject.app.
Página Cliente/Servidor
En esta pestaña, usted puede construir aplicaciones cliente y servidor personalizadas que son homogénicas, multiplataforma y con una opción de actualización automática.
¿Qué es una aplicación cliente/servidor?
Una aplicación cliente/servidor proviene de la combinación de tres elementos:
- Un proyecto 4D compilado,
- La aplicación 4D Server,
- La aplicación 4D Volumen Desktop (macOS y/o Windows).
Una vez generada, una aplicación cliente/servidor se compone de dos partes personalizadas: la parte Servidor (única) y la parte Cliente (a instalar en cada máquina cliente).
Si desea desplegar una aplicación cliente/servidor en un entorno heterogéneo (aplicaciones cliente ejecutándose en máquinas Intel/AMD y Apple Silicon), se recomienda compilar el proyecto para todos los procesadores en una máquina macOS, para que todas las aplicaciones clientes funcionen de forma nativa.
Además, se personaliza la aplicación cliente/servidor y se simplifica su manejo:
- Para lanzar la parte del servidor, el usuario simplemente hace doble clic en la aplicación servidor. No es necesario seleccionar el archivo proyecto.
- Para lanzar la parte cliente, el usuario simplemente hace doble clic en la aplicación cliente, que se conecta directamente a la aplicación servidor. No es necesario elegir un servidor en una caja de diálogo de conexión. Si desea que la aplicación cliente se conecte al servidor utilizando una dirección específica (distinta del nombre del servidor publicado en la subred), debe utilizar la llave XML
IPAddress
en el archivo buildapp.4DSettings. Si la conexión falla, se pueden implementar mecanismos alternativos específicos. Puede "forzar" la visualización de la caja de diálogo de conexión estándar presionando la tecla Opción (macOS) o Alt (Windows) mientras inicia la aplicación cliente. Sólo la parte cliente puede conectarse a la parte del servidor correspondiente. Si un usuario intenta conectarse a la parte servidor utilizando una aplicación estándar 4D, se devuelve un mensaje de error y la conexión es imposible. - Una aplicación cliente/servidor puede configurarse para que la parte cliente se actualice automáticamente a través de la red. Sólo es necesario crear y distribuir una versión inicial de la aplicación cliente, las actualizaciones posteriores se gestionan mediante el mecanismo de actualización automática.
- También es posible automatizar la actualización de la parte del servidor a través del uso de una secuencia de comandos de lenguaje (SET UPDATE FOLDER y RESTART 4D.
Construir aplicación servidor
Marque esta opción para generar la parte del servidor de su aplicación durante la fase de construcción. Debe designar la ubicación en su disco de la aplicación 4D Server que va a utilizar. Debe designar la ubicación en su disco de la aplicación 4D Server que va a utilizar.
Ubicación de 4D Server
Haga clic en el botón [...] y utilice la caja de diálogo Navegar carpeta para localizar la aplicación 4D Server. En macOS, debe seleccionar directamente el paquete 4D Server.
Versión actual
Se utiliza para indicar el número de versión actual de la aplicación generada. A continuación, podrá aceptar o rechazar las conexiones de las aplicaciones cliente en función de su número de versión. El intervalo de compatibilidad para las aplicaciones cliente y servidor se define mediante el uso de llaves XML específicas).
Integrar el proyecto Usuarios y Grupos en la aplicación servidor creada
Nota preliminar: en esta sección se utilizan los siguientes términos:
Nombre | Definición |
---|---|
Archivo de directorio del proyecto | archivo directory.json ubicado en la carpeta Settings del proyecto |
Archivo de directorio de la aplicación | archivo directory.json ubicado en la carpeta Settings del servidor 4D creado |
Archivo de directorio de datos | archivo directory.json en la carpeta Data > Settings |
Cuando se marca esta opción, el archivo del directorio del proyecto se copia en el archivo del directorio de la aplicación en el momento de la generación.
Cuando ejecute una aplicación 4D Server generada:
- Si el servidor tiene un archivo de directorio de datos, se carga.
- Si el servidor no tiene un archivo de directorio de datos, se carga el archivo de directorio de la aplicación.
El archivo de directorio de la aplicación es de sólo lectura. Las modificaciones realizadas a los usuarios, grupos y permisos durante la ejecución del servidor se almacenan en el archivo del directorio de datos. Si ya no existe ningún archivo de directorio de datos, se creará automáticamente. Si el archivo del directorio de la aplicación estaba integrado, se duplica como archivo del directorio de datos.
La incorporación del archivo del directorio del proyecto le permite desplegar una aplicación cliente/servidor con una configuración básica de la seguridad de los usuarios y de los grupos. Las modificaciones posteriores se añaden al archivo del directorio de datos.
Autorizar la conexión de los clientes Silicon Mac
Cuando se cree un servidor en Windows, marque esta opción para permitir que los clientes Apple Silicon se conecten a su aplicación servidor. A continuación, puede especificar una ruta de acceso a la estructura compilada para Apple Silicon/Intel.
Para permitir a los clientes Apple Silicon conectarse a una aplicación servidor creada en Windows, primero debe crear una aplicación cliente en macOS, con un proyecto compilado para Apple Silicon e Intel. Esto crea automáticamente una estructura compilada, idéntica a la creada con la opción Build compiled structure (sin las carpetas asociadas).
A continuación, puede copiar esa estructura en su máquina Windows y utilizarla para construir la aplicación servidor:
Ubicación de la estructura compilada
Ruta de acceso a la estructura compilada de la aplicación cliente Apple Silicon/Intel utilizada para crear un servidor Windows (ver Permitir la conexión de clientes Silicon Mac.
Modo de enlace de datos
Esta opción permite elegir el modo de enlace entre la aplicación fusionada y el archivo de datos local. Hay dos modos de enlazar disponibles:
-
Por nombre de la aplicación (por defecto) - La aplicación 4D abre automáticamente el archivo de datos abierto más recientemente correspondiente al archivo de estructura. Esto le permite mover el paquete de aplicaciones libremente en el disco. Esta opción debería usarse generalmente para aplicaciones fusionadas, a menos que necesite específicamente duplicar su aplicación.
-
Por ruta de la aplicación - La aplicación 4D fusionada analizará el archivo lastDataPath.xml de la aplicación e intentará abrir el archivo de datos con un atributo "executablePath" que coincida con la ruta completa de la aplicación. Si se encuentra una entrada de este tipo, se abre su correspondiente archivo de datos (definido a través de su atributo "dataFilePath"). Si se encuentra una entrada de este tipo, se abre su correspondiente archivo de datos (definido a través de su atributo "dataFilePath").
Para más información sobre el modo de vinculación de datos, consulte la sección Último archivo de datos abierto.
Construir la aplicación cliente
Marque esta opción para generar la parte cliente de su aplicación durante la fase de construcción.
Puede marcar esta opción:
- junto con la opción Crear aplicación servidor para crear las partes servidor y cliente correspondientes para la plataforma actual y (opcionalmente) incluir los archivos de actualización automática,
- sin seleccionar la opción de Crear aplicación servidor, generalmente para construir el archivo de actualización que se seleccionará de la plataforma "concurrente" al crear la parte del servidor.
Ubicación de 4D Volume Desktop
Designa la ubicación en su disco de la aplicación 4D Volume Desktop que se utilizará para construir la parte cliente de su aplicación.
El número de versión de 4D Volume Desktop debe coincidir con el número de versión de 4D Developer Edition. El número de versión de 4D Volume Desktop debe coincidir con el número de versión de 4D Developer Edition.
El 4D Volume Desktop debe corresponder a la plataforma actual (que será también la plataforma de la aplicación cliente). Si desea generar una aplicación cliente para la plataforma "concurrente", debe realizar una operación adicional utilizando una aplicación 4D que se ejecute en dicha plataforma.
Si desea que la aplicación cliente se conecte al servidor utilizando una dirección específica (distinta del nombre del servidor publicado en la subred), debe utilizar la llave XML IPAddress
en el archivo buildapp.4DSettings. Para obtener más información sobre este archivo, consulte la descripción del comando BUILD APPLICATION
. También puede implementar mecanismos específicos en caso de fallo de la conexión. También puede implementar mecanismos específicos en caso de fallo de la conexión.
Copia de las aplicaciones clientes en la aplicación servidor
Las opciones de esta área configuran el mecanismo para actualizar la(s) parte(s) cliente de sus aplicaciones cliente/servidor utilizando la red cada vez que se genera una nueva versión de la aplicación. Estas opciones sólo se activan cuando la opción Crear aplicación cliente está marcada.
- Permitir la actualización automática de la aplicación cliente Windows - Marque esta opción para construir un archivo
.4darchive
que puede ser enviado a sus aplicaciones cliente en la plataforma Windows en caso de actualización. - Permitir la actualización automática de la aplicación cliente Macintosh - Marque esta opción para construir un archivo
.4darchive
que puede ser enviado a sus aplicaciones cliente en la plataforma Macintosh en caso de actualización.
El archivo .4darchive
se copia en la siguiente ubicación:
<ApplicationName>_Build/Client Server executable/Upgrade4DClient/