progressive perspective mobile cross-platform development ... · nativescript app “progressive”...
TRANSCRIPT
Mobile Cross-Platform Development from a Progressive Perspective
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 WorkerPage 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 DevelopmentN
Develop as abstract as possible
while
delivering ideally native results
AbstractionReusability
User Experience
Performance
Cross-Platform DevelopmentN
Develop as abstract as possible
while
delivering ideally native results
AbstractionReusability
User Experience
Performance
JavaScript Engine
NativeScriptN
Hooks App code
NativeScript Runtime
System Dispatcher
Button
ListView
FileSystem
Modules
JavaScript Engine
NativeScriptN
Hooks App code
NativeScript Runtime
System Dispatcher
Button
ListView
FileSystem
Modules
AOT
Routing Components
TypeScript
Any JS library
JavaScript Engine
NativeScriptN
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
NativeScriptN
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 independentOffline-capable
workflow
Service worker Caching
Synchronisation
Criteria
Criteria
Network IndependenceCaching
Synchronisation Offline-capable workflow
Criteria
Network IndependenceCaching
Synchronisation Offline-capable workflow
SafeHTTPS
Secure communication
Push notifications
Bring users back
Re-engageable
Criteria
Network IndependenceCaching
Synchronisation Offline-capable workflow
SecurityHTTPS
Re-engagement
Secure communication
Bring users back
Push notifications
Criteria
Network IndependenceCaching
Synchronisation Offline-capable workflow
SecurityHTTPS
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 IndependenceCaching
Synchronisation Offline-capable workflow
SecurityHTTPS
Re-engagement
Secure communication
Bring users back
Push notifications
Launch screen
MarketabilityMetadata
Criteria
Network IndependenceCaching
Synchronisation Offline-capable workflow
SecurityHTTPS
Re-engagement
Secure communication
Bring users back
Push notifications
Launch screen
MarketabilityMetadata
Linkable
Enter at any point
Simple forwarding
No installation required
Criteria
Network IndependenceCaching
Synchronisation Offline-capable workflow
SecurityHTTPS
Re-engagement
Secure communication
Bring users back
Push notifications
Launch screen
MarketabilityMetadata
LinkabilitySimple
forwarding
Enter at any point
Criteria
Network IndependenceCaching
Synchronisation Offline-capable workflow
SecurityHTTPS
Re-engagement
Secure communication
Bring users back
Push notifications
Launch screen
MarketabilityMetadata
LinkabilitySimple
forwarding
Enter at any point
Responsive ProgressiveAcceptable presentation
anywhere
Mobile first
Acceptable execution anywhere
Progressive enhancement
Criteria
Network IndependenceCaching
Synchronisation Offline-capable workflow
SecurityHTTPS
Re-engagement
Secure communication
Bring users back
Push notifications
Launch screen
MarketabilityMetadata
LinkabilitySimple
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 AppN
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 QualifiersRelative Styling
Progressiveness
JavaScript Engine + Transpilation
Metadata
Bottleneck
System Integration
7.Bottom Line
What to pick up?
Bottom Line
NEnhance 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 titleSources
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??
NativeScriptN
Button button = new Button(getApplicationContext());
var button = new Button(getApplicationContext());