Slide 1

Slide 1 text

Matt Raible | @mraible Get Hip with JHipster! May 10, 2021 Photo by Dixie Lawrence https:// fl ickr.com/photos/dixielaw/3691270413

Slide 2

Slide 2 text

What is JHipster?

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

start.jhipster.tech

Slide 5

Slide 5 text

Thriving OSS Project Started by Julien Dubois on October 21, 2013 App Generator, Platform, Learning Tool …

Slide 6

Slide 6 text

@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

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

developer.okta.com

Slide 12

Slide 12 text

Authentication Standards

Slide 13

Slide 13 text

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?

Slide 14

Slide 14 text

Do you want to be a hip Java Developer?

Slide 15

Slide 15 text

Java 8 Parallel Collections JSR 310 Date and Time API Functional Interfaces with default method Lambda Expressions (a.k.a. Closures) Nashorn JavaScript Engine

Slide 16

Slide 16 text

Java 11 New String Methods File Utility Methods Local Variable Syntax: var Java EE and CORBA modules removed What about Java 12?

Slide 17

Slide 17 text

Java 17 Deprecates Applets Release Date: 14 September 2021 Learn More at this week’s Denver JUG! https://youtu.be/6NHBI2MojA8

Slide 18

Slide 18 text

Hipster n. noun 1. One who is exceptionally aware of or interested in the latest trends and tastes.

Slide 19

Slide 19 text

Latest trends in JavaLand? Microservices Embedded App Servers Deployment with Containers Environments: dev, test, production Auto-Con fi guration Reactive

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

SPRING INITIALIZR @ start.spring.io

Slide 22

Slide 22 text

@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 { }

Slide 23

Slide 23 text

@SpringBootApplication class NotesApplication fun main(args: Array) { 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

Slide 24

Slide 24 text

Microservices with Spring Boot https://developer.okta.com/blog/2019/05/22/java-microservices-spring-boot-spring-cloud

Slide 25

Slide 25 text

Latest trends in Web Development? Progressive Web Applications JavaScript MVC Frameworks Front-End Optimization REST and GraphQL APIs CSS Grid Micro Frontends

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

Hot Frameworks hotframeworks.com

Slide 29

Slide 29 text

Jobs on Indeed (US) May 2021 0 4,500 9,000 13,500 18,000 React Angular Vue Vanilla

Slide 30

Slide 30 text

Stack Over fl ow Tags May 2021 0 100,000 200,000 300,000 400,000 React Angular Vue

Slide 31

Slide 31 text

GitHub Stars May 2021 0 50,000 100,000 150,000 200,000 React Angular Vue

Slide 32

Slide 32 text

Wouldn’t it be hip if…? ⚭

Slide 33

Slide 33 text

@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! ✨

Slide 34

Slide 34 text

JHipster is Inclusive https://github.com/jhipster/jhipster-artwork

Slide 35

Slide 35 text

JHipster is Open Source Web Statistics, April 2021 304K Page Views / 495K on GitHub 173K Downloads GitHub Statistics 18.4K Stars 617 Contributors

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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!

Slide 39

Slide 39 text

Demo Entity Diagram

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

OAuth 2.0 and OpenID Connect OpenID Connect OAuth 2.0 HTTP OpenID Connect is for authentication 
 
 OAuth 2.0 is for authorization

Slide 43

Slide 43 text

Reactive Microservices with JHipster 7 https://developer.okta.com/blog/2021/01/20/reactive-java-microservices

Slide 44

Slide 44 text

JHipster is Knowledge

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

Learn More stackoverflow.com Spring Boot spring.io/guides JHipster www.jhipster.tech Okta APIs developer.okta.com

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

What’s Next for JHipster? Micro Frontends Spring Boot 2.5 GraphQL * These are my personal interests.

Slide 51

Slide 51 text

developer.okta.com/blog @oktadev

Slide 52

Slide 52 text

Action! Try Spring Boot Try Angular, React, or Vue Try JHipster Explore PWAs Enjoy the bootiful experience!

Slide 53

Slide 53 text

Questions? Keep in touch! raibledesigns.com @mraible Presentations speakerdeck.com/mraible Code github.com/oktadev

Slide 54

Slide 54 text

developer.okta.com