Share
Embed
Transcript
48 slides
-
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. Sergio del Amo https://sergiodelamo.com @sdelamo Member of the Micronaut Foundation Board of Directors Micronaut Lead Engineer at Object Computing Inc. Micronaut Developer Advocate Involved with Micronaut since its inception. Micronaut Core committer. Micronaut Guides. Micronaut Starter, Security, AWS, Views, RSS, Problem+JSON, Email, 2 -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 4 FREEDOM -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 5 OBJECTIVE-C SWIFT -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 6 JAVA KOTLIN -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 7 RUBY WEB PYTHON GROOVY JAVA SCALA PHP KOTLIN GO RUST C# -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 8 HELIDON WEB MICRONAUT SPRING KTOR GRAILS QUARKUS -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 9 RUBY WEB PYTHON GROOVY JAVA SCALA PHP KOTLIN GO RUST C# JAVASCRIPT -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 10 WEB 👩💻👨💻👩💻 👨💻👩💻 👩💻👨💻👩💻 👨💻👩💻 👩💻👨💻👩💻 👩💻👨💻👩💻 👩💻👨💻👩💻 -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 11 WEB 👨💻👩💻 👨💻👩💻 👩💻👨💻👩💻 👩💻👨💻👩💻 -
Copyright © 2022 by Object Computing, Inc. (OCI). All rights
reserved. 12 Server-side rendered HTML Language: Java, Apache Groovy Backend build: Maven Gradle Backend framework: SpringBoot Grails Test Framework: JUnit Spock UI Testing: Selenium Geb Template Engines: e.g. Thymleaf Lightweight JS library (e.g. JQuery) for small animations. Traditional Approach JSON API Backend Languages: Java, Groovy, Kotlin Backend build: Maven Gradle Backend framework: Micronaut SpringBoot Quarkus Helidon Test Framework: JUnit Spock Frontend languages: Javascript, Typescript Frontend framework: Vue.js React Angular Front end build: npm, Webpack Front end testing: cypress JS Front End / JVM Backend -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 13 JS Front End / JVM Backend Traditional Approach vs ❌ MIRRORED LOGIC -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 14 JS Front End / JVM Backend Traditional Approach vs ❌ MORE COMPLEX -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 15 JS Front End / JVM Backend Traditional Approach vs ❌ MORE DEVELOPERS -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 16 JS Front End / JVM Backend Traditional Approach vs ❌ MORE MONEY -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 17 JS Front End / JVM Backend Traditional Approach vs ✅ SPEED OF NAVIGATION NOT CONSTANTLY TEARING DOWN THE APPLICATION PROCESS ONLY TO REINITIALISE IT ON THE VERY NEXT PAGE -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 18 JAVASCRIPT SERVER SIDE RENDERING TRANSPILERS -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 19 JAVASCRIPT SERVER SIDE RENDERING BETTER BROWSER IMPLEMENTATION -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 20 JAVASCRIPT SERVER SIDE RENDERING ES6 TYPESCRIPT -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 21 JS Front End / JVM Backend Traditional Approach vs Hotwire / Backend vs -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 22 Hotwire HTML Over the wire REAL LIFE EXAMPLES -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 23 SIMPLER MORE PRODUCTIVE DEVELOPMENT EXPERIENCE -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 24 RENDERING SHOULD HAPPEN ONCE FOR ONE SET OF TEMPLATES -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 25 SIMPLER ALTERNATIVE TO CLIENT-SIDE FRAMEWORKS -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 26 NO LONGER MIRRORING LOGIC ON BOTH SIDES OF A JSON DIVIDE -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 27 SIMPLER CONTROL FLOW -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 28 YOU DON’T NEED TO SERIALISE THE NEW MESSAGE AS JSON, RECEIVE IT IN JAVASCRIPT, RENDER A CLIENT-SIDE TEMPLATE -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 29 Hotwire + -
Copyright © 2022 by Object Computing, Inc. (OCI). All rights
reserved. Micronaut Views 30 TEMPLATE RENDERING ON THE SERVER Pebble Rocker Soy Freemarker -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 31 DRIVE -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. Click Link ❖ Prevents the browser from following it ❖ Changes the browser’s URL using the History API ❖ Request the new page using fetch ❖ Renders the HTML Response ‣ Replaces the <body> element ‣ Merges the <head> element ‣ Javascript window and document, and the <html> persist. 32 DRIVE Intercepts all links to same domain -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. Form submission ❖ Set the “submitter” element’s disabled attribute when the submission begins ❖ Remove the attribute after the submission ends ❖ After a stateful request from a form submission, Turbo Drive expects the server to return an HTTP 303 redirect response, which it will then follow and use to navigate and update the page without reloading 33 DRIVE -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 34 DRIVE DEMO -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 35 @TurboFrameView MICRONAUT -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 36 FRAMES -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 37 FRAMES EFFICIENT CACHING -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 38 FRAMES PARALLELISED EXECUTION -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 39 FRAMES READY FOR MOBILE -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 40 STREAMS -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. STREAMS ACTIONS ❖ append ❖ prepend ❖ replaces ❖ update ❖ remove ❖ before ❖ after 41 -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. STREAMS ACTIONS 42 NOT POSSIBLE TO CALL CUSTOM JAVASCRIPT FUNCTIONS AS PART OF TURBO STREAMS ACTION -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 43 MICRONAUT -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. STREAMS 44 WEBSOCKETS / SSE -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 45 NATIVE -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. 📖 Guide: Build with the Micronaut Framework a chat application such as the Rails application demonstrated in the Hotwire announcement screencast. Micronaut Turbo Resources ❖ https://guides.micronaut.io/latest/hotwire-turbo-micronaut-chat.html 46 📖 Guide: Run the Turbo Native Demo with a Micronaut application as the backend. ❖ https://guides.micronaut.io/latest/micronaut-turbo-native.html 📃 Micronaut Views Turbo ❖ https://micronaut-projects.github.io/micronaut-views/latest/guide/#turbo 📃 Turbo ❖ https://turbo.hotwired.dev/ 📼 Hotwire Turbo Chat with the Micronaut Framework ❖ https://www.youtube.com/watch?v=Fas3Scyk9Ps 📼 Turbo Native iOS demo with the Micronaut Framework ❖ https://www.youtube.com/watch?v=ZyEdv_xQTK4 📼 Turbo Native Android demo with the Micronaut Framework ❖ https://www.youtube.com/watch?v=zgRRlp0779A -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. Q & A 47 -
Copyright © 2021 by Object Computing, Inc. (OCI). All rights
reserved. Micronaut Resources ❖ https://launch.micronaut.io ❖ https://micronaut.io/docs ❖ https://guides.micronaut.io ❖ https://micronautpodcast.com ❖ https://gitter.im/micronautfw ❖ https://twitter.com/micronautfw ❖ https://micronaut.io/blog ❖ https://micronaut.io/category/webinar ❖ https://micronaut.io/resources/community-support ❖ https://github.com/micronaut-projects ❖ https://micronaut.io/foundation ❖ https://micronaut.io/commercial-support ❖ https://objectcomputing.com/products/micronautsolutions 48