Visão Geral
Este Curso Quarkus Fundamentals, oferece uma introdução ao Quarkus, um framework Java moderno, otimizado para rodar em ambientes nativos e em nuvem. Focado na criação de aplicações Java de alto desempenho, o Quarkus combina a familiaridade do Java com uma abordagem orientada para microsserviços e serverless. Exploraremos suas funcionalidades, como CDI (Contextos e Injeção de Dependências) e a programação reativa, preparando os alunos para desenvolver aplicações eficientes e escaláveis.
Objetivo
Após realizar este curso de Quarkus Fundamentals, você será capaz de:
- Entender os princípios e o funcionamento do Quarkus.
- Configurar e desenvolver aplicações com Quarkus.
- Utilizar o Quarkus para criação de microsserviços eficientes.
- Integrar o Quarkus com APIs REST, bancos de dados e ferramentas de DevOps.
- Otimizar aplicações para ambientes nativos e containers.
Publico Alvo
- Desenvolvedores Java, arquitetos de software e engenheiros de DevOps que desejam explorar as vantagens do Quarkus para desenvolver aplicações otimizadas para ambientes em nuvem e containers.
Pre-Requisitos
- Conhecimento intermediário em Java.
- Familiaridade com programação orientada a objetos e conceitos de microsserviços.
- Noções básicas sobre containers e Docker são recomendadas.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico
Introduction to Quarkus
- What is Quarkus and why use it?
- Comparison with other Java frameworks
- Quarkus and cloud-native Java
- Setting up the development environment
Getting Started with Quarkus
- Installation and setup of Quarkus CLI
- Project structure in Quarkus
- Building and running a basic Quarkus application
- Compiling and packaging Quarkus applications
Dependency Injection and CDI in Quarkus
- Understanding CDI (Contexts and Dependency Injection) and its significance
- CDI annotations and scopes in Quarkus
- Bean lifecycle and scopes
Building REST APIs with Quarkus
- Creating REST endpoints using JAX-RS
- Handling requests and responses
- Working with parameters, headers, and HTTP statuses
- JSON integration and data serialization
Database Integration
- Database configuration and JDBC support
- Using Panache ORM for simplified database operations
- Transaction management and querying in Quarkus
- Integration with relational and NoSQL databases
Reactive Programming with Quarkus
- Introduction to reactive programming and its advantages
- Implementing reactive endpoints with Mutiny
- Using Quarkus Vert.x and WebSockets for high-performance applications
- Developing reactive applications and integrating asynchronous APIs
Testing Applications in Quarkus
- Creating unit and integration tests with JUnit and RESTAssured
- Setting up the test environment in Quarkus
- Testing CDI components, REST services, and repositories
Quarkus and DevOps Integration
- Preparing Quarkus applications for production environments
- Docker integration and building native images
- Configuring for Kubernetes and OpenShift
- Monitoring and logging with integrated tools
Native Build with GraalVM
- Introduction to GraalVM and its benefits for Quarkus
- Native compilation of Quarkus applications with GraalVM
- Performance optimization and memory reduction
Advanced Features and Best Practices
- Advanced configurations in Quarkus
- Performance tuning and optimization
- Best practices for Quarkus development
- Overview of extensions and project customization
TENHO INTERESSE