Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cross platform app development - current state

Ivo Jansch
September 20, 2016

Cross platform app development - current state

A presentation I delivered at a Quby.com Lunch Lecture on september 20, 2016. For help with cross platform related questions, feel free to contact us (http://www.egeniq.com/contact)

Ivo Jansch

September 20, 2016
Tweet

More Decks by Ivo Jansch

Other Decks in Technology

Transcript

  1. Cross Platform Tools - Can it ever be as good

    as native? Instant Coffee 4
  2. Abstraction level: 3 - Web view based applications Simplicity Do

    one thing right (watching movies) User friendly Intuitive Quality 5
  3. Abstraction level: 3 - Web view based applications Source: https:/

    /cordova.apache.org/docs/en/latest/guide/overview/ 6
  4. 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
  5. ‣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
  6. 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)
  7. 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
  8. Abstraction level 0: Fully native ‣Highest level of possible 


    detail in UIs
 ‣Requires specialist developers on all platforms 17
  9. 18 Is Native Expensive? + = 2 ? Our experience:

    ‣iOS + Android = 1 + 0.8 ‣Shared Architecture ‣Smart Backends / Thin Clients
  10. Beware of Leaky Abstractions Joel Spolsky’s Law of Leaky Abstractions:

    “All non-trivial abstractions, 
 to some degree, are leaky” 19
  11. 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
  12. 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