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. Current State
    Cross Platform
    App Development

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  8. 8
    Abstraction level 2: Cross compilation

    View Slide

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

    View Slide

  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

    View Slide

  11. Abstraction level 1: Native UI Abstractions
    11

    View Slide

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

    View Slide

  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)

    View Slide

  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

    View Slide

  15. Abstraction level 0: Fully native
    15

    View Slide

  16. Abstraction level 0: Fully native
    16
    ?

    View Slide

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

    detail in UIs

    ‣Requires specialist
    developers on all platforms
    17

    View Slide

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

    View Slide

  19. Beware of Leaky Abstractions
    Joel Spolsky’s Law of Leaky
    Abstractions:
    “All non-trivial abstractions, 

    to some degree, are leaky”
    19

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide