Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
2. Blogger on raibledesigns.com
Founder of AppFuse
Father, Skier, Mountain
Biker, Whitewater Rafter
Web Framework Connoisseur
Who is Matt Raible?
Bus Lover
3. What about YOU?
Are you a Java Developer?
How long have you been doing web development?
Do you like JSF? Do you like GWT?
Do you like JavaScript?
5. Java 8
Parallel Collections
JSR 310 Date and Time API
Functional Interfaces with default method
Lambda Expressions (a.k.a. Closures)
Nashorn JavaScript Engine
// sort a list by lastName
List<Person> persons = ...;
persons.sort((p1, p2) ->
p1.getLastName().compareTo(p2.getLastName()));
6. Hipster
n. noun
1. One who is exceptionally aware of or interested in the latest trends
and tastes.
7. Latest trends in JavaLand?
Annotations
Environments: dev, test, production
Microservices
Container-less Deployment
Monitoring
8. Spring Boot
Create stand-alone Spring applications
Embeds Tomcat, Jetty or Undertow directly
Provides opinionated 'starter' POMs to simplify your Maven
configuration
Also supports/promotes using Gradle
9. Spring Boot
Automatically configures Spring whenever possible
Provides production-ready features such as metrics, health checks and
externalized configuration
Absolutely no code generation and no requirement for XML
configuration
Grails 3.0 is based on Spring Boot
18. Yeoman
The web's scaffolding tool for modern webapps
Helps you kickstart new projects
Promotes the Yeoman workflow
http://jhipster.github.io/ yeoman.io
21. Generate a basic blog application
Look at its configuration
Generate the CRUD entities
Limit blogs to current user, allow HTML
Deploy to
Demo Goals
… all in 20 minutes!
29. JHipster 3
Microservices based on Spring Cloud
JWT instead of XAuth
Docker image to hub.docker.com
Pluralization of generated entities
Remove the "fast" profile
Restructuring based on John Papa’s Style Guide
Released March 23, 2016
30. JHipster 3 Microservices
1. Generate Gateway for web traffic
and Angular UI
2. Install JHipster Registry
3. Generate microservice apps
4. Install JHipster Console for
monitoring
jhipster.github.io/microservices-architecture
32. The JHipster Mini-Book
Written with Asciidoctor
Quick and to the point, 130 pages
Developed a Real World App:
www.21-points.com
Free Download from
www.infoq.com/minibooks/jhipster-mini-book
33. Lines of Code in 21-Points
0
3500
7000
10500
14000
Project Created Entities Generated Business Logic and UI
13,888
12,736
8,556
34. Project Creation
Entities Generated
Biz Logic and UI
0 3500 7000 10500 14000
2,323
2,214
1,465
4,044
3,776
2,595
6,087
5,505
3,752
Java JavaScript HTML
Lines of Code by Language
37. Stay hip by following me!
raibledesigns.com
@mraible
Presentations
slideshare.net/mraible
Code
github.com/mraible
Questions?
38. The JHipster Mini-Book
1.0 Release on October 30
jhipster-book.com
21-points.com
@jhipster_book
Write your own InfoQ mini-book! github.com/mraible/infoq-mini-book