Muitos desenvolvedores 4D aproveitam o poder de componentes de terceiros encontrados no GitHub, particularmente aqueles listados no tópico 4d-component. 4D 20 R6 introduz uma nova caraterística fantástica: integrar diretamente esses componentes dentro do Component Manager.
Esse post de blog mergulha nos detalhes, tornando seu processo de desenvolvimento mais fácil e eficiente.
Muitos componentes 4D estão disponíveis no GitHub, sejam desenvolvidos por terceiros ou criados por si mesmo.
Essa plataforma oferece uma maneira simples de distribuir componentes: releases.
Antes de continuar, sugerimos que leia o post sobre Component Manager para ficar mais confortável com os conceitos descritos abaixo.
Descarregar automaticamente as releases do repositório
O Gestor de componentes não só integra componentes locais, como também recupera automaticamente componentes armazenados em versões de repositórios.
Na caixa de diálogo Dependências do projeto, os componentes do GitHub distinguem-se facilmente dos componentes locais através de um pequeno ícone junto à indicação da localização do componente.
Veja como funciona:
- Comprima seu componente em um formato ZIP.
- Nomeie o arquivo usando o mesmo nome do repositório.
- Integre-o numa versão do repositório.
Por exemplo, este processo pode ser automatizado usando código 4D ou GitHub Actions. Uma vez feito, declare o componente no arquivo dependencies.json do seu projeto:
{ "dependencies": { "myComponent": { "github": "anyAccount/myComponent" } } }
Reinicie o projeto e o componente será carregado automaticamente. É simples assim!
Tags e versões semânticas
Quando cria uma versão no repositório, especifica uma etiqueta e uma versão.
As tags são textos que referenciam exclusivamente uma versão. Nos ficheiros dependencies.json, pode indicar a etiqueta de lançamento que pretende utilizar no seu projeto. Por exemplo :
{ "dependencies": { "myComponent": { "github": "anyAccount/myComponent", "tag": "textTag" } } }
Da mesma forma, uma versão é identificada por uma versão. O sistema de versionamento é baseado no conceito de Versionamento Semântico, que é o mais comumente usado. Cada número de versão é determinado da seguinte forma: majorNumber.minorNumber.patchNumber. Da mesma forma que para as etiquetas, pode indicar a versão do componente que pretende utilizar no seu projeto, como neste exemplo:
{ "dependencies": { "myComponent": { "github": "anyAccount/myComponent", "versão": "2.1.3" } } }
A versão é utilizada para definir quais as versões que podem ser utilizadas. Aqui estão alguns exemplos:
- “latest”: a versão com o emblema “latest” nas versões do repositório.
- “*”: a última versão lançada.
- “1.*”: todas as versões da versão principal 1.
- “1.2.*”: todos os patches da versão menor 1.2.
- “^1.2.3” ou “>=1.2.3”: a última versão 1, começando com a versão 1.2.3.
- “~1.2.3” ou “>1.2.3”: a última versão principal 1, começando com a versão logo após a 1.2.3.
- “<=1.2.3”: a versão mais recente até à versão 1.2.3.
- “1.0.0 – 1.2.3” ou “>=1.0.0 <=1.2.3”: versão entre 1.0.0 e 1.2.3.
-
“<1.2.3 || >=2”: versão que não está entre 1.2.3 e 2.0.0.
Se não especificar uma tag ou uma versão, 4D automaticamente obtém a versão “mais recente”.
Repositórios privados
Se quiser integrar um componente localizado num repositório privado, precisa dizer a 4D para usar um token de conexão para acessá-lo. Para fazer isso, crie um token “clássico” com direitos de acesso a “repo” na sua conta GitHub. Então, insira a chave gerada no seu arquivo environment4d.json.
Aqui está um exemplo de arquivo environment4d.json:
{ "github": { "token": "ghp_a0B1cDEf2gHi3JKl4mNo5P6qRST7UvW8x9yZ" } }
Esta nova funcionalidade simplifica o trabalho com componentes 4D. Estamos confiantes de que achará esta integração valiosa. Promove um processo de desenvolvimento mais eficiente e aproveita um enorme poder de colaboração para desenvolvedores 4D. Sinta-se à vontade para compartilhar seus componentes 4D em repositórios GitHub e identificá-los com o tópico 4d-component. Juntar-se-á à grande comunidade de desenvolvedores de componentes 4D e será referenciado na lista 4D Components.
Sinta-se livre para compartilhar seu feedback!