Introdução ao JHipster
Tags: jhipster, java, agile
Published: 2024-03-14 19:03:11

Olá, dev! Se você está começando sua jornada no mundo do desenvolvimento de software ou se, mesmo com anos de experiência na produção de software, procura uma ferramenta que possa impulsionar sua produtividade e expandir seu conhecimento em tecnologias mais modernas, você precisa conhecer o JHipster.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zrdc9i7uyr0b6opaa969.png)

## O que é JHipster?

O JHipster é um gerador de código de alto nível que combina uma lista extensa de ferramentas e plataformas de desenvolvimento de ponta. Ele é construído sobre uma outra ferramenta de geração decódigo, o Yeoman. As aplicações geradas pelo JHipster têm seu backend baseado no framework Spring e, para seu frontend, o desenvolvedor pode escolher entre os frameworks Angular ou Vue ou a biblioteca React. Com o JHipster, você pode criar um projeto web Java completo, com uma interface amigável e reponsiva, API REST documentada, cobertura de testes abrangente, segurança básica e integração com banco de dados relacionais ou NoSQL e sistemas de messageria como Kafka ou Pulsar.

## Por que usar JHipster?

Aqui estão algumas razões pelas quais o JHipster pode ser a ferramenta ideal para você:

**Produtividade:** com apenas alguns comandos, você pode gerar uma aplicação web ou microserviço totalmente operacional. As aplicações geradas estão configuradas com as ferramentas de desenvolvimento mais apropriadas no ciclo de vida do desenvolvimento, tais como Maven, Gradle, npm, Liquibase etc.

**Tecnologias modernas:** utilização de tecnologias modernas que são demandadas no mercado atual. Aplicações conteinerizadas, com recursos de cache, pooling de conexões para otimização de desempenho, gerenciamento de log, monitoramento da aplicação em tempo de execução e suporte aos principais provedores de nuvem.

**Robustez e desempenho:** aplicações robustas, de alto desempenho e escaláveis, capazes de suportar grande número de usuários concorrentes .No frontend, fragmentos das páginas são atualizados de forma dinâmica fazendo com que os usuários da aplicação não precisem esperar pela carga completa de páginas. O backend gerado se baseia nas tecnologias mais recentes de cache e acesso a dados, tendo segurança e desempenho como foco.

**Personalização:** escolha entre uma variedade de opções para personalizar sua aplicação durante a geração do projeto. O desenvolvedor pode escolher, por exemplo, entre uma aplicação monolítica ou um conjunto de microserviços; qual a biblioteca de cache a ser utilizada pela aplicação e até mesmo se a aplicação suportará internacionalização e quais idiomas.

**Boas Práticas:** o código gerado segue as melhores práticas da indústria, adota padrões como IoC¹, AOP² e abstrações para facilitar a codificação, além de ser bem comentado.

**Comunidade:** Uma comunidade ativa e uma ampla documentação estão disponíveis para ajudá-lo a resolver problemas e expandir suas habilidades.

## Setup da estação de desenvolvimento

Antes de começar a utilizar o JHipster para desenvolver sua próxima aplicação, você precisará fazer o setup do ambiente de desenvolvimento instalando pré-requisitos para o funcionamento do JHipster:

- Java³
- Node.js⁴
- Git

Instaladas estas ferramentas de desenvolvimento, você deverá instalar o JHipster de forma global, o que pode ser feito via linha de comando utilizando o gerenciador de pacotes NPM:

```shell
npm install -g generator-jhipster
```

## Primeiros Passos com JHipster

Uma vez que as dependências e o próprio JHipster estão devidamente instalados, criar um novo projeto é um processo guiado por um assistente de linha de comando que levará o desenvolvedor através de várias opções para configurar sua aplicação conforme ilustrado na imagem a seguir.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7s8v2kd9kla4faoofjkz.png)

Dentre várias opções, o desenvolvedor poderá escolher entre criar uma aplicação monolítica ou um conjunto de microserviços, dependendo das necessidades do seu projeto.

Um tutorial detalhado para a geração de uma aplicação utilizando o JHipster 8 será publicado em um próximo post neste mesmo canal.

## Conclusão

O JHipster é uma excelente escolha para o desenvolvedor que queira se familiarizar com as tecnologias usadas em aplicações corporativas modernas. Ele não só ajuda a acelerar o processo de desenvolvimento, mas também serve como uma ferramenta de aprendizado valiosa.

Experimente o JHipster hoje mesmo e dê um grande passo na sua carreira de desenvolvedor! Siga-me e seja notificado sempre que tiver conteúdo novo por aqui 😉

<hr style="border-top: 1px dotted #999"/>

1. Inversion of Control: princípio de desenvolvimento de software onde o fluxo de controle é invertido. Em vez de um programa ditar o que as classes ou objetos devem fazer, o framework ou container é quem decide. Isso ajuda a criar sistemas mais modulares, extensíveis e fáceis de manter.

2. Aspect-Oriented Programming: técnica de programação que visa melhorar a modularidade do código separando preocupações transversais.

3. Para utilizar o JHipster 8, última versão do JHipster na data da publicação deste post, você precisará instalar o Java v17 ou mais recente, um pré-requisito do Spring Boot 3.2.

4. Para utilizar o JHipster 8, você precisará instalar o Node.js v18 ou mais recente