Mobile Cross-Platform Development from a Progressive Perspective - - PowerPoint PPT Presentation
Mobile Cross-Platform Development from a Progressive Perspective - - PowerPoint PPT Presentation
Mobile Cross-Platform Development from a Progressive Perspective Web App Progressive Web App N N NativeScript Progressive App NativeScript App Progressive Web Apps What makes the difference? Progressive Web Apps bring features
Web App Progressive Web App NativeScript App “Progressive” NativeScript App
N N
Progressive Web Apps
What makes the difference?
“Progressive Web Apps bring features we expect from native apps to the mobile browser experience in a way that uses standards-based technologies” (3)
Emergence
No atomic innovation but generic term for characteristics of innovative web apps Emergence of new standards ➞ usage of native features ➞ allows for enhanced user experience Hybridisation Standardisation
Example Add to home screen
Web App Progressive Web App
Web App Progressive Web App IDENTIFY
Characteristics
Network independent Safe Installable Linkable Responsive Progressive Discoverable Re-engageable
Service Workers
Browser Service Worker Page Backend
Offline Workflow
Characteristics
Network independent Safe Installable Linkable Responsive Progressive
Offline-capable workflow Service worker Caching Synchronisation
Discoverable Re-engageable
Characteristics
Network independent Safe Installable Linkable Responsive Progressive
Offline-capable workflow Service worker Caching Synchronisation HTTPS Secure communication
Discoverable Re-engageable
Characteristics
Network independent Safe Installable Linkable Responsive Progressive
Offline-capable workflow Service worker Caching Synchronisation HTTPS Secure communication Push notifications Bring users back
Discoverable Re-engageable
Application Shell
Characteristics
Network independent Safe Installable Linkable Responsive Progressive
Offline-capable workflow Service worker Caching Synchronisation HTTPS Secure communication Icon on home screen Application shell Push notifications Bring users back
Discoverable Re-engageable
Characteristics
Network independent Safe Installable Linkable Responsive Progressive
Offline-capable workflow Service worker Caching Synchronisation HTTPS Secure communication Icon on home screen Application shell Push notifications Bring users back Identification of apps Web-App manifest
Discoverable Re-engageable
Characteristics
Network independent Safe Installable Linkable Responsive Progressive
Offline-capable workflow Service worker Caching Synchronisation HTTPS Secure communication Icon on home screen Application shell Enter at any point Simple forwarding No installation required Push notifications Bring users back Identification of apps Web-App manifest
Discoverable Re-engageable
Characteristics
Network independent Safe Installable Linkable Responsive Progressive
Offline-capable workflow Service worker Caching Synchronisation HTTPS Secure communication Icon on home screen Application shell Enter at any point Simple forwarding No installation required Acceptable presentation anywhere Mobile first Push notifications Bring users back Identification of apps Web-App manifest
Discoverable Re-engageable
Progressive Enhancement
Characteristics
Network independent Safe Installable Linkable Responsive Progressive
Offline-capable workflow Service worker Caching Synchronisation HTTPS Secure communication Icon on home screen Application shell Enter at any point Simple forwarding No installation required Acceptable presentation anywhere Mobile first Acceptable execution anywhere Progressive enhancement Push notifications Bring users back Identification of apps Web-App manifest
Discoverable Re-engageable
Web App Progressive Web App Mobile App
? X
Web App Progressive Web App NativeScript App “Progressive” NativeScript App
N N
Cross-Platform Development with NativeScript
Where are we coming from?
N
Cross-Platform Development
N Develop as abstract as possible while delivering ideally native results
Abstraction Reusability User Experience Performance
Cross-Platform Development
N Develop as abstract as possible while delivering ideally native results
Abstraction Reusability User Experience Performance
JavaScript Engine
NativeScript
N
Hooks App code NativeScript Runtime System Dispatcher Button ListView FileSystem Modules
JavaScript Engine
NativeScript
N
Hooks App code NativeScript Runtime System Dispatcher Button ListView FileSystem Modules AOT Routing Components TypeScript Any JS library
JavaScript Engine
NativeScript
N
Hooks App code NativeScript Runtime System Dispatcher Button ListView FileSystem Modules AOT Routing Components TypeScript Any native .. .. interface .. UI component .. library Any JS library
JavaScript Engine
NativeScript
N
Hooks App code NativeScript Runtime System Dispatcher Button ListView FileSystem Modules AOT Routing Components TypeScript Any native .. .. interface .. UI component .. library Any JS library Live Reload Over-the-air updates Zero Day Support
Architectural Considerations
Web App Progressive Web App NativeScript App “Progressive” NativeScript App TRANSFER
N N
Criteria
What’s assessable?
Network independent
Offline-capable workflow Service worker Caching Synchronisation
Criteria
Criteria
Network Independence
Caching Synchronisation Offline-capable workflow
Criteria
Network Independence
Caching Synchronisation Offline-capable workflow
Safe
HTTPS Secure communication Push notifications Bring users back
Re-engageable
Criteria
Network Independence
Caching Synchronisation Offline-capable workflow
Security
HTTPS
Re-engagement
Secure communication Bring users back Push notifications
Criteria
Network Independence
Caching Synchronisation Offline-capable workflow
Security
HTTPS
Re-engagement
Secure communication Bring users back Push notifications
Installable
Icon on home screen Application shell Identification of apps Web-App manifest
Discoverable
Criteria
Network Independence
Caching Synchronisation Offline-capable workflow
Security
HTTPS
Re-engagement
Secure communication Bring users back Push notifications Launch screen
Marketability
Metadata
Criteria
Network Independence
Caching Synchronisation Offline-capable workflow
Security
HTTPS
Re-engagement
Secure communication Bring users back Push notifications Launch screen
Marketability
Metadata
Linkable
Enter at any point Simple forwarding No installation required
Criteria
Network Independence
Caching Synchronisation Offline-capable workflow
Security
HTTPS
Re-engagement
Secure communication Bring users back Push notifications Launch screen
Marketability
Metadata
Linkability
Simple forwarding Enter at any point
Criteria
Network Independence
Caching Synchronisation Offline-capable workflow
Security
HTTPS
Re-engagement
Secure communication Bring users back Push notifications Launch screen
Marketability
Metadata
Linkability
Simple forwarding Enter at any point
Responsive Progressive
Acceptable presentation anywhere Mobile first Acceptable execution anywhere Progressive enhancement
Criteria
Network Independence
Caching Synchronisation Offline-capable workflow
Security
HTTPS
Re-engagement
Secure communication Bring users back Push notifications Launch screen
Marketability
Metadata
Linkability
Simple forwarding Enter at any point
Responsiveness Progressiveness
Integration of platform mechanisms Acceptable presentation anywhere Acceptable execution anywhere
Web App Progressive Web App NativeScript App “Progressive” NativeScript App ASSESS
N N
Assessment
What can we achieve?
N
Kanban App
N
Marketability
Default Customizations Build
Network Independence
Android App Firebase Platform SDK NativeScript Firebase
Android App
Security
Firebase Platform SDK NativeScript Firebase HTTPS
Linkability
https://k1234.app.goo.gl/ ?link=https://kard.de/boards/-Khw-Jg-491o1ouI-Qgn &apn=de.mehlhorn.Kard kard://boards/-Khw-Jg-491o1ouI-Qgn
Linkability
https://k1234.app.goo.gl/ ?link=https://kard.de/boards/-Khw-Jg-491o1ouI-Qgn &apn=de.mehlhorn.Kard kard://boards/-Khw-Jg-491o1ouI-Qgn
Re-engagement
Responsiveness
Native Asset Handling Screen Size Qualifiers Relative Styling
Progressiveness
JavaScript Engine + Transpilation Metadata Bottleneck System Integration
7. Bottom Line
What to pick up?
Bottom Line
N
Enhance web apps step by step and be soon able to keep up with native apps Use web technologies today for effective mobile development ■ web technologies are getting more powerful ■ areas of application and abilities are growing ➞ extensive apps with excellent user experience
This is a slide title Sources
Mehlhorn, Nils. Mobile Cross-Platform Development from a Progressive Perspective. Faculty of Media. Hochschule Düsseldorf. Düsseldorf. 2017. Bachelor Thesis. http://fhdd.opus.hbz-nrw.de/volltexte/2017/1128/
Thank you!
Questions or remarks?
?
NativeScript
N
Button button = new Button(getApplicationContext()); var button = new Button(getApplicationContext());