eldermoraes.dev
busca

8 de março de 2023

Aprendendo Quarkus: O guia definitivo para devs backend Java (seu primeiro projeto no ar ainda hoje)

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á?

  1. 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

        • Google

        • Azure

        • Alexa

        • Hibernate

    • 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).

  2. 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:

      1. Informe o Group (aquele mesmo group que você informa em um projeto Maven)

      2. Informe o Artifact (nome da aplicação)

      3. 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.

  3. 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:

      1. A sua aplicação estará em execução

      2. 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.

  4. 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:
      1. Visualizar todas as extensões que estão disponíveis no seu projeto;

      2. Interagir com algumas das extensões (aquelas que permitem isso);

      3. Ver o status de execução dos testes

      4. Inclusive, se você estiver usando a extensão do Kafka, você consegue visualizar e interagir com tópicos, registros, consumer groups e muito mais.

  5. 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:

      1. 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;

      2. Já vem também no projeto a estrutura inicial de testes unitários;

      3. Dependendo as extensões que você adicionou no seu projeto, ele já virá também com algumas classes criadas (ex: JAX-RS, Health, RestClient);

      4. No arquivo application.properties (dentro da pasta resources) é onde é feita toda a qualquer configuração de extensões do Quarkus. 

  6. 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!