Build application overview
4D inclui um gerador de aplicativos para criar um pacote de projeto (versão final). Esse gerador simplifica o processo de finalização e desenvolvimento de aplicativos compilados 4D. Trata automaticamente as funcionalidades específicas de diferentes sistemas operacionais e facilita a implementação de aplicações cliente-servidor.
O construtor de aplicações permite-lhe:
- Build a compiled structure or component, without interpreted code,
- Generar una aplicación autónoma ejecutable, es decir, fusionada con 4D Volume Desktop, el motor de base de datos 4D,
- Gerar aplicações diferentes a partir do mesmo banco de dados compilado mediante um projeto XML,
- Criar aplicações cliente-servidor homogêneas,
- Construir aplicações cliente-servidor com atualização automática de partes do cliente e do 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).
Visão Geral
A cria de um pacote de projetos pode ser efetuada utilizando:
- either the
BUILD APPLICATION
command, - o el diálogo Generador de aplicaciones.
You can also download and use Build4D
, a component that provides classes to compile, build, and sign 4D projects, even from a headless application.
Diálogo criar aplicação
Para mostrar la caja de diálogo Generar la aplicación, seleccione Diseño > Generar la aplicación... en la barra de menús.
A caixa de diálogo Criar aplicação inclui várias páginas que podem ser acedidas através de separadores:
A geração do banco de dados só pode ser realizado quando o banco de dados for compilado. Se selecionar esse comando sem ter previamente compilado o banco de dados, ou no caso do código compilado não for correspondente ao código interpretado, aparece uma caixa de diálogo de advertência que indica que o banco de dados deve ser (re)compilado.
buildApp.4DSettings
Each build application parameter is stored as an XML key in the application project file named buildApp.4DSettings
XML file, located in the Settings
folder of the project.
Os parâmetros padrão são utilizados na primeira vez que a caixa de diálogo Criar aplicação é utilizada. 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.
As chaves XML oferecem opções adicionais além daquelas exibidas na caixa de diálogo Criar aplicativo. La descripción de estas llaves se detalla en el manual 4D XML Keys BuildApplication.
Arquivo histórico
Cuando se crea una aplicación, 4D genera un archivo de registro llamado BuildApp.log.xml en la carpeta Logs del proyecto. O ficheiro de historial armazena as seguintes informações para cada compilação:
- O início e o fim da construção de objetivos,
- O nome e o caminho de acesso completo dos ficheiros gerados,
- A data e a hora da geração,
- Todos os erros que forem produzidos.
- Quaisquer problemas de assinatura (por exemplo, um plug-in não assinado).
A verificação desse arquivo pode ajudá-lo a economizar tempo durante as etapas de implantação subsequentes, por exemplo, se você pretende notarizar o aplicativo.
Utilice el comando
Get 4D file(Build application log file)
para obtener la ubicación del archivo de registro.
Nome da aplicação e pasta 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 estrutura compilada
Essa guia permite que você crie um arquivo de estrutura compilado padrão ou um componente compilado:
Construir a estrutura compilada
Gera um banco de dados que contém apenas código compilado.
Esta funcionalidad crea un archivo .4dz en una carpeta Compiled Database/<project name>
. For example, if you have named your application “MyProject”, 4D will create:
<destination>/Compiled Database/MyProject/MyProject.4dz
Um ficheiro .4dz é essencialmente uma versão zipada (embalada) da pasta do projecto. A .4dz file is essentially a zipped (packed) version of the project folder. O tamanho compacto e otimizado dos arquivos .4dz torna os pacotes de projeto fáceis de implantar.
Al generar archivos .4dz, 4D utiliza por defecto un formato zip estándar. A vantagem desse formato é que ele pode ser lido facilmente por todas as ferramentas de descompactação. If you do not want to use this standard format, add the
UseStandardZipFormat
XML key with valueFalse
in yourbuildApp.4DSettings
file (for more information, see the 4D XML Keys BuildApplication manual).
Incluir pastas relacionadas
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.
Gerar um componente
Constrói um componente compilado a partir da estrutura.
A component is a standard 4D project in which specific functionalities have been developed. Once the component has been configured and installed in another 4D project (the host application project), its functionalities are accessible from the host project.
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:
- MyComponent.4DZ file
- Una carpeta Resources: todos los resources asociados se copian automáticamente en esta carpeta. Quaisquer outros componentes e/ou pastas de plug-ins não são copiados (um componente não pode utilizar plug-ins ou outros componentes).
La carpeta MyComponent.4dbase es la carpeta del paquete del componente compilado.
Página Aplicação
Essa guia permite que você crie uma versão autônoma e de usuário único do seu aplicativo:
Criar uma aplicação 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.
Os seguintes elementos são necessários para a construção:
- 4D Volume Desktop (o motor de base de dados 4D),
- una licencia apropiada
No Windows, esta funcionalidade cria um ficheiro executável (.exe). Em macOS, trata da criação de pacotes de software.
O princípio consiste em fundir um ficheiro de estrutura compilado com 4D Volume Desktop. A funcionalidade fornecida pelo ficheiro 4D Volume Desktop está ligada à oferta do produto a que se subscreveu. Las funcionalidades ofrecidas por el archivo 4D Volume Desktop están relacionadas con la oferta de productos a la que se ha suscrito.
You can define a default data file or allow users to create and use their own data file.
It is possible to automate the update of merged single-user applications by means of a sequence of language commands.
Localização do 4D Volume Desktop
Para construir uma aplicação independente, você deve primeiro designar a pasta que contém o arquivo da área de trabalho do volume 4D:
- Windows - the folder contains the 4D Volume Desktop.4DE, 4D Volume Desktop. RSR, as well as various files and folders required for its operation. Esses itens devem ser colocados no mesmo nível da pasta selecionada.
- 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 [...]. Uma caixa de diálogo aparece permitindo que você designe a pasta 4D Volume Desktop (Windows) ou pacote (macOS).
Depois que a pasta for selecionada, o nome completo do caminho será exibido e, se realmente conter 4D Volume Desktop, a opção para a construção de uma aplicação executável é ativada.
O número da versão do 4D Volume Desktop deve corresponder ao número da versão do 4D Developer Edition. Por exemplo, se você usar o 4D Developer v18, deverá selecionar um 4D Volume Desktop v18.
Modo de ligação de dados
Esta opção permite escolher o modo de ligação entre o aplicativo mesclado e o arquivo de dados local. Estão disponíveis dois modos de ligação de dados:
-
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. Isto permite-lhe mover o pacote de aplicações livremente no disco. Esta opção deve ser geralmente utilizada para aplicações fundidas, a menos que seja especificamente necessário duplicar a aplicação.
-
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. Se tal entrada for encontrada, o arquivo de dados correspondente (definido através do seu atributo "dataFilePath") será aberto. If such an entry is found, its corresponding data file (defined through its "dataFilePath" attribute) is opened.
Para más información sobre el modo de vinculación de datos, consulte la sección Último archivo de datos abierto.
Ficheiros gerados
Al hacer clic en el botón Generar, 4D crea automáticamente una carpeta Final Application en la carpeta de destino definida. Dentro da pasta de Aplicação Final está uma subpasta com o nome do aplicativo especificado nele.
Se você tiver especificado "MyProject" como o nome do aplicativo, encontrará os seguintes arquivos nessa subpasta (também conhecida como MyProject):
- Windows
- MyProject.exe - Seu executável e um MyProject.rsr (os recursos da aplicação)
- Pasta 4D Extensions, pasta Resources, várias bibliotecas (DLL), pasta Native Components, pasta SASL Plugins - Arquivos necessários para a operação do aplicativo
- Uma pasta Database - Inclui uma pasta Resources e um ficheiro MyProject.4DZ. Database folder - Includes a Resources folder and MyProject.4DZ file. 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) Pasta Components e/ou pasta Plugins - Contém todos os componentes e/ou arquivos de plug-in incluídos no banco de dados. Para más información sobre este punto, consulte la sección Plugins y componentes.
- Pasta de licenças - Um arquivo XML com números de licença integrados ao aplicativo. 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 estes itens devem ser mantidos na mesma pasta para que o executável possa operar.
- macOS
- Um pacote de software chamado MyProject.app que contém seu aplicativo e todos os itens necessários para sua operação, incluindo os plug-ins, componentes e licenças. 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. Note: In macOS, the Application file command of the 4D language returns the pathname of the ApplicationName file (located in the Contents:macOS folder of the software package) and not that of the .comp file (Contents:Resources folder of the software package).
Personalização da pasta 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. Então, você será capaz de personalizar o conteúdo da pasta original de volume da área de trabalho 4D de acordo com suas necessidades. Pode, por exemplo:
- Instalar uma versão 4D Volume Desktop correspondente a um idioma específico;
- Añadir una carpeta PlugIns personalizada;
- Personalizar el contenido de la carpeta Resources.
No macOS, o 4D Volume Desktop é fornecido na forma de um pacote de software. You can display their contents (Control+click on the icon) in order to be able to modify them.
Localização de ficheiros Web
Se o seu aplicativo autônomo for usado como um servidor Web, os arquivos e pastas exigidos pelo servidor devem ser instalados em locais específicos. Estes itens são os seguintes:
- archivos cert.pem y key.pem (opcional): etos archivos se utilizan para las conexiones TLS y por los comandos de encriptación de datos,
- pasta raiz Web padrão.
Os elementos devem ser instalados:
- En Windows: en la subcarpeta Final Application\MyProject\Database.
- En macOS: junto al paquete de software MyProject.app.
Página cliente/servidor
Nessa guia, você pode criar aplicativos cliente-servidor personalizados que sejam homogêneos, multiplataforma e com uma opção de atualização automática.
O que é uma aplicação Cliente/Servidor?
Uma aplicação cliente/servidor provém da combinação de três itens:
- A compiled 4D database,
- A aplicação 4D Server,
- A aplicação 4D Volume Desktop (macOS e/ou Windows).
Uma vez criado, um aplicativo cliente/servidor é composto de duas partes personalizadas: a parte do servidor (exclusiva) e a parte do cliente (a ser instalada em cada máquina cliente).
If you want to deploy a client/server application in an heterogeneous environment (client applications running on Intel/AMD and Apple Silicon machines), it is recommended to compile the project for all processors on a macOS machine, so that all client applications will run natively.
Além disso, o aplicativo cliente/servidor é personalizado e fácil de usar:
- Para iniciar a parte do servidor, o usuário simplesmente clica duas vezes no aplicativo do servidor. The database does not need to be selected.
- Para iniciar a parte do cliente, o usuário simplesmente clica duas vezes no aplicativo cliente, que se conecta diretamente ao aplicativo do servidor. Você não precisa escolher um servidor em uma caixa de diálogo de conexão. 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. Apenas a parte do cliente pode conectar à parte do servidor correspondente. Se um usuário tentar conectar à parte do servidor usando uma aplicação 4D padrão, uma mensagem de erro é retornada e a conexão é impossível. - Una aplicación cliente/servidor puede configurarse para que la parte cliente se actualice automáticamente a través de la red. Você só precisa criar e distribuir uma versão inicial do aplicativo cliente, atualizações subsequentes são tratadas usando o mecanismo de atualização automática.
- It is also possible to automate the update of the server part through the use of a sequence of language commands (SET UPDATE FOLDER and RESTART 4D.
Criar aplicação servidor
Marque esta opção para gerar a parte do servidor da sua aplicação durante a fase de construção. Você deve designar a localização em seu disco da aplicação 4D Server para ser usado. Esse servidor 4D deve corresponder à plataforma atual (que também será a plataforma do aplicativo do servidor).
Localização do 4D Server
Haga clic en el botón [...] y utilice la caja de diálogo Navegar carpeta para localizar la aplicación 4D Server. No macOS, deve selecionar o pacote 4D Server diretamente.
Versão atual
Utilizado para indicar o número da versão atual da aplicação gerada. Pode então aceitar ou rejeitar ligações de aplicações cliente conforme o seu número de versão. El intervalo de compatibilidad para las aplicaciones cliente y servidor se define mediante el uso de llaves XML específicas).
Incorporar o projeto Usuários e Grupos na aplicação servidor criada
Nota preliminar: en esta sección se utilizan los siguientes términos:
Nome | Definição |
---|---|
Ficheiro do directório do projecto | archivo directory.json ubicado en la carpeta Settings del proyecto |
Ficheiro do directório de aplicação | archivo directory.json ubicado en la carpeta Settings del servidor 4D creado |
Ficheiro obrigatório | archivo directory.json en la carpeta Data > Settings |
Quando marca esta opção, o ficheiro do directório do projecto é copiado para o ficheiro do directório da aplicação no momento da construção.
Quando se executa uma aplicação 4D Server construída:
- Se o servidor tiver um ficheiro de directório de dados, este é carregado.
- Se o servidor não tiver um ficheiro de directório de dados, o ficheiro de directório da aplicação é carregado.
O ficheiro do directório de aplicação é apenas de leitura. Modificações feitas aos usuários, grupos e permissões durante a execução do servidor são armazenadas no arquivo de diretório de dados. Se nenhum arquivo de diretório de dados já existir, ele será criado automaticamente. Se o arquivo de diretório do aplicativo foi incorporado, ele é duplicado como arquivo de diretório de dados.
Embutir o arquivo de diretório do projeto permite que você faça deploy de um aplicativo cliente/servidor com um usuário de segurança básico e configuração de grupo. As alterações subsequentes são adicionadas ao ficheiro do diretório de dados.
Permitir a ligação de clientes Silicon Mac
Ao construir um servidor no Windows, marque esta opção para permitir que clientes Apple Silicon se conectem ao seu aplicativo do servidor. Em seguida, você pode especificar um caminho para a estrutura compilada para Apple Silicon/Intel.
Para permitir que os clientes da Apple Silicon se conectem a um aplicativo do servidor construído no Windows, você deve primeiro construir um aplicativo cliente no macOS, com um projeto 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).
Em seguida, você pode copiar essa estrutura para sua máquina Windows e usá-la para construir a aplicação do servidor: