Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Get Hip with JHipster - Colorado Springs Open Source User Group 2021

Get Hip with JHipster - Colorado Springs Open Source User Group 2021

JHipster is bad-ass. It's an Apache-licensed open source project that allows you to generate Spring Boot APIs and Angular (or React/Vue) apps. It has a vibrant community and ecosystem with support for deploying to many cloud providers and using the latest DevOps buzzwords, like Docker and K8s.

This session will show you JHipster, why it's cool, and show you how to create an app with it.

JHipster 7 Demo: https://www.youtube.com/watch?v=6lf64CctDAQ
JHipster 7 Tutorial: https://github.com/mraible/jhipster7-demo#readme

72a2082c6a4dd79ad68befb3db911616?s=128

Matt Raible
PRO

May 10, 2021
Tweet

Transcript

  1. Matt Raible | @mraible Get Hip with JHipster! May 10,

    2021 Photo by Dixie Lawrence https:// fl ickr.com/photos/dixielaw/3691270413
  2. What is JHipster?

  3. How to Use JHipster Install JHipster and Yeoman, using npm:

    npm install -g generator-jhipster Create a directory and cd into it: take app Run it! jhipster
  4. start.jhipster.tech

  5. Thriving OSS Project Started by Julien Dubois on October 21,

    2013 App Generator, Platform, Learning Tool …
  6. @mraible Hi, I’m Matt Raible Father, Husband, Skier, Mountain Biker,

    Whitewater Rafter Bus Lover Web Developer and Java Champion Okta Developer Advocate Blogger on raibledesigns.com and developer.okta.com/blog @mraible
  7. None
  8. None
  9. None
  10. None
  11. developer.okta.com

  12. Authentication Standards

  13. What about YOU? Are you a Java Developer? Web Developer?

    How long have you been doing web development? Do you like Spring? Java/Jakarta EE? Do you like JavaScript? TypeScript?
  14. Do you want to be a hip Java Developer?

  15. Java 8 Parallel Collections JSR 310 Date and Time API

    Functional Interfaces with default method Lambda Expressions (a.k.a. Closures) Nashorn JavaScript Engine
  16. Java 11 New String Methods File Utility Methods Local Variable

    Syntax: var Java EE and CORBA modules removed What about Java 12?
  17. Java 17 Deprecates Applets Release Date: 14 September 2021 Learn

    More at this week’s Denver JUG! https://youtu.be/6NHBI2MojA8
  18. Hipster n. noun 1. One who is exceptionally aware of

    or interested in the latest trends and tastes.
  19. Latest trends in JavaLand? Microservices Embedded App Servers Deployment with

    Containers Environments: dev, test, production Auto-Con fi guration Reactive
  20. Spring Boot Automatically con fi gures Spring whenever possible Provides

    production-ready features such as metrics, health checks and externalized con fi guration Absolutely no code generation and no requirement for XML con fi guration Embeds Tomcat, Jetty, or Undertow directly
  21. SPRING INITIALIZR @ start.spring.io

  22. @SpringBootApplication public class DemoApplication { public static void main(String[] args)

    { SpringApplication.run(DemoApplication.class, args); } } @Entity class Blog { @Id @GeneratedValue private Long id; private String name; // getters, setters, toString(), etc } @RepositoryRestResource interface BlogRepository extends JpaRepository<Blog, Long> { }
  23. @SpringBootApplication class NotesApplication fun main(args: Array<String>) { SpringApplication.run(NotesApplication::class.java, *args) }

    @Entity data class Note(@Id @GeneratedValue var id: Long? = null, var text: String? = null, @JsonIgnore var user: String? = null) @RepositoryRestResource interface NotesRepository : JpaRepository<Note, Long>
  24. Microservices with Spring Boot https://developer.okta.com/blog/2019/05/22/java-microservices-spring-boot-spring-cloud

  25. Latest trends in Web Development? Progressive Web Applications JavaScript MVC

    Frameworks Front-End Optimization REST and GraphQL APIs CSS Grid Micro Frontends
  26. None
  27. None
  28. Hot Frameworks hotframeworks.com

  29. Jobs on Indeed (US) May 2021 0 4,500 9,000 13,500

    18,000 React Angular Vue Vanilla
  30. Stack Over fl ow Tags May 2021 0 100,000 200,000

    300,000 400,000 React Angular Vue
  31. GitHub Stars May 2021 0 50,000 100,000 150,000 200,000 React

    Angular Vue
  32. Wouldn’t it be hip if…? ⚭

  33. @spring_io #springio17 JHipster jhipster.tech JHipster is a development platform to

    generate, develop and deploy   Spring Boot + Angular/React Web applications and Spring microservices. and Vue! ✨
  34. JHipster is Inclusive https://github.com/jhipster/jhipster-artwork

  35. JHipster is Open Source Web Statistics, April 2021 304K Page

    Views / 495K on GitHub 173K Downloads GitHub Statistics 18.4K Stars 617 Contributors
  36. JHipster Foundations Spring Boot Spring Security Angular, React, or Vue

    Bootstrap Micrometer Maven or Gradle Authentication Type: cookie- based, JWT, or OAuth 2.0 / OIDC Type of Database: SQL or NoSQL Caching: EhCache or Hazelcast Elasticsearch Frameworks Project Options
  37. How to use JHipster To install JHipster and Yeoman, use

    npm: npm install -g generator-jhipster Then create a directory and cd into it: mkdir myapp && cd myapp Then run JHipster: jhipster
  38. Demo Time! Generate a basic blog application Look at its

    fi les and con fi guration 
 Generate the CRUD entities Limit blogs to current user, allow HTML Deploy to … all in 20 minutes!
  39. Demo Entity Diagram

  40. Get Started with JHipster 7 Demo https://github.com/mraible/jhipster7-demo | https://youtu.be/6lf64CctDAQ

  41. JHipster 6 with OIDC Authentication https://developer.okta.com/blog/2019/04/04/java-11-java-12-jhipster-oidc

  42. OAuth 2.0 and OpenID Connect OpenID Connect OAuth 2.0 HTTP

    OpenID Connect is for authentication 
 
 OAuth 2.0 is for authorization
  43. Reactive Microservices with JHipster 7 https://developer.okta.com/blog/2021/01/20/reactive-java-microservices

  44. JHipster is Knowledge

  45. The JHipster Mini-Book Written with Asciidoctor Quick and to the

    point, 164 pages Developed a Real World App: www.21-points.com Free Download from infoq.com/minibooks/jhipster-mini-book
  46. Lines of Code in 21-Points 0 6500 13000 19500 26000

    Project Created Entities Generated Business Logic and UI 25,670 23,590 16,728
  47. Project Creation Entities Generated Biz Logic and UI 0 10000

    20000 30000 2,999 2,648 1,839 9,472 8,911 5,523 8,383 7,696 5,892 Java TypeScript HTML Lines of Code by Language
  48. Learn More stackoverflow.com Spring Boot spring.io/guides JHipster www.jhipster.tech Okta APIs

    developer.okta.com
  49. Getting Help stackover fl ow.com/tags/jhipster gitter.im/jhipster/generator-jhipster github.com/jhipster/.../CONTRIBUTING.md groups.google.com/.../jhipster-dev

  50. What’s Next for JHipster? Micro Frontends Spring Boot 2.5 GraphQL

    * These are my personal interests.
  51. developer.okta.com/blog @oktadev

  52. Action! Try Spring Boot Try Angular, React, or Vue Try

    JHipster Explore PWAs Enjoy the bootiful experience!
  53. Questions? Keep in touch! raibledesigns.com @mraible Presentations speakerdeck.com/mraible Code github.com/oktadev

  54. developer.okta.com