progressive perspective mobile cross-platform development ... · nativescript app “progressive”...

59
Mobile Cross-Platform Development from a Progressive Perspective

Upload: others

Post on 04-Jun-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Mobile Cross-Platform Development from a Progressive Perspective

Page 2: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Web App Progressive Web App

NativeScript App

“Progressive” NativeScript App

N N

Page 3: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Progressive Web Apps

What makes the difference?

Page 4: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

“Progressive Web Apps bring features we expect from native apps to the mobile browser experience in a way that uses

standards-based technologies” (3)

Page 5: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 6: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Example

Add to home screen

Page 7: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Web App Progressive Web App

Page 8: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Web App Progressive Web App

IDENTIFY

Page 9: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Characteristics

Network independent Safe

Installable

Linkable Responsive Progressive

Discoverable

Re-engageable

Page 10: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Service Workers

Browser

Service WorkerPage Backend

Page 11: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Offline Workflow

Page 12: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Characteristics

Network independent Safe

Installable

Linkable Responsive Progressive

Offline-capable workflow

Service worker Caching

Synchronisation

Discoverable

Re-engageable

Page 13: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Characteristics

Network independent Safe

Installable

Linkable Responsive Progressive

Offline-capable workflow

Service worker Caching

Synchronisation HTTPS

Secure communication

Discoverable

Re-engageable

Page 14: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 15: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Application Shell

Page 16: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 17: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 18: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 19: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 20: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Progressive Enhancement

Page 21: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 22: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Web App Progressive Web App

Mobile App

?

X

Page 23: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Web App Progressive Web App

NativeScript App

“Progressive” NativeScript App

N N

Page 24: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Cross-Platform Development with NativeScript

Where are we coming from?

N

Page 25: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Cross-Platform DevelopmentN

Develop as abstract as possible

while

delivering ideally native results

AbstractionReusability

User Experience

Performance

Page 26: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Cross-Platform DevelopmentN

Develop as abstract as possible

while

delivering ideally native results

AbstractionReusability

User Experience

Performance

Page 27: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

JavaScript Engine

NativeScriptN

Hooks App code

NativeScript Runtime

System Dispatcher

Button

ListView

FileSystem

Modules

Page 28: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

JavaScript Engine

NativeScriptN

Hooks App code

NativeScript Runtime

System Dispatcher

Button

ListView

FileSystem

Modules

AOT

Routing Components

TypeScript

Any JS library

Page 29: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 30: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 31: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Architectural Considerations

Page 32: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Web App Progressive Web App

NativeScript App

“Progressive” NativeScript App

TRANSFER

N N

Page 33: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Criteria

What’s assessable?

Page 34: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Network independentOffline-capable

workflow

Service worker Caching

Synchronisation

Criteria

Page 35: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Criteria

Network IndependenceCaching

Synchronisation Offline-capable workflow

Page 36: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Criteria

Network IndependenceCaching

Synchronisation Offline-capable workflow

SafeHTTPS

Secure communication

Push notifications

Bring users back

Re-engageable

Page 37: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Criteria

Network IndependenceCaching

Synchronisation Offline-capable workflow

SecurityHTTPS

Re-engagement

Secure communication

Bring users back

Push notifications

Page 38: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 39: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Criteria

Network IndependenceCaching

Synchronisation Offline-capable workflow

SecurityHTTPS

Re-engagement

Secure communication

Bring users back

Push notifications

Launch screen

MarketabilityMetadata

Page 40: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 41: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 42: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 43: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 44: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Web App Progressive Web App

NativeScript App

“Progressive” NativeScript App

ASSESS

N N

Page 45: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Assessment

What can we achieve?N

Page 46: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Kanban AppN

Page 47: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Marketability

Default Customizations

Build

Page 48: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Network Independence

Android App

Firebase Platform SDK

NativeScript Firebase

Page 49: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Android App

Security

Firebase Platform SDK

NativeScript Firebase

HTTPS

Page 50: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 51: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 52: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Re-engagement

Page 53: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Responsiveness

Native Asset Handling Screen Size QualifiersRelative Styling

Page 54: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Progressiveness

JavaScript Engine + Transpilation

Metadata

Bottleneck

System Integration

Page 55: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

7.Bottom Line

What to pick up?

Page 56: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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

Page 57: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

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/

Page 58: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

Thank you!Questions or remarks??

Page 59: Progressive Perspective Mobile Cross-Platform Development ... · NativeScript App “Progressive” NativeScript App N N. Progressive Web Apps What makes the difference? ... Push

NativeScriptN

Button button = new Button(getApplicationContext());

var button = new Button(getApplicationContext());