SlideShare a Scribd company logo
Matt Raible | @mraible
Bootiful Development with Spring Boot and React
April 23, 2019
Photo by Premnath Thirumalaisam
https://www.flickr.com/photos/premnath/9939139384
Blogger on raibledesigns.com and

developer.okta.com/blog
Web Developer and Java Champion
Father, Skier, Mountain Biker,
Whitewater Rafter
Open Source Connoisseur
Who is Matt Raible?
Bus Lover
Okta Developer Advocate
Bootiful Development with Spring Boot and React - GIDS 2019
Bootiful Development with Spring Boot and React - GIDS 2019
Bootiful Development with Spring Boot and React - GIDS 2019
developer.okta.com
What About You?
Bootiful Development
http://bit.ly/boot-and-react
OAuth 2.0 Overview
Today’s Agenda
Why Spring Boot?

Demo: Developing with Spring Boot

Introduction to ES6 and TypeScript

Why React?

Demo: Developing with React

Introduction to PWAs and JHipster
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

Embeds Tomcat, Jetty or Undertow directly
SPRING INITIALIZR @ start.spring.io
Bootiful Development with Spring Boot and React - GIDS 2019
@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> {
}
@spring_io
#springio17
Microservices with Spring Boot
https://developer.okta.com/blog/2017/06/15/build-microservices-architecture-spring-boot
@spring_io
#springio17
Secure Microservices with Spring Boot
https://developer.okta.com/blog/2018/02/13/secure-spring-microservices-with-oauth
Demo: Build a Spring Boot API
ES6, ES7 and TypeScript
ES5: es5.github.io 

ES6: git.io/es6features 

ES7: bit.ly/es7features

TS: www.typescriptlang.org
TSES7ES6ES5
TypeScript
$ npm install -g typescript
function greeter(person: string) {

return "Hello, " + person;

}



var user = "Jane User";



document.body.innerHTML = greeter(user);
$ tsc greeter.ts
https://www.typescriptlang.org/docs/tutorial.html
@spring_io
#springio17
bus.ts
“Node.js is a JavaScript runtime built on Chrome's V8
JavaScript engine. Node.js uses an event-driven, non-
blocking I/O model that makes it lightweight and
efficient. Node.js' package ecosystem, npm, is the
largest ecosystem of open source libraries in the world.”
https://nodejs.org
https://github.com/creationix/nvm
@spring_io
#springio17
Leading JavaScript Frameworks in 2019
angular.io
facebook.github.io/react
vuejs.org
Bootiful Development with Spring Boot and React - GIDS 2019
“2018: The Year of React
React won the popularity battle in 2017.”
Bootiful Development with Spring Boot and React - GIDS 2019
“React kept a firm grip on its lead in 2018.”
Crunch the Numbers
Hot Frameworks hotframeworks.com
Hot Frameworks hotframeworks.com
Jobs on Indeed (US)
April 2019
0
2,500
5,000
7,500
10,000
React Angular Vue Vanilla
Stack Overflow Tags
April 2019
0
45,000
90,000
135,000
180,000
React Angular Vue
GitHub Stars
April 2019
0
35,000
70,000
105,000
140,000
React Angular Vue
Hello World with React
http://codepen.io/gaearon/pen/ZpvBNJ?editors=0100
<div id="root"></div>
<script>
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
</script>
Imperative Code
if (count > 99) {
if (!hasFire()) {
addFire();
}
} else {
if (hasFire()) {
removeFire();
}
}
if (count === 0) {
if (hasBadge()) {
removeBadge();
}
return;
}
if (!hasBadge()) {
addBadge();
}
var countText = count > 99 ? "99+" : count.toString();
getBadge().setText(countText);
Declarative Code
if (count === 0) {
return <div className="bell"/>;
} else if (count <= 99) {
return (
<div className="bell">
<span className="badge">{count}</span>
</div>
);
} else {
return (
<div className="bell onFire">
<span className="badge">99+</span>
</div>
);
}
Bootiful Development with Spring Boot and React - GIDS 2019
Learning React
https://vimeo.com/213710634
@spring_io
#springio17
React Courses on egghead.io
https://blog.kentcdodds.com/learn-react-fundamentals-and-advanced-patterns-eac90341c9db
@spring_io
#springio17
Progressive Web Apps
“We’ve failed on mobile”

— Alex Russell

https://youtu.be/K1SFnrf4jZo
Mobile Hates You!
How to fight back:

Implement PRPL

Get a ~$150-200 unlocked Android (e.g. Moto G4)

Use chrome://inspect && chrome://inspect?tracing

Lighthouse

DevTools Network & CPU Throttling
The PRPL Pattern
Push critical resources for the initial URL route

Render initial route

Pre-cache remaining routes

