Fala aí turma! Vocês já devem estar habituados a uma coisa bem comum no ambiente de desenvolvimento, principalmente quando o assunto é front-end, que é a utilização de pacotes, bibliotecas, frameworks e afins.. Hoje vou passar para vocês minha jornada na publicação de um pacote para o Flutter dentro do pub.dev, a biblioteca de pacotes oficial do Flutter, equivalente ao npm para o JavaScript.

 

O pacote que irei publicar é um código que desenvolvi a um tempo atrás, por não existir um pacote já pronto, que sua função é transformar um número em texto, então só cobrirei a publicação em si. Exemplo da aplicação:

 

number_transcriber().transcribe(27420); // => “Vinte e sete mil, quatrocentos e vinte”

O primeiro passo para criarmos nosso pacote é a criação do projeto local, para isso o flutter nos disponibiliza alguns templates. Rodando o comando flutter create -h temos a lista completa desses templates:

 

templates:

 

Como padrão o Flutter utiliza o App mas para esse caso utilizaremos o Package, então nosso comando para criação do projeto será:

flutter create –template=package number_transcriber

Criando esse novo projeto notamos uma grande semelhança com projetos comuns (App) do Flutter..:

Tanto na sua estrutura quanto no pubspec.yalm:

Package

App

 

Mas bora botar a mão na massa e ir direto para o pacote em si. Quando iniciado o projeto, o arquivo principal é criado com o nome dado ao pacote e dentro dele uma simples função de adição dentro de uma classe é criada, como exemplo:

No meu caso o pacote também irá se comportar como uma função, então a sua implementação foi bem simples, alterei o nome da classe para ficar de acordo com o pacote, importei o pacote necessário, joguei a função dentro da classe e alterei os comentários de documentação:

Com isso feito, o funcionamento do nosso pacote está pronto! Mas existem alguns detalhes que ainda precisamos cobrir antes da sua publicação, começando pelo projeto interno de exemplo. É necessário que nosso pacote tenha um projeto de exemplo dentro dele para ser publicado no pub.dev e, sua ideia é ser a utilização mais direta possível do pacote.

 

Vamos começar criando um projeto com o comando de criação simples:

flutter create example

Dentro do pubspec do nosso exemplo podemos referenciar ao nosso pacote da seguinte forma: 

Assim criei um exemplo bem simples para o projeto:

Com isso pronto a próxima etapa é adicionar as informações necessárias dentro do pubspec. As minhas ficaram da seguinte forma:

Notem que para a homepage eu criei um repositório do github, sendo o mais comum dentro dos pacotes do Flutter. Não entrarei em detalhes de como criar um repositório aqui, já que isso se encontra aos montes na internet. Notem também que o campo author foi removido, isso porque atualmente ele não é mais utilizado na publicação de pacotes.

 

Agora estamos na reta final do nosso pacote! O próximo passo é rodar o seguinte comando:

flutter pub publish –dry-run

Esse comando nos retorna se o pacote está pronto para ser publicado no pub.dev sem erros, no nosso caso ele retornou que não temos erros.

 

Agora para publicarmos de fato o nosso pacote vamos rodar o seguinte comando:

 

flutter pub publish

 

Com esse comando vamos receber o seguinte retorno:

Acessando o link você é direcionado para uma área de login do google onde daremos acesso a nossa conta e após a autorização nosso pacote é publicado!

Após alguns minutos o seu pacote vai aparecer no pub.dev, você pode acessar ele em My Pub.dev > My Packages:

Leave a Reply

Sobre a Blue Projects

Em virtude da Covid-19, todos os nossos colaboradores estão alocados em Home Office. Para atendimentos diversos entre em contato através do nosso Whatsapp Business

Onde estamos

Rua Fidêncio Ramos
Itaim Bibi, 160 - cj 110
São Paulo - SP

T: +55 (11) 99304-6141
E: andre.gutierres@blueprojects.com.br