Finally, after so much of hardship, JHipster 4.0.0 is released. AngularJS 1 and Angular 2.x are now supported by JHipster which is the only “full stack” generator thus creating an Angular 2.x code that is non-trivial using JDLStudio.Now application generation is faster, safer and easier as they removed bugs from JHipster 4.0. Soon after the release of JHipster 4.0, their team said that they have broken all record number of installations.
JHipster 4.0.0 support for Angular 2
The big news is that JHipster now supports Angular 2.x
The default option is for JHipster is still AngularJS 1: The user can use still use AngularJS 1 with JHipster without any issues.It is battle-tested and widely-used code in your projects, so the user can start implementing.
Now, Angular2 is marked as “beta”, even after knowing that many projects are successfully using it without any issues.They have very few limitations and known bugs so, you can start adopting it in your projects.The main concern with this code is that it’s new so a lot more patch releases are expected in the coming weeks, your projects need to be updated few times accordingly.
Migrating to Yarn and Webpack
JHipster still supports NPM, they have succeeded in migrating to yarn: Now they don’t find many issues in downloading and has faster builds.So they suggest everyone switch to Yarn.In future,at some point they may drop official NPM.Those who are still using Angular 2 should know that they have replaced with Yarn to Bower. Now the package manager has better performance and the quality is better.
Along with Angular 2, a migration has taken place from Gulp to Webpack.The efficiency of web pack is more when working with Angular 2, and directly you can run it from Yarn.Now there is no need of installing Gulp anymore!
If you are using Angular2+yarn+webpack, all the pain points from JHipster 3.X has been removed.
Server-side library and NG JHipster library
The usual complaint with JHipster is that too much code is generated. So they have introduced 2 new libraries with JHipster 4:
JHipster server-side library: this library consists of “utility” classes that were generated earlier .you will be able to override or extend them if you don’t want to them as default implementation, in those classes it is not suited.
NG JHipster library consists of similar kind of “utility” code that was generated earlier for Angular 2.x.
So the code generated should be easier to follow.
Since JHipster is upgraded with Spring libraries and with some of the major refactoring. One of the most important is their switch over to constructor- based injection from the field-based injection.
Most of the users find Constructor-based injection consider it as a cleaner, in particular, it makes testing simpler.
Now JHipster has a constructor based injection in Spring and in Angular as well, making the code more consistent.
The dependency of @Inject annotations is being removed, so they have deleted javax.inject dependency from the project.
“AAA” ranking on Sonar
You can view the official Sonar report here.
JHipster-generated project is of higher quality than most of the projects that are “hand-crafted”.