Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Hier ansehen

1 von 39 Anzeige

Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016

Herunterladen, um offline zu lesen

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 JWT. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.

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 JWT. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Andere mochten auch (15)

Anzeige

Ähnlich wie Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016 (20)

Weitere von Matt Raible (20)

Anzeige

Aktuellste (20)

Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016

  1. 1. Photos by http://mcginityphoto.com Get Hip with JHipster! Matt Raible • @mraible
  2. 2. Blogger on raibledesigns.com Founder of AppFuse Father, Skier, Mountain Biker, Whitewater Rafter Web Framework Connoisseur Who is Matt Raible? Bus Lover
  3. 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?
  4. 4. Do you want to be a hip Java Developer?
  5. 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. 6. Hipster n. noun 1. One who is exceptionally aware of or interested in the latest trends and tastes.
  7. 7. Latest trends in JavaLand? Annotations Environments: dev, test, production Microservices Container-less Deployment Monitoring
  8. 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. 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
  10. 10. SPRING INITIALIZR @ start.spring.io
  11. 11. Spring Boot Demo
  12. 12. Latest trends in Web Development? JavaScript MVC Frameworks CSS 3 with Animations Mobile First Front-End Optimization REST APIs
  13. 13. Google Trends
  14. 14. Wouldn’t it be hip if…? ⚭
  15. 15. JHipster jhipster.github.io
  16. 16. JHipster Project Web Statistics, May 2016 246K Page Views 18K Downloads GitHub Statistics 4260 Stars 230 Contributors www.openhub.net/p/generator-jhipster
  17. 17. JHipster Spring Boot Spring Security AngularJS Bootstrap Metrics Maven or Gradle Authentication Type: cookie-based (with Social), JWT or OAuth2 Type of Database: SQL or NoSQL Caching: EhCache or Hazelcast Elasticsearch Gulp.js Foundational Frameworks Project Options
  18. 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
  19. 19. Browsersync www.browsersync.io
  20. 20. Demo Time!
  21. 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!
  22. 22. Demo Entity Diagram
  23. 23. JHipster Tools IntelliJ IDEA and Eclipse Vagrant JHipster Development Box Docker Installation Docker Compose JDL and JDL Studio JHipster-UML
  24. 24. JDL Studio
  25. 25. JHipster UML Supported UML Editors Modelio UML Designer GenMyModel (not free) Visual Paradigm (not free, but proposes a community edition) jhipster.github.io/jhipster-uml
  26. 26. High Performance Scala, Akka and Netty Nice HTML-based Reporting Scenario Recorder Load Testing with Gatling val scn = scenario("Test the Blog entity")
 .exec(http("First unauthenticated request")
 .get("/api/account")
 .headers(headers_http)
 .check(status.is(401)))
 .pause(10)
 .exec(http("Authentication")
 .post("/api/authenticate")
 .headers(headers_http_authentication)
 .formParam("username", "admin")
 .formParam("password", "admin")
 .check(jsonPath("$.token").saveAs("x_auth_token")))
 .pause(1)
 .exec(http("Authenticated request")
 .get("/api/account")
 .headers(headers_http_authenticated)
 .check(status.is(200)))
 .pause(10)
 .repeat(2) {
 exec(http("Get all blogs")
 .get("/api/blogs")
 .headers(headers_http_authenticated)
 .check(status.is(200)))
 .pause(10 seconds, 20 seconds)
 .exec(http("Create new blog")
 .put("/api/blogs")
 .headers(headers_http_authenticated)
 .body(StringBody("""{"id":null, "name":"SAMPLE_TEXT", "handle"
  27. 27. www.jhipster-book.com/#!/news/entry/adding-protractor-tests What about UI Testing?
  28. 28. JHipster Modules jhipster.github.io/modules/marketplace Entity Audit Swagger2Markup Ionic + many more! jhipster.github.io/modules/creating-a-module
  29. 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. 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
  31. 31. JHipster as Knowledge
  32. 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. 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. 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
  35. 35. Learn More twitter.com/java_hipster jhipster.github.io github.com/jhipster/generator-jhipster angularjs.org youtube.com/watch?v=baVOGuFIe9M
  36. 36. Getting Help stackoverflow.com/tags/jhipster gitter.im/jhipster/generator-jhipster github.com/jhipster/.../CONTRIBUTING.md groups.google.com/.../jhipster-dev
  37. 37. Stay hip by following me! raibledesigns.com @mraible Presentations slideshare.net/mraible Code github.com/mraible Questions?
  38. 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

×