$30 off During Our Annual Pro Sale. View Details »

What's New in JHipsterLand - Devoxx Poland 2017

What's New in JHipsterLand - Devoxx Poland 2017

JHipster is an application generator that allows you to create monoliths or microservices, based on Spring Boot and Angular. It leverages Spring Cloud for microservices and contains best-of-breed JavaScript and CSS libraries for creating your UI. In this session, you’ll learn about what’s new in JHipster. Topics include Angular 4, Progressive Web Apps, HTTP/2, JUnit 5 and Spring 5.

Monolith Demo: https://github.com/mraible/jhipster4-demo/blob/master/README.adoc

Microservices Demo: https://developer.okta.com/blog/2017/06/20/develop-microservices-with-jhipster

Matt Raible

June 23, 2017
Tweet

More Decks by Matt Raible

Other Decks in Programming

Transcript

  1. Blogger on raibledesigns.com UI Architect and Java Champion Father, Skier,

    Mountain Biker, Whitewater Rafter Web Framework Connoisseur Who is Matt Raible? Bus Lover Okta Developer Evangelist
  2. #DevoxxPL About You Are you a Java developer that likes

    Spring? Do you like JavaScript? TypeScript? Anyone using Angular? Have you used JHipster before?
  3. #DevoxxPL JHipster is Open Source Web Statistics, May 2017 386K

    Page Views 49K Downloads GitHub Statistics 7297 Stars 337 Contributors www.openhub.net/p/generator-jhipster
  4. How to use JHipster To install JHipster and Yeoman, use

    npm: npm install -g yo generator-jhipster Then create a directory and cd into it: mkdir myapp && cd myapp Then run Yeoman: yo jhipster
  5. Feature In JHipster 4? Angular ✅ Progressive Web Apps ✅

    HTTP/2 ✅ JUnit 5 ❌ Spring 5 ❌ Bootstrap 4 ✅ What’s new in JHipsterLand? #DevoxxPL
  6. HTTP/2 Binary, instead of textual Fully multiplexed, instead of ordered

    and blocking Can use one connection for parallelism Uses header compression to reduce overhead Allows servers to “push” responses proactively into client caches
  7. HTTP/2 in JHipster /* * Enable HTTP/2 for Undertow -

    https://twitter.com/ankinson/status/829256167700492288 * HTTP/2 requires HTTPS, so HTTP requests will fallback to HTTP/1.1. * See the JHipsterProperties class and your application-*.yml configuration files * for more information. */ if (jHipsterProperties.getHttp().getVersion().equals(JHipsterProperties.Http.Version.V_2_0)) { if (container instanceof UndertowEmbeddedServletContainerFactory) { ((UndertowEmbeddedServletContainerFactory) container) .addBuilderCustomizers((builder) -> { builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true); }); } }
  8. HTTP/2 in JHipster # =============================================================================================== # To enable SSL, generate

    a certificate using: # keytool -genkey -alias blog -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 # # You can also use Let's Encrypt: # https://maximilian-boehm.com/hp2121/Create-a-Java-Keystore-JKS-from-Let-s-Encrypt-Certificates.htm # # Then, modify the server.ssl properties so your "server" configuration looks like: # # server: # port: 8443 # ssl: # key-store: keystore.p12 # key-store-password: <your-password> # keyStoreType: PKCS12 # keyAlias: blog # =============================================================================================== jhipster: http: version: V_1_1 # To use HTTP/2 you will need SSL support (see above the "server.ssl" configuration)
  9. #DevoxxPL Spring Boot 1.5 Apache Kafka Support Cloud Foundry actuator

    extensions Spring Data Ingalls LDAP support Loggers endpoint Spring Security 4.2 Support
  10. Build Tools Java: Maven or Gradle AngularJS: Gulp Angular: Webpack

    Web Dependencies: AngularJS: Bower Angular: npm or yarn
  11. Continuous Integration and Deployment $ yo jhipster:ci-cd Supports: Jenkins pipeline

    Travis CI GitLab CI CircleCI jhipster.github.io/setting-up-ci/
  12. #DevoxxPL The JHipster Mini-Book 2.0 Release on Dec 5, 2016

    jhipster-book.com 21-points.com @jhipster_book Write your own InfoQ mini-book! github.com/mraible/infoq-mini-book