Mobile App Development Ionic, React Native, and JHipster November 10, 2021 Matt Raible | @mraible Photo by Christopher Alvarenga unsplash.com/photos/K5iyVtWYXqo
What is JHipster?
Thriving OSS Project Started by Julien Dubois on October 21, 2013 App Generator, Platform, Learning Tool …
How to Use JHipster Install JHipster and Yeoman, using npm: npm install -g generator-jhipster Create a directory and cd into it: mkdir newapp && cd newapp Run it! jhipster
@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
developer.okta.com
What About You?
Agenda 1. Comparing Mobile Frameworks 2. Introduction to JHipster 3. Mobile Framework Options - Ionic, React Native, and Flutter 4. Demos 5. Action!
Comparing Mobile Frameworks Progressive Web Apps Hybrid Apps Native Apps Part 1
Progressive Web Apps Originate from a secure origin, load while offline, and reference a web app manifest.
Progressive Web Apps Can be installed on your mobile device, look and act like a native application, but are distributed through the web.
Progressive Web Apps Are fast!
Enabling a PWA in JHipster <script> if ('serviceWorker' in navigator) { window.addEventListener('load', function () { navigator.serviceWorker.register('/service-worker.js') .then(function () { console.log('Service Worker Registered'); }); }); } < / script> src/main/webapp/index.html
Hybrid App Frameworks
Native App Frameworks
Stack Overflow Tags 0 100000 200000 300000 400000 Angular React Vue Ionic React Native Flutter
Indeed Jobs 0 7500 15000 22500 30000 Angular React Vue Ionic React Native Flutter
Hot Frameworks https://hotframeworks.com
Twitter Poll for Ionic Developers https://twitter.com/mraible/status/1456657033118175239
Twitter Poll for Web Developers https://twitter.com/mraible/status/1457750453878329352
Introduction to JHipster What is JHipster? Installing and Using JHipster Authentication with OpenID Connect Code Quality Part 2
A resilient microservice architecture with cloud native principles in mind JHipster Goals A sleek, modern, mobile-first UI with Angular, React, or Vue + Bootstrap for CSS A high-performance and robust server-side stack with excellent test coverage A powerful workflow to build your application with Webpack and Maven or Gradle
How to Use JHipster Install JHipster and Yeoman, using npm: npm install -g generator-jhipster Create a directory and cd into it: take newapp Run it! jhipster
JHipster Online https://start.jhipster.tech
Import JDL
Demo Using JHipster, create an app Generate entities in app Convert app to be a PWA Test with Lighthouse
Authentication with OpenID Connect https://auth0.com/blog/full-stack-java-with-react-spring-boot-and-jhipster/
JHipster Code Quality
JHipster PWA Lighthouse Report
JHipster PWA on Heroku https://web.dev/measure
Part 3 Ionic What is Ionic? Why? Ionic Module for JHipster JWT and OIDC Support Entity Generator
Ionic Ionic Framework Develop Hybrid & PWA Apps https://ionicframework.com Stencil Vanilla Web Components https://stenciljs.com PWA Toolkit Lightning fast PWAs https://github.com/ionic- team/ionic-pwa-toolkit
Why? The first version of 21-Points Health I wrote with JHipster 2.x was painful to use on a mobile device. Versions 4.x and 5.x are better, but still not great. I want to develop the best user experience. Native apps are painful to distribute, but work better than PWAs (on iOS).
How is a mobile app for JHipster different from its Angular UI?
Run it! yo jhipster-ionic Ionic Module for JHipster Because Ionic Apps need some JHipster 💙 too! https://github.com/jhipster/generator-jhipster-ionic Install Ionic and the Ionic Module for JHipster, using npm: npm i -g @ionic/cli generator-jhipster-ionic yo Profit! 🤑
Demo Create an app with Ionic4J Generate entities in app Run as a PWA Run on iOS
Use Ionic for JHipster to Create Mobile Apps developer.okta.com/blog/2019/06/24/ionic-4-angular-spring-boot-jhipster
Part 3 React Native What is React Native? JHipster React Native blueprint Expo, React Native Web, and Detox JWT and OIDC Support Entity Generator
Create an app: jhipster --blueprints react-native JHipster React Native https://github.com/jhipster/generator-jhipster-react-native Install the React Native blueprint, using npm: npm install -g generator-jhipster-react-native Build the next hot mobile app! 🔥 A React Native blueprint for JHipster apps
Demo Create an app w/ React Native Generate entities in app Run in a browser Run on iOS and Android
JHipster React Native Demo https://jruddell.com/blog/jhipster-react-native
Part 3 Flutter What is Flutter? Flutter Module for JHipster Full I18n support Entity Generator JWT Auth Only
Try Flutter in your browser https://flutter.dev
Create an app: yo jhipster-flutter-merlin Flutter Module for JHipster https://github.com/merlinofcha0s/generator-jhipster-flutter Install the Flutter module, using npm: npm install -g generator-jhipster-flutter-merlin Build a beautiful mobile app! 💖 Generate your Flutter mobile App (Android / iOS) for JHipster
Get Started with Flutter for JHipster https://blog.herofactory.dev/get-started-with-flutter-jhipster-generator
Part 4 Demo Time!
What’s Next for JHipster? Micro Frontends Spring Native GraphQL * These are my personal interests.
Part 5 Action Try JHipster! Learn More about PWAs Try Ionic for JHipster Try JHipster React Native Report Issues 🙏
What You Learned
developer.okta.com/blog @oktadev
git clone https://github.com/oktadeveloper/okta-spring-webflux-react- example.git github.com/mraible/mobile-jhipster Use the Source, Luke!
Thanks! Keep in Touch raibledesigns.com @mraible Presentations speakerdeck.com/mraible Code github.com/mraible developer.okta.com
developer.okta.com

Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech 2021