Reduza o tamanho das suas aplicações 4D com estas novas características

Tradução automática de Deepl

No nosso esforço contínuo para melhorar a construção de aplicações 4D, acrescentámos algumas funcionalidades ao 4D v19R5 que certamente lhe serão úteis.

A primeira é a capacidade de remover alguns dos maiores módulos 4D das suas aplicações: CEF, Mecab, PHP, corrector ortográfico, e actualizador 4D. Se não precisar de alguns destes módulos, será capaz de reduzir significativamente o tamanho das suas aplicações.

Também alteramos o directório final quando constrói uma estrutura compilada, a fim de acomodar aqueles que utilizam múltiplas versões compiladas da mesma estrutura.

Quanto aos nossos clientes japoneses, fundimos a versão japonesa de 4D e a internacional em MacOS.

Vamos aprofundar os detalhes.

Remoção de Módulos

Comecemos pela primeira novidade, a capacidade de remover módulos que a sua aplicação não utiliza. Agora, no separador plugin & componentes do ecrã da aplicação de construção, será capaz de remover 5 módulos:

  • CEF significa Chromium Embedded Framework (Estrutura Incorporada de Crómio). Utilizamo-la para exibir áreas da web e áreas 4D View Pro. Portanto, é uma estrutura bastante útil, mas é também uma estrutura pesada.
  • O MeCab é um formatador de texto 4D para a língua japonesa. Se a sua aplicação não estiver localizada em japonês, não precisará deste módulo.
  • Se não usar PHP, pode remover o módulo PHP sem pensar duas vezes.
  • SpellChecker é útil se usar os comandos de verificação ortográfica do 4D; caso contrário, pode removê-lo da sua aplicação.
  • E finalmente, se não planeia usar um actualizador 4D para actualizar a sua aplicação, não precisa de o incluir.

Aqui está o tamanho de todos estes módulos em Mac e Windows:

Módulo Mac Windows
CEF 459 MB 217 MB
MeCab 80 MB 75 MB
PHP 26 MB 19 MB
Corrector Ortográfico 10 MB 10 MB
Actualizador 11 MB 6 MB
Máximo ganho 586 MB 327 MP

Como pode ver, a remoção destes módulos deverá reduzir significativamente o tamanho da sua aplicação, especialmente em Mac, uma vez que todos estes módulos são binários universais para arquitecturas Intel e Silicon.
Uma coisa importante a notar é que 4D não verificará os seus métodos e formulários para qualquer chamada para os módulos que está a remover. Portanto, tenha a certeza do que faz quando desmarca um deles.

Versão japonesa

Antes da v19R5, fornecemos aos nossos clientes japoneses uma versão especial de 4D em Mac, pois eram os únicos a utilizar o MeCab. Agora que pode ser facilmente removido das aplicações, MeCab será incluído para todos, e não forneceremos mais uma versão especial de 4D em japonês.

Output Directory ao compilar uma estrutura sem pastas relacionadas

Finalmente, alterámos o directório de saída quando se compila uma estrutura sem pastas relacionadas.

A estrutura compilada foi colocada directamente na pasta Compiled Database do seu directório de compilação em versões anteriores, mas cria problemas se quiser compilar várias versões da mesma estrutura. A partir da v19R5, ela estará dentro de uma pasta com o nome da sua aplicação dentro da pasta Base de Dados Compilada. Se tiver um processo de compilação automatizado, tenha cuidado com esta alteração.

Estas novas alterações deverão ajudá-lo a construir aplicações mais leves e ter um tempo mais fácil de automatizar o seu processo de construção. E como de costume, se tiver alguma dúvida, deixe-nos um comentário sobre o fórum 4D.

Nicolas Brachfogel
• Proprietário do produto e Desenvolvedor Senior -Nicolas Brachfogel entrou a 4D em 2017 como Senior Developer (4D Server e Networking). Como Product Owner para gerenciar o lançamento de Apple Silicon, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais, além de garantir que as implementações de funcionalidade cumpram com as necessidades do cliente. Diplomado pelo Instituto Superior de Informática Aplicada (INSIA), Nicolas começou sua carreira como desenvolvedor de software em 2001. Depois de vários anos codificando em Java e C++, passou a especializar-se no desenvolvimento cliente-servidor para empresas de videogames. Como desenvolvedor/arquiteto de servidores, trabalhou com sucesso nas arquiteturas de servidores de muitos jogos (Dofus Arena, Drakerz, Trivial Pursuit Go!)