Slide 1

Slide 1 text

Current State Cross Platform App Development

Slide 2

Slide 2 text

About Egeniq 2 “Smart apps for smart devices”

Slide 3

Slide 3 text

Multi platform complexity 3 Platform ipad tv web xbox android ???

Slide 4

Slide 4 text

Cross Platform Tools - Can it ever be as good as native? Instant Coffee 4

Slide 5

Slide 5 text

Abstraction level: 3 - Web view based applications Simplicity Do one thing right (watching movies) User friendly Intuitive Quality 5

Slide 6

Slide 6 text

Abstraction level: 3 - Web view based applications Source: https:/ /cordova.apache.org/docs/en/latest/guide/overview/ 6

Slide 7

Slide 7 text

Abstraction level: 3 - Web view based applications ‣Big distance between native platform and the developer ‣Mostly for web-developers who want to create apps ‣Code written in JS, UI created in HTML/CSS (interpreted) ‣UI Components are made to look like native components 7

Slide 8

Slide 8 text

8 Abstraction level 2: Cross compilation

Slide 9

Slide 9 text

Source: https:/ /developer.xamarin.com/guides/cross-platform/ application_fundamentals/building_cross_platform_applications/part_0_-_overview/ 9 Abstraction level 2: Cross compilation

Slide 10

Slide 10 text

‣Big distance between native platform
 and the developer ‣Interesting for C# developers or developers who are looking for a single language to use across 3 platforms ‣UI is written in common language but still tailored per platform ‣Code: C# - UI: Native components 10 Abstraction level 2: Cross compilation

Slide 11

Slide 11 text

Abstraction level 1: Native UI Abstractions 11

Slide 12

Slide 12 text

Abstraction level 1: Native UI Abstractions Source: http:/ /docs.appcelerator.com/platform/latest/#!/guide/ Titanium_Platform_Overview 12

Slide 13

Slide 13 text

Abstraction level 1: Native UI Abstractions 13 ‣Closer to the native layer ‣UI is abstracted, differentiation is possible ‣Not just for web devs, also for app devs ‣(need to learn JS, but not a whole new UI paradigm)

Slide 14

Slide 14 text

Abstraction level 1: Native UI Abstractions React Native: - Light Weight - Focused mostly on UI Appcelerator Titanium: - More fully featured (not just UI focus) - Heavier - Uses Eclipse (ew…!) as IDE 14

Slide 15

Slide 15 text

Abstraction level 0: Fully native 15

Slide 16

Slide 16 text

Abstraction level 0: Fully native 16 ?

Slide 17

Slide 17 text

Abstraction level 0: Fully native ‣Highest level of possible 
 detail in UIs
 ‣Requires specialist developers on all platforms 17

Slide 18

Slide 18 text

18 Is Native Expensive? + = 2 ? Our experience: ‣iOS + Android = 1 + 0.8 ‣Shared Architecture ‣Smart Backends / Thin Clients

Slide 19

Slide 19 text

Beware of Leaky Abstractions Joel Spolsky’s Law of Leaky Abstractions: “All non-trivial abstractions, 
 to some degree, are leaky” 19

Slide 20

Slide 20 text

Effort vs Complexity 20 Complexity/ Awesomeness Effort Native (0) Cross compilation / UI abstraction (1,2) Web views (3) Higher level of abstraction = higher level of exponential effort

Slide 21

Slide 21 text

Application Areas 21 Native (0) Cross compilation (2) Web views (3) UI Abstraction (1) Premium Apps Prototypes Web-devs Business apps Consumer apps Budget more important than UX Native-devs Win-devs Cordova, Ionic Xamarin React Native, Appcelerator

Slide 22

Slide 22 text

Thank you! Questions? [email protected] Ivo Jansch @ijansch