Save 37% off PRO during our Black Friday Sale! »

Cross platform app development - current state

B272216b76be8aacbfd11fad48196558?s=47 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)

B272216b76be8aacbfd11fad48196558?s=128

Ivo Jansch

September 20, 2016
Tweet

Transcript

  1. Current State Cross Platform App Development

  2. About Egeniq 2 “Smart apps for smart devices”

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

    ???
  4. Cross Platform Tools - Can it ever be as good

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

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

    /cordova.apache.org/docs/en/latest/guide/overview/ 6
  7. 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
  8. 8 Abstraction level 2: Cross compilation

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

  10. ‣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
  11. Abstraction level 1: Native UI Abstractions 11

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

    12
  13. 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)
  14. 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
  15. Abstraction level 0: Fully native 15

  16. Abstraction level 0: Fully native 16 ?

  17. Abstraction level 0: Fully native ‣Highest level of possible 


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

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

    “All non-trivial abstractions, 
 to some degree, are leaky” 19
  20. 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
  21. 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
  22. Thank you! Questions? ivo@egeniq.com Ivo Jansch @ijansch