All you need to know about JHipster 5 from its lead developers. Create Web applications using Spring Boot + Angular/React and deploy it to all major cloud platforms like Heroku/AWS/GAE. Model your applications and entities using JDL v3.
full React support ◦ First-class support ◦ Exactly the same set of features as Angular ◦ Everything works the same, even the JDL ▪ Low barrier to entry ▪ Great for companies switching technologies, or using them in parallel ◦ Our goal (nearly achieved!) is to have the same Protractor test suite as with Angular
This is a JHipster blueprint (more about blueprints later!) ◦ The main generator is beginning to work fine, more work is needed on the entities ◦ Join us if you are motivated: https://github.com/jhipster/jhipster-vuejs • The goal is to have exactly the same of features as Angular and React ◦ Will probably get merged into the main project
Webpack version ◦ Big performance increase ◦ Common build for Angular and React (and VueJS) • As we go much further than the default CLIs (Angular CLI and create-react-app), and have better performance, we’ll continue to have our own configuration
for our front-end unit tests ◦ Very big performance increase ◦ As Jest is a full JavaScript project (no native code), installation is much easier, especially on CI systems
that has taken the world by storm ◦ https://prettier.io/ ◦ Nearly 30,000 GitHub stars, and is widely considered a good practice for front-end development • Prettier support in JHipster ◦ Support for TypeScript, JSON, CSS, SCSS ◦ At generation time (for the generated code) and as a Git pre-commit hook (for your own code) • Wouldn’t be neat to have also Prettier support for Java?
for Prettier ◦ Originally coded by Thorben von Hacht ◦ Since last week, it is part of the JHipster organization! • Brings amazing features that don’t exist yet in the Java world ◦ Prettier is much more than a beautifier (no equivalent in Java) ◦ Can be installed as a Git pre-commit hook (without running a JVM!) ◦ Will simplify our templates and offer perfect code generation • 95% finished, but help is much needed ◦ Join us on https://github.com/jhipster/prettier-java
Boot 2.0 complete ◦ Another good reason to use JHipster! • Work is under way for reactive programming support ◦ Lead by Christophe Bornet ◦ Test it by running “jhipster --experimental” ◦ Still work to do on entities and on the client-side • Migration to Spring Boot 2.1 has started ◦ JDK 11 support ◦ We are waiting for Spring Cloud to support Spring Boot 2.1
changes from Spring Boot 2.0 ◦ JHipster still uses Dropwizard: much more battle-tested and stable, but not actively developed anymore • Migration is under way ◦ All technical issues have been solved ◦ Sample project working, templates are currently being written
• Lots of improvements in the cloud space • Heroku: first-class support offering much faster deploys and automatic “git push” deployment (from Heroku) • AWS: fixed Beanstalk deployment, added Amazon Fargate support (from Ippon Technologies) • Google App Engine support (from Google) • Azure documentation (from Microsoft)
• Offers a basic (but fully working) Istio configuration • Offers an alternative to our traditional stacks based on Netflix OSS or Consul ◦ Similar to what Heroku provides ◦ Scaling and networking failures are handled by the infrastructure ◦ Harder to customize (for business cases) or test (for developers), but higher quality and less headaches if you are using a managed Kubernetes service
customize parts of the generator with plugins ◦ Customize only what is required ◦ Work around Yeoman limitations • They enable to plug in your own client-side templates or server-side templates ◦ JHipster Kotlin blueprint is an example ◦ Possibility to add client-side framework like VueJS by the community • Only available for application, entity, spring-service, spring-controller and import-jdl generators
JHipster ◦ https://github.com/jhipster/jhipster-kotlin • Lead by core team member Sendil Kumar N • Migration is a work-in-progress • Replaces most of the server-side java code with Kotlin • Follows a hybrid approach with Java and Kotlin