from the authors blog
"Folks have been asking me if I knew of any good examples of a J2EE web application that utilizes the following technologies: Angular JS, Bootstrap, Spring 4, Spring Security 4 and Hibernate 5.2.4, and after searching around I decided that it would be best to create an example project that would demonstrate the integration of all these technologies as well as describe some of the specifics."
Hipster is a Yeoman generator, used to create a Spring Boot + AngularJS project.
Goal
Our goal is to generate for you a complete and modern Web app, unifying:
A high-performance and robust Java stack on the server side with Spring Boot
A sleek, modern, mobile-first front-end with AngularJS and Bootstrap
A powerful workflow to build your application with Yeoman, Bower, Gulp and Maven
This is totally not similar to JHipster, which has an immense array of possibilities and customization.
Although this is a great Bootstrap project for an AngularJS frontend + secured Spring backend, it is vastly inferior in terms of features, possibilities and customization over JHipster.
I love what you guys are trying to do with JHipster, but the generated code is just so... bloated. Example: I saw you generate an Async queue as a .java file. Surely this could be done as a shared library, rather?
What I find odd about this project is that it uses maven to build the client (or at least a maven plugin that in turn executes grunt/gulp/whatever). Does anyone have experience with that? Is it any good?
Had some experience with it in BigCorp™. I don't love it, but it works. It's just a plugin that will install node (and npm), run `npm instal` and then run the specified gulp task.
The good part is that it's not that bad to fit within the company infrastructure, particularly if it's a BigCorp kind of thing. It's interesting because it allows you to play well with CI processes and quality rules - I'm thinking about tests here. With this kind of setup, you can make the front-end build fail if e.g. code coverage drops below a given threshold, using the same setup you use for other components.
The boring part is that it's yet another place to put config info. A particularly ugly one which reeks of over-engineering IMHO. Also it's XML; XML isn't quite the song of the front-end people, at least config-wise. :)
Maven was added for
1. Java developers to be able to build the project, it is there so they can build the client.
2. For infrastructures that don't support proper front end build tools.
Saying that however to just build the client you can run "gulp" or "gulp zip" to create a build artefact.
15 comments
[ 2.2 ms ] story [ 49.1 ms ] threadHipster is a Yeoman generator, used to create a Spring Boot + AngularJS project. Goal Our goal is to generate for you a complete and modern Web app, unifying:
A high-performance and robust Java stack on the server side with Spring Boot A sleek, modern, mobile-first front-end with AngularJS and Bootstrap A powerful workflow to build your application with Yeoman, Bower, Gulp and Maven
https://start.spring.io is your fastest way to production using Java/Spring
The good part is that it's not that bad to fit within the company infrastructure, particularly if it's a BigCorp kind of thing. It's interesting because it allows you to play well with CI processes and quality rules - I'm thinking about tests here. With this kind of setup, you can make the front-end build fail if e.g. code coverage drops below a given threshold, using the same setup you use for other components.
The boring part is that it's yet another place to put config info. A particularly ugly one which reeks of over-engineering IMHO. Also it's XML; XML isn't quite the song of the front-end people, at least config-wise. :)
Saying that however to just build the client you can run "gulp" or "gulp zip" to create a build artefact.
Or for test execution "gulp run" then access http://localhost:4444/test
Anyone wanting to use this example would probably be better creating a "gulp test" task also.