Simplificando a gestão de componentes em 4D

No contexto do desenvolvimento 4D, o gerenciamento de componentes normalmente envolve uma quantidade substancial de trabalho. No entanto, a introdução da funcionalidade Gestor de Componentes no ambiente 4D representa um avanço significativo na gestão de componentes.

Não mais confinado a colocar componentes em uma pasta Components designada, esse recurso se baseia em dois elementos chave: dependencies.json e environment4d.json. Estes arquivos oferecem aos programadores uma melhor visibilidade das dependências da aplicação e a flexibilidade para personalizar os caminhos dos componentes.

Gestão de componentes

Uma interface de gestão de COMPONENTES em desenvolvimento

Antes de mergulhar no cerne da questão, por favor informe que pode atualmente ver os componentes 4D e os componentes da pasta Components do seu projeto no novo ecrã Project Dependencies que pode aceder a partir do menu Design.

Esta tela não só permite ver as dependências do seu projeto, mas também permitirá em breve adicionar novas dependências e geri-las.

Gerenciamento estruturado com dependencies.json

O gerenciamento de componentes é orquestrado por meio do dependencies.json, um arquivo de manifesto que lista os componentes que seu aplicativo usa. Esse arquivo de manifesto garante uma estrutura clara para o gerenciamento de dependências, simplificando o carregamento desses elementos cruciais.

O benefício é que todos os seus projetos são mantidos em uma estrutura plana (como via GitHub Desktop), eliminando a necessidade de aliases-apelidos ou criação de cópias duplicadas, especialmente ao lidar com componentes interdependentes.

exemplo de dependencies.json:

{
	"dependencies": {
		"MeuComponente" : {}
	}
}

Neste exemplo, MyComponent, que é o componente que queremos carregar, está localizado ao lado da pasta do pacote.

Personalização com environment4d.json

Se o caminho predefinido (junto à pasta do pacote) não for adequado, continua a ser possível definir caminhos de componentes num arquivo de ambiente de trabalho pessoal. O environment4d.json permite a personalização do ambiente. Ao especificar caminhos absolutos ou relativos para os componentes, este manifesto oferece uma adaptabilidade apreciável para satisfazer as necessidades específicas de cada projeto.

O benefício direto é que cada desenvolvedor pode ter seu arquivo de ambiente em uma pasta pai do banco de dados, permitindo que eles decidam não submetê-lo, por exemplo, e acomodar sua organização de disco.

exemplo environment4d.json:

{
	"dependências": {
		"myComponent1" : "../MyComponent1",
		"myComponent2" : "./MeuComponente2",
                "myComponent3" : "file:///Users/jean/MyComponent3"
    }
}

Gerenciamento prático para desenvolvedores

Se environment4d.json estiver ausente para uma dada dependência ou se esse arquivo não tiver informações sobre uma dependência listada em dependencies.json, 4D utiliza o nome mencionado em dependencies.json para recuperar a dependência próxima à pasta do pacote.

blank

Obtenha o status de todos os seus componentes em um único lugar

Na tela de dependências do projeto, também será capaz de ver os componentes declarados em dependencies.json e environment4d.json e obter informações para cada dependência, como o nome, fonte e acesso à dependência no disco, assim como o estado da dependência: se há um conflito com outra dependência, se a dependência foi carregada com sucesso, e por que se não.

blank

A caraterística Component Manager representa um avanço notável no ecossistema 4D. Ao alavancar dependencies.json e environment4d.json, esta nova abordagem oferece aos desenvolvedores um controle melhorado sobre a gestão de componentes. Dê uma olhada na documentação para mais detalhes, e fique atento às próximas atualizações sobre o gerenciador de componentes!

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.