Lazy-load and create remaining routes on demand
Learn More about PWAs
https://developer.okta.com/blog/2017/07/20/the-ultimate-guide-to-progressive-web-applications
Demo: Build a React Client
class BeerList extends React.Component<{}, any> {
constructor(props: any) {
super(props);
this.state = {
beers: [],
isLoading: false
};
}
componentDidMount() {
this.setState({isLoading: true});
fetch('http://localhost:8080/good-beers')
.then(response => response.json())
.then(data => this.setState({beers: data, isLoading: false}));
}
render() {
const {beers, isLoading} = this.state;
…
}
}
@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! ✨
Bootiful Development with Spring Boot and React - GIDS 2019
The JHipster Mini-Book
5.0.2 Released last week!

jhipster-book.com 

21-points.com 

@jhipster_book

Write your own InfoQ mini-book! github.com/mraible/infoq-mini-book
Action!
Try Spring Boot

Try React

Try Okta

Explore PWAs

Enjoy the bootiful experience!
DIY: Bootiful Development
http://bit.ly/boot-and-react
CRUD with React and Spring Boot
http://bit.ly/react-boot-crud
Bootiful React with a Java EE API
https://developer.okta.com/blog/2018/09/12/secure-java-ee-rest-api
developer.okta.com/blog
@oktadev
Questions?
Keep in touch!

raibledesigns.com

@mraible

Presentations

speakerdeck.com/mraible

Code

github.com/oktadeveloper

More Related Content

PDF
Bootiful Development with Spring Boot and Vue - RWX 2018
PDF
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
PDF
Bootiful Development with Spring Boot and Angular - RWX 2018
PDF
Bootiful Development with Spring Boot and Angular - Connect.Tech 2017
PDF
Develop Hip APIs and Apps with Spring Boot and Angular - Connect.Tech 2017
PDF
Get Hip with Java Hipster - JavaOne 2017
PDF
Bootiful Development with Spring Boot and Angular - Spring I/O 2017
PDF
Front End Development for Back End Developers - UberConf 2017
Bootiful Development with Spring Boot and Vue - RWX 2018
Microservices for the Masses with Spring Boot and JHipster - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - Connect.Tech 2017
Develop Hip APIs and Apps with Spring Boot and Angular - Connect.Tech 2017
Get Hip with Java Hipster - JavaOne 2017
Bootiful Development with Spring Boot and Angular - Spring I/O 2017
Front End Development for Back End Developers - UberConf 2017

What's hot (19)

