Gestão de Dependências Recursivas: Mais inteligente, mais profundo e mais seguro

Tradução automática de Deepl

Seguindo o lançamento da regra de versão Follow 4D, estamos entusiasmados em introduzir um novo nível de automação e confiabilidade em 4D 20 R10: resolução de dependência totalmente recursiva.

Se está adicionando, atualizando ou removendo um componente, o Gerenciador de Dependências agora age recursivamente, assegurando que cada ação que toma é refletida precisamente em toda sua árvore de dependências.

Uma ação, todas as dependências

Quando adiciona uma dependência primária, do GitHub ou de uma pasta local, 4D:

  • Recursivamente carrega todas as dependências que requer
  • Aplica as restrições de versão definidas em seu dependencies.json.

Não precisa se preocupar com peças faltando ou versões incompatíveis, sua árvore de dependências completa é automaticamente resolvida e carregada.

Tratamento recursivo de versões

Quando vários componentes exigem versões diferentes da mesma dependência:

  • O Gerenciador de dependências verifica os intervalos necessários e escolhe uma versão que satisfaça todas as restrições, quando possível
  • Se uma versão é declarada diretamente como uma dependência primária, essa versão tem precedência sobre as versões exigidas indiretamente.

Esta abordagem mantém o seu ambiente estável e consistente, mesmo quando o seu projeto cresce.

Uma interface de usuário que reflete a estrutura completa

A interface das Dependências do Projeto foi atualizada para mostrar a natureza recursiva das dependências do seu projeto:

  • Guia “Todos”: Mostra uma lista simples de todas as dependências (primárias e secundárias) usadas no seu projeto.
  • Separador “Declarado”: Uma nova seção entre “Todos” e “Ativo” que lista apenas as dependências que você declarou explicitamente em dependencies.json.
  • As dependências secundárias são claramente marcadas e, quando você passa o mouse sobre uma delas, uma dica de ferramenta revela quais componentes precisam dela. Tudo é transparente.

Tome uma ação – 4D lida com o resto

Cada mudança que faz, seja adicionando, removendo ou atualizando um componente, é agora propagada recursivamente através de todo o gráfico de dependências.

Você se beneficia de:

  • Carregamento automático de sub-dependências necessárias
  • Resolução inteligente de versões com regras de precedência claras
  • Remoção segura com consciência do impacto
  • Uma interface de utilizador que reflecte a estrutura real do seu projeto

PARA PROGRAMADORES DE COMPONENTES

Se estiver a desenvolver os seus próprios componentes, pode estar a perguntar-se: como é que declaro as minhas dependências? Cada componente deve incluir seu próprio arquivo dependencies.json. Este ficheiro especifica as dependências necessárias para que o componente funcione corretamente, juntamente com as suas restrições de versão.

Esse mecanismo funciona tanto com dependências locais quanto com aquelas hospedadas no GitHub. No entanto, para melhor portabilidade e compartilhamento, o uso do GitHub é considerado a melhor prática. Ao criar um componente, certifique-se de que o arquivo dependencies.json esteja incluído no pacote final. Suporte completo para essa funcionalidade está disponível a partir do 4D 20 R10. Se estiver trabalhando com componentes antigos, precisará reconstruí-los para aproveitar a resolução recursiva automática.

Experimente agora e experimente uma maneira mais inteligente e que economiza tempo para gerenciar suas dependências, e gaste menos tempo resolvendo problemas.

David Azancot
• Proprietário do produto 4D for iOS - David Azancot uniu-se ao time 4D Product como Proprietário do Produto em 2017. Está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação de funcionalidades satisfaçam às necessidades do cliente. David se formou com um MBA em Marketing, Internet e mobilidade no Instituto Leonard da Vinci e começou sua carreira em 2011 com uma empresa móvel de nova criação, posteriormente adquirida por Madvertise (um grupo de marketing móvel). Apaixonado pelas interfaces móveis, foi a escolha natural para desenvolver formatos de anúncios móveis interativos para o grupo em 2015. Paralelamente, David desenvolve suas próprias aplicações para iOS e Android desde 2012.