Slide 1

Slide 1 text

Building a PWA with Matt Raible / @mraible Kraków, 17-19 May 2017

Slide 2

Slide 2 text

Blogger on raibledesigns.com UI Architect and Java Champion Father, Skier, Mountain Biker, Whitewater Rafter Web Framework Connoisseur Who is Matt Raible? Bus Lover Stormpath Developer Evangelist

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

#GeeCON Authentication Standards

Slide 6

Slide 6 text

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

Slide 7 text

SPRING INITIALIZR @ start.spring.io

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 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 10

Slide 10 text

Microservices with Spring Boot

Slide 11

Slide 11 text

Secure 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

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

Slide 16

Slide 16 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 17

Slide 17 text

The PRPL Pattern Push Render Pre-cache Lazy-load

Slide 18

Slide 18 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 19

Slide 19 text

#GeeCON Progressive Web Apps

Slide 20

Slide 20 text

Live Coding! Create API Create UI Deploy to iOS

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

Shortcut to becoming an Ionic Expert JUST DO IT.

Slide 24

Slide 24 text

developer.okta.com/blog

Slide 25

Slide 25 text

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