PDF
The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017
PDF
Front End Development for Back End Developers - Devoxx UK 2017
PDF
Bootiful Development with Spring Boot and React - Dublin JUG 2018
PDF
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...
PDF
Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021
PDF
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
PDF
Building a PWA with Ionic, Angular, and Spring Boot - GeeCON 2017
PPT
Building your first Native iOs App with an API Backend
PDF
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy Derks
PDF
20210411 全端網頁開發起手式:建構並佈署Angular網頁應用程式至GCP
PDF
ServiceWorkerとES6 Modules時代のTypescript開発考察
PDF
Building a Spring Boot Application - Ask the Audience! (from JVMCon 2018)
PDF
Angular vs React Smackdown - Devoxx BE 2017
PDF
Rapid Android Development for Hackathon
PDF
Testing Angular Applications - Jfokus 2017
PDF
Building a Spring Boot 2 Application - Ask the Audience! (from Voxxed Days Vi...
PDF
Polymer and Firebase: Componentizing the Web in Realtime
PPTX
Grails Spring Boot
PDF
Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ...
The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017
Front End Development for Back End Developers - Devoxx UK 2017
Bootiful Development with Spring Boot and React - Dublin JUG 2018
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...
Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Building a PWA with Ionic, Angular, and Spring Boot - GeeCON 2017
Building your first Native iOs App with an API Backend
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy Derks
20210411 全端網頁開發起手式:建構並佈署Angular網頁應用程式至GCP
ServiceWorkerとES6 Modules時代のTypescript開発考察
Building a Spring Boot Application - Ask the Audience! (from JVMCon 2018)
Angular vs React Smackdown - Devoxx BE 2017
Rapid Android Development for Hackathon
Testing Angular Applications - Jfokus 2017
Building a Spring Boot 2 Application - Ask the Audience! (from Voxxed Days Vi...
Polymer and Firebase: Componentizing the Web in Realtime
Grails Spring Boot
Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ...
Ad

Similar to Bootiful Development with Spring Boot and React - GIDS 2019 (20)

PDF
Bootiful Development with Spring Boot and React - Richmond JUG 2018
PDF
Bootiful Development with Spring Boot and React - SpringOne 2017
PDF
Bootiful Development with Spring Boot and React - RWX 2017
PDF
Front End Development for Back End Java Developers - NYJavaSIG 2019
PDF
Bootiful Development with Spring Boot and Vue - Devnexus 2019
PDF
Bootiful Development with Spring Boot and React - Belfast JUG 2018
PDF
Front End Development for Backend Developers - GIDS 2019
PDF
Front End Development for Back End Java Developers - Dublin JUG 2019
PDF
Bootiful Development with Spring Boot and React - UberConf 2018
PDF
Spring Boot APIs and Angular Apps: Get Hip with JHipster! KCDC 2019
PDF
Front End Development for Back End Java Developers - West Midlands Java User ...
PDF
Front End Development for Back End Java Developers - South West Java 2019
PDF
Bootiful Development with Spring Boot and React
PDF
Choose Your Own Adventure with JHipster & Kubernetes - Utah JUG 2020
PDF
Front End Development for Back End Java Developers - Jfokus 2020
PDF
Comparing Native Java REST API Frameworks - Seattle JUG 2022
PDF
Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020
PDF
Comparing Native Java REST API Frameworks - Devoxx France 2022
PDF
Front End Development for Back End Developers - vJUG24 2017
PDF
Spring Boot APIs and Angular PWAs: Get Hip with JHipster - PWX 2019
Bootiful Development with Spring Boot and React - Richmond JUG 2018
Bootiful Development with Spring Boot and React - SpringOne 2017
Bootiful Development with Spring Boot and React - RWX 2017
Front End Development for Back End Java Developers - NYJavaSIG 2019
Bootiful Development with Spring Boot and Vue - Devnexus 2019
Bootiful Development with Spring Boot and React - Belfast JUG 2018
Front End Development for Backend Developers - GIDS 2019
Front End Development for Back End Java Developers - Dublin JUG 2019
Bootiful Development with Spring Boot and React - UberConf 2018
Spring Boot APIs and Angular Apps: Get Hip with JHipster! KCDC 2019
Front End Development for Back End Java Developers - West Midlands Java User ...
Front End Development for Back End Java Developers - South West Java 2019
Bootiful Development with Spring Boot and React
Choose Your Own Adventure with JHipster & Kubernetes - Utah JUG 2020
Front End Development for Back End Java Developers - Jfokus 2020
Comparing Native Java REST API Frameworks - Seattle JUG 2022
Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020
Comparing Native Java REST API Frameworks - Devoxx France 2022
Front End Development for Back End Developers - vJUG24 2017
Spring Boot APIs and Angular PWAs: Get Hip with JHipster - PWX 2019
Ad

More from Matt Raible (20)

PDF
Keep Identities in Sync the SCIMple Way - ApacheCon NA 2022
PDF
Micro Frontends for Java Microservices - Belfast JUG 2022
PDF
Micro Frontends for Java Microservices - Dublin JUG 2022
PDF
Micro Frontends for Java Microservices - Cork JUG 2022
PDF
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
PDF
Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra - Devne...
PDF
Native Java with Spring Boot and JHipster - Garden State JUG 2021
PDF
Java REST API Framework Comparison - PWX 2021
PDF
Web App Security for Java Developers - PWX 2021
PDF
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...
PDF
Web App Security for Java Developers - UberConf 2021
PDF
Java REST API Framework Comparison - UberConf 2021
PDF
Native Java with Spring Boot and JHipster - SF JUG 2021
PDF
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Sprin...
PDF
JHipster and Okta - JHipster Virtual Meetup December 2020
PDF
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
PDF
Security Patterns for Microservice Architectures - SpringOne 2020
PDF
Security Patterns for Microservice Architectures - ADTMag Microservices & API...
PDF
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...
PDF
Security Patterns for Microservice Architectures - London Java Community 2020
Keep Identities in Sync the SCIMple Way - ApacheCon NA 2022
Micro Frontends for Java Microservices - Belfast JUG 2022
Micro Frontends for Java Microservices - Dublin JUG 2022
Micro Frontends for Java Microservices - Cork JUG 2022
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra - Devne...
Native Java with Spring Boot and JHipster - Garden State JUG 2021
Java REST API Framework Comparison - PWX 2021
Web App Security for Java Developers - PWX 2021
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...
Web App Security for Java Developers - UberConf 2021
Java REST API Framework Comparison - UberConf 2021
Native Java with Spring Boot and JHipster - SF JUG 2021
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Sprin...
JHipster and Okta - JHipster Virtual Meetup December 2020
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
Security Patterns for Microservice Architectures - SpringOne 2020
Security Patterns for Microservice Architectures - ADTMag Microservices & API...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...
Security Patterns for Microservice Architectures - London Java Community 2020

Recently uploaded (20)

PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
assetexplorer- product-overview - presentation
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
ai tools demonstartion for schools and inter college
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Digital Strategies for Manufacturing Companies
PPTX
Introduction to Artificial Intelligence
PPTX
history of c programming in notes for students .pptx
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Wondershare Filmora 15 Crack With Activation Key [2025
How to Migrate SBCGlobal Email to Yahoo Easily
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
assetexplorer- product-overview - presentation
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
ai tools demonstartion for schools and inter college
Odoo Companies in India – Driving Business Transformation.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Design an Analysis of Algorithms I-SECS-1021-03
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Softaken Excel to vCard Converter Software.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Digital Strategies for Manufacturing Companies
Introduction to Artificial Intelligence
history of c programming in notes for students .pptx
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
VVF-Customer-Presentation2025-Ver1.9.pptx

Bootiful Development with Spring Boot and React - GIDS 2019