Como é que eu aprendo Quarkus? Por onde eu começo?
Já manjo de Jakarta EE, de Spring, de Kotlin… consigo usar o Quarkus? Ou vou ter que aprender tudo do zero?
Se esse é o tipo de dúvidas que já passou pela sua cabeça quando o assunto é começar no mundo Quarkus, esse é o post que você estava procurando!
Aliás, eu gravei um vídeo sobre o mesmo assunto, e você pode assistí-lo abaixo:
Aqui eu vou te dar 6 passos simples, rápidos e direto ao ponto para você começar a aprender Quarkus ainda hoje. Vamos lá?
- Comece pelo que você já sabe
- Como assim? Eu vou aprender algo começando pelo que eu já sei?
- Sim, essa é uma das belezas do Quarkus!
- Por ser uma plataforma, e não um framework, tem uma coisa fantástica nele, que são as extensões;
- E o que são as extensões no Quarkus? Elas funcionam como que dependências do seu projeto. Servem para configurar, integrar e fazer o start de tecnologias e frameworks dentro da sua aplicação;
- Vamos ver isso na prática? Vá lá em https://code.quarkus.io;
- No campo de pesquisa, você pode brincar com nomes de projetos opensource que você conheça e/ou, melhor ainda, que já use. Exemplos:
- Smallrye (implementação do MicroProfile)
- Spring
- Camel
- Azure
- Alexa
- Hibernate
- No campo de pesquisa, você pode brincar com nomes de projetos opensource que você conheça e/ou, melhor ainda, que já use. Exemplos:
- Ou seja, começar pelo que já sabe é você iniciar a sua jornada no Quarkus em coisas que já são super familiares para você;
- Dependendo da situação, a sua curva de aprendizado por ser próxima de zero (a minha foi).
- Crie seu projeto usando o https://code.quarkus.io
- Já vimos esse site no item anterior, e agora vamos falar um pouco mais sobre ele;
- É aqui onde você vai criar o seu primeiro projeto utilizando Quarkus. E fazer isso é mega simples:
- Informe o Group (aquele mesmo group que você informa em um projeto Maven)
- Informe o Artifact (nome da aplicação)
- Mantenha o Maven selecionado (ou altere para Gradle, se for o caso)
- Daí você vai selecionar as extensões que deseja para o seu projeto (falamos mais sobre isso no item anterior)
- Feito isso, é só clicar em “Generate your application” e baixar o arquivo .zip com a estrutura inicial do seu projeto.
- Execute a sua aplicação usando o Developer Mode (é aqui que sua experiência com o Quarkus vai para outro nível)
- Se você já baixou e descompactou o arquivo da sua aplicação, basta entrar na pasta (usando o Terminal) e digitar: mvn quarkus dev
- Finalizada o processo, terá acontecido duas coisas:
- A sua aplicação estará em execução
- Você estará usando o Developer Mode do Quarkus, que é uma de suas ferramentas mais fantásticas
- O Developer Mode é a principal ferramenta do Quarkus quando o assunto é experiência de usuário (e, no caso, o usuário é você!)
- A partir de agora, ele vai monitorar toda e qualquer mudança no seu projeto, e vai aplicar essas mudanças em tempo real;
- Ou seja: esqueça esse lance de ficar reiniciando o servidor de aplicação do seu ambiente de desenvolvimento cada vez que quiser testar uma linha de código: o Developer Mode faz isso pra você;
- E, melhor ainda: ele faz isso muito rápido. Um restart da aplicação no Developer Mode leva alguns centésimos de segundo;
- A sua aplicação estará disponível por default na porta 8080. Basta usar um browser para acessá-la e ver se está funcionando.
- Saiba tudo sobre a sua aplicação usando o Dev UI
- O Dev UI te dá uma visão geral (e gráfica) sobre a sua aplicação. Nele você pode:
- Visualizar todas as extensões que estão disponíveis no seu projeto;
- Interagir com algumas das extensões (aquelas que permitem isso);
- Ver o status de execução dos testes
- Inclusive, se você estiver usando a extensão do Kafka, você consegue visualizar e interagir com tópicos, registros, consumer groups e muito mais.
- O Dev UI te dá uma visão geral (e gráfica) sobre a sua aplicação. Nele você pode:
- Entenda a estrutura do seu projeto
- Agora chegou a hora de abrir o seu projeto na sua IDE favorita. Eu recomendo fortemente o VS Code ou IntelliJ, porque ambas possuem plugins específicos do Quarkus que vão ajudar muito a sua vida;
- Uma vez aberto, você perceberá que é um projeto Java comum, mas aqui vão algumas coisas que eu gostaria de destacar:
- Ele já vem com dois Dockerfiles prontos, um para usar com imagem nativa e outro para JVM. Salvo raras exceções, você consegue usar esses Dockerfiles para gerar suas imagens de containers sem alterar nada;
- Já vem também no projeto a estrutura inicial de testes unitários;
- Dependendo as extensões que você adicionou no seu projeto, ele já virá também com algumas classes criadas (ex: JAX-RS, Health, RestClient);
- No arquivo application.properties (dentro da pasta resources) é onde é feita toda a qualquer configuração de extensões do Quarkus.
- Empacote a sua aplicação para deploy
- Inicialmente há duas opções de empacotemento: JVM e nativo
- Para JVM, vá no terminal e, dentro na pasta do projeto, digite: mvn clean package
- Para nativo, digite: mvn clean package -Pnative
- Há extensões espefícas que permite o empacotamento para uma imagem de container, ou mesmo o deploy direto para o Kubernetes. Mas isso já é assunto para outra ocasião!
Viu só? Começar no mundo do Quarkus não é nenhum bicho de 7 cabeças… muito pelo contrário! Se você quiser, consegue rodar seu primeiro projeto ainda hoje.
Aliás, me diz aí nos comentários se você já fez alguma coisa com o Quarkus. Quero muito saber!
Um grande abraço, até a próxima e tchau!