Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Spring Roo and JHipster

I've been running some experiments with my own with Spring Roo and it seems to be pretty cool, but i heard that JHipster is better. What's different between Spring Roo and JHipster?

like image 379
Don Wito Avatar asked May 05 '17 09:05

Don Wito


People also ask

Is JHipster any good?

JHipster will help a lot to be productive from day one and to cut on the boilerplate code that you need to write. So you will be able, to begin with, feature development really fast. This works well with new projects with tight deadlines, proof of concepts, internal projects, hackathons, and startups.

What is spring boot JHipster?

JHipster is, in a nutshell, a high-level code generator built upon an extensive list of cutting-edge development tools and platforms. The main components of the tool are: Yeoman, a front-end scaffolding tool. Good old Spring Boot. AngularJS, the prominent Javascript framework.

Is JHipster worth learning?

JHipster is great for generating a Java web application based on modern best practices and using some of the most popular open source libraries. The generated project structure can look a bit complex at first - that's because it's actually a full featured Java app with all its bells and whistles.

Is JHipster a framework?

JHipster is a free and open-source application generator used to quickly develop modern web applications and Microservices using Angular or React (JavaScript library) and the Spring Framework.


2 Answers

I recommend you analize the requirements of your project and choose the right tool.

  • JHipster is a good devel tool to create Spring Boot projects of AngularJS single-page web applications.
  • Spring Roo 2 is a good devel tool to create, maintain and evolve Spring Boot projects of SpringMVC-Thymeleaf multi-page web applications. Take a look to the application architecture created by Roo 2.

You choose which is the right pattern for your project: single-page vs multi-page.

Note that by evolve a project I meant the tool can update the generated code without loosing your changes. Nowadays, JHipster cannot update the generated code without loosing your changes as said in its documentation (https://jhipster.github.io/creating-an-entity/#updating-an-existing-entity):

When you run the entity sub-generator for an existing entity, you will be asked a question ‘Do you want to update the entity? This will replace the existing files for this entity, all your custom code will be overwritten’ ...

Spring Roo is able to update and evolve the application code without loosing the developer changes. So, I recommend you review and check the features, patterns and good practices that each tool includes in your application and choose the one you think is better for your project.

like image 130
eruiz Avatar answered Oct 22 '22 08:10

eruiz


Roo is excellent on the server side level as it is based on Spring Boot. Its command line is very smart. On the negative side, they introduced a lot of new @ROO annotations, generates a lot of AspectJ files, and the user interface is a classic, old-fashioned HTML where you load a new page almost with each request. For that reason, the user interface is a little bit slow and outdated. In nutshell, the strong point of the tool is on the server side only, IMHO.

JHipster is also using Spring Boot which means it did not lose any edge, but in addition to it, they generate a single page application that is very modern. They depend on nodejs and other client side tools to manage a strong client-side user interface. JHipster also covers a lot more options on the client and server side, for example, NoSQL options.

I moved to JHipster, but can not deny missing Roo clever shell.

like image 25
Ahmed Hammad Avatar answered Oct 22 '22 08:10

Ahmed Hammad