As a junior developer I am struggling to decide which approach should I use for a prototype. Given two separate apps (Java Spring Boot and Angular) I can learn many things from scratch. On the other hand JHipster provides a skeleton and a lot of already working components to copy paste.
So what do you recommend for a junior? Should I jump to JHipster or should I built everything myself in order to conquer the basics? Would it be possible to conquer the basics from a top down approach (JHipster)??
Note: I understand that Jhipster allows the easy integration of other components f.e. provides easy docker support. But still, I am not sure whether this approach is better for someone still on the learning curve.
JHipster is fairly unique in the sense that it doesn't limit users to a specific framework or IDE. Thus, users can decide what frontend framework they want. For example Angular, React or Vue). Or what database (for example MySQL, PostgreSQL, MongoDB and so on).
"Quick to develop", "Great mvc" and "Powerful" are the key factors why developers consider AngularJS; whereas "Powerful and handy", "Easy setup" and "Java" are the primary reasons why Spring Boot is favored.
Spring Boot and Angular form a powerful tandem that works great for developing web applications with a minimal footprint. In this tutorial, we'll use Spring Boot for implementing a RESTful backend, and Angular for creating a JavaScript-based frontend.
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.
It depends on the time you have for the prototype and if the result is really important.
Solution 1: if you have a lot of time to learn, you can start from scratch and try to build everything on your own. Then, you use JHipster and can compare what you did with JHipster, and use JHipster as a modele (as we try to keep best practices). You can take some code and integrate it to your project but not sure it will work easily. And you will see there are some parts which are really hard to code yourself as they impact all your project (ex: security)
Solution 2: use directly JHipster and focus on your use cases, using the generated codes of JHipster as example. You will learn with a good base code. And you have a good community on stackoverflow and gitter to help you.
As a JHipster team member, I would suggest the solution 2, of course :-)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With