Introduction

JHipster is one of those open-source projects you stumble upon and immediately think, “Of course!” It combines three very successful frameworks in web development: Bootstrap, Angular, and Spring Boot. According to the 2021 Stack Overflow Developer Survey, Spring and Angular were among the top 10 web frameworks used by professional developers. In 2022, Angular ranked as the fifth most used web framework, while Spring moved to an other frameworks category and ranked fourth.

Julien Dubois started JHipster in October 2013 (Julien’s first commit was on October 21, 2013). The first public release (version 0.3.1) launched on December 7, 2013. Since then, the project has had over 240 releases! It is an open-source, Apache 2.0-licensed project on GitHub. It has a core team of 38 developers and over 660 contributors. You can find its homepage at www.jhipster.tech. Its GitHub project shows it’s mostly written in JavaScript (53%), TypeScript (19%), and Java (17%). EJS is trailing in the fourth position with 8%.

JHipster started as a Yeoman generator. Yeoman is a code generator that you run with a yo command to generate complete applications or useful pieces of an application. Yeoman generators promote what the Yeoman team calls the “Yeoman workflow”. This is an opinionated client-side stack of tools that can help developers quickly build beautiful web applications. It provides everything needed to begin working without the normal pains associated with a manual setup.

The Yeoman workflow is made up of three types of tools to enhance your productivity and satisfaction when building a web app:

  • the scaffolding tool (yo)

  • the build tool (npm/Yarn, webpack, etc.)

  • the package manager (npm/Yarn)

JHipster now uses its own jhipster CLI to replace yo. This makes for a better developer experience because you can simply type jhipster instead of yo jhipster.

This book shows you how to build an app with JHipster and guides you through many tools, techniques, and options. Furthermore, it explains the UI components and API building blocks so that you can understand the underpinnings of a JHipster application.