Slide 1

Slide 1 text

Building a PWA with Matt Raible [email protected] #DevoxxPL @mraible

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Blogger on raibledesigns.com Web Developer and Java Champion Father, Skier, Mountain Biker, Whitewater Rafter Open Source Connoisseur Who is Matt Raible? Bus Lover Okta Developer Advocate

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

#DevoxxPL Authentication Standards

Slide 7

Slide 7 text

#DevoxxPL 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

Slide 8

Slide 8 text

SPRING INITIALIZR @ start.spring.io

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 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 PagingAndSortingRepository { }

Slide 11

Slide 11 text

Microservices with Spring Boot

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

“We’ve failed on mobile” — Alex Russell https://youtu.be/K1SFnrf4jZo

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

The PRPL Pattern Push Render Pre-cache Lazy-load

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

#DevoxxPL Progressive Web Apps

Slide 21

Slide 21 text

#DevoxxPL Learn More on scotch.io https://scotch.io/tutorials/the-ultimate-guide-to-progressive-web-applications

Slide 22

Slide 22 text

Live Coding! Create API Create UI Deploy to iOS

Slide 23

Slide 23 text

#DevoxxPL Resources Demo Code https://github.com/oktadeveloper/ spring-boot-ionic-example Step-by-step Tutorial https://developer.okta.com/blog/ 2017/05/17/develop-a-mobile-app-with- ionic-and-spring-boot

Slide 24

Slide 24 text

Learn Ionic https://www.joshmorony.com/building-mobile-apps-with-ionic-2/

Slide 25

Slide 25 text

Shortcut to becoming an Ionic Expert JUST DO IT.

Slide 26

Slide 26 text

developer.okta.com/blog

Slide 27

Slide 27 text

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