Open In App

JHipster (Java Hipster) – A Full Stack Web Development Platform for the Modern Developer

According to the Stack Overflow Developer survey 2019, about 51% of developers are full-stack developers. So, what makes a developer a full-stack developer? A full-stack developer is the one who plays with all facets of the development process, from front-end to back-end, to databases, and testing and debugging. Here, stack refers to a wide variety of components and tools that contribute to the development of an application. 



In this feature, we will discuss JHipster, a full-stack development platform that can eliminate 70% of your effort in writing boilerplate code and setting up libraries. JHipster helps you to focus on business logic rather than spending time in integrating technologies. It supports a wide array of modern web application technologies. Let’s look at the different technologies supported in JHipster.

Client-Side Technologies

In recent years, client-side technologies have grown rapidly from single-page applications to the MVVM (Model-View-ViewModel) framework. This technological advancement became overwhelming for developers. The good news is that the JHipster supports a wide array of client-side technologies. Here, we will discuss the important client-side technologies supported in JHipster.



1. UI Technologies

JHipster supports various UI technologies. Let’s have a look at a few UI technologies.

2. MVVM Framework

Model-View-View-Model (MVVM) is an architectural pattern that separates UI from the server-side. JHipster supports Angular and React frameworks. 

A. Angular

Angular is a typescript based MVVM framework for building mobile and desktop web applications. Some features of Angular are as follows:

B. React

React is a JavaScript library for developing user interfaces, and uses an XML like syntax called JSX to write React components.  It is not a fully established MVVM framework – it only deals with the rendering of UI. But, React allows interfacing with other libraries to offer features similar to Angular. These libraries include React Router, Redux, MobX, and so on. Normally, JHipster uses TypeScript to code React. But it can also be coded using JavaScript as well.

3. Testing Framework

Due to the significant growth of the client-side framework, there also arises the need for client-side testing frameworks. JHipster supports various client-side testing frameworks for unit testing, and as well as end-to-end testing. They are as follows:

4. Other tools

A few of the other tools supported in JHipster are:

Server-Side Technologies

With the evolution of server-side technologies, developers were able to provide a rich set of features using a wide array of tools and technologies. Let’s take a look at the important technologies supported by JHipster.

1. Application Framework

With the rise of the Spring framework, there was a significant reduction in demand for JavaEE. Also, Hibernate is another core concept that needs to be considered. Let’s discuss them below.

2. Security 

JHipster supports a wide variety of security mechanisms. They are as follows:

3. Testing Tools

The testing tools supported in JHipster are as follows.

4. Build Tools

Maven and Gradle are the two server-side build tools supported in JHipster.

5. Database Options

JHipster provides support to a wide array of databases that includes both SQL and NoSQL databases.

A. SQL Databases

The SQL databases supported in JHipster are H2, MySQL, MariaDB, PostgreSQL, MS SQL, and Oracle. Below we will discuss a few of them.

  1. MariaDB: It is an open-source relational database that offers fast, scalable, and robust service. MariaDB has a rich ecosystem of storage engines and plugins. The latest version of MariaDB has GIS and JSON features.
  2. PostgreSQL: PostgreSQL is another open-source object-relational database system that offers reliability, robustness, and performance. It supports advanced indexing techniques such as GiST, GIN, Covering Indexes, Booming filters, and more. PostgreSQL provides high-security options that include GSSAPI, SSPI, LDAP, SCRAM-SHA-256.  One of the other features of PostgreSQL is the JSON object storage, which makes it possible to use it as a hybrid model.
  3. MS SQL: It is an enterprise database system and requires a paid license. MS SQL is a popular choice for intelligent and mission-critical applications.
  4. Oracle: It provides a performant architecture for accessing and maintaining data. Oracle has enterprise-ready features such as sharding, replication, high availability, and so on.

B. NoSQL Databases

The NoSQL databases supported in JHipster are as follows:

  1. MongoDB: MongoDB is a document-based, distributed database. It stores data in JSON format that makes it more powerful and expressive. It supports aggregations and other features such as geo-based search, graph search, and text search.
  2. Cassandra: Cassandra is a popular NoSQL database because of its fundamental architectural choices. Its linear scalability and fault tolerance features make it the best fit for mission-critical applications.
  3. Elasticsearch: Elasticsearch is a NoSQL database, but it is primarily used as a search engine on account of its indexing capability and performance.

Other Development Tools

1. GIT

GIT is an open-source distributed version control system for source code management. It has a variety of features that include branching and merging, convenient staging areas, multiple workflows, and more. JHipster uses GIT for application upgrade and also for the smooth working of Node.js and NPM ecosystems.

2. Node.js

Node.js is a JavaScript runtime environment, which is managed by NPM.  The JHipster CLI requires Node.js to run the application because it depends on the NodeJS application. Many of the tools used in the application also need NodeJS.

3. Docker

Docker is an open-source technology that offers operating-system-level virtualization or containerization. It helps to create containers that are easy to build, deploy, version, and share. It contains dependencies that are needed for the application to run on the host OS. For this reason, it is lighter than the virtual machine. Docker allows even more applications to run on the same hardware compared to VM.

Deployment Options

1. Heroku

Heroku is a cloud platform to deploy, manage, and scale apps. It focuses on applications instead of containers and supports a wide range of programming languages. JHipster uses the Heroku sub-generator to deploy and update JHipster apps to the Heroku cloud platform.

2. Cloud Foundry

Cloud Foundry is a multi-cloud computing platform that has a container-based architecture. It can run applications developed on any programming language, and it won’t interrupt your current workflow. The applications are deployed with the help of the JHipster sub-generator.

3. Amazon Web Services

AWS is a cloud computing platform that provides platform, software, and infrastructure as a service. Elastic Beanstalk from AWS is an easy-to-use platform to deploy and scale your applications. Using sub-generators, JHipster can deploy an application to AWS.  

JHipster is becoming popular among Full-stack developers. With JHipster, you can focus more on business logic, and it supports a wide array of web application technologies. It has more than 400 contributors – Google, Redhat, Heroku are some official contributors.  Enjoy coding with JHipster and become an efficient jack of all trades. 


Article Tags :