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

Monomobile

 Monomobile

Talk given at DublinAltNet on MonoMobile with a slant towards how it compares to HTML 5 solutions

Jérémie Laval

May 30, 2012
Tweet

More Decks by Jérémie Laval

Other Decks in Technology

Transcript

  1. Cross-platform mobile dev
    Jérémie Laval
    Xamarin Hacker
    MonoMobile
    @jeremie_laval
    Alan McGovern
    Xamarin Hacker
    @amcgovern

    View Slide

  2. Who we are
    • Young startup (June 2011)

    K
    e
    e
    p
    i
    n
    g t
    h
    e
    Mo
    n
    o d
    r
    e
    a
    m a
    l
    i
    v
    e
    .
    .
    .

    … b
    y
    p
    r
    o
    v
    i
    d
    i
    n
    g i
    t
    t
    o t
    h
    e
    Mo
    b
    i
    l
    e
    wo
    r
    l
    d

    Mo
    t
    t
    o
    :
    b
    r
    i
    n
    g s
    m
    i
    l
    e
    s
    t
    o m
    o
    b
    i
    l
    e
    d
    e
    v
    e
    l
    o
    p
    e
    r
    f
    a
    c
    e

    View Slide

  3. What we do
    MonoTouch
    xamarin.com/monotouch
    Mono for Android
    xamarin.com/monoforandroid

    View Slide

  4. How you may know us
    Apps
    Rdio mobile client
    Games
    gMusic iCircuit
    Soulcraft
    Unity3D Engine
    Infinite flight

    View Slide

  5. What's cross-
    platform anyway?

    View Slide

  6. History repeats itself

    View Slide

  7. Wait, what if we used...

    View Slide

  8. HTML 5 is teh hype

    View Slide

  9. Hype friendly reminder
    (
    )
    with Gartner hype cycle

    View Slide

  10. Traditional HTML 5 solution
    • An application skeleton with a WebView

    We
    b
    k
    i
    t
    -
    b
    a
    s
    e
    d o
    n
    m
    o
    s
    t
    m
    o
    b
    i
    l
    e
    p
    l
    a
    t
    f
    o
    r
    m

    H
    T
    ML 5 /
    C
    S
    S /
    J
    a
    v
    a
    s
    c
    r
    i
    p
    t
    -
    b
    a
    s
    e
    d

    T
    e
    n
    t
    a
    t
    i
    v
    e
    e
    x
    t
    e
    n
    s
    i
    o
    n
    s
    f
    o
    r
    d
    e
    v
    i
    c
    e
    A
    P
    I

    View Slide

  11. Traditional HTML 5 solution
    • An application skeleton with a WebView

    We
    b
    k
    i
    t
    -
    b
    a
    s
    e
    d o
    n
    m
    o
    s
    t
    m
    o
    b
    i
    l
    e
    p
    l
    a
    t
    f
    o
    r
    m

    H
    T
    ML 5 /
    C
    S
    S /
    J
    a
    v
    a
    s
    c
    r
    i
    p
    t
    -
    b
    a
    s
    e
    d

    T
    e
    n
    t
    a
    t
    i
    v
    e
    e
    x
    t
    e
    n
    s
    i
    o
    n
    s
    f
    o
    r
    d
    e
    v
    i
    c
    e
    A
    P
    I
    = A one-for-all-platform type of solution

    View Slide

  12. Doesn't it ring a bell?
    “Code once deploy everywhere”?
    (“code once, debug everywhere”)

    View Slide

  13. Doesn't it ring a bell?
    “Code once deploy everywhere”?
    Yup, Java
    (“code once, debug everywhere”)

    View Slide

  14. Doesn't it ring a bell?
    “Code once deploy everywhere”?
    Yup, Java
    Today we all code in Java right?
    (“code once, debug everywhere”)

    View Slide

  15. Wait, it's actually worse
    A mobile platform is infinitely
    less streamlined than a desktop
    != Operating systems
    != Hardware
    != Input
    != User experience
    != API
    != Services
    != Dedicated programming languages

    View Slide

  16. Fast pace anyone?
    HTML 5 / CSS / JS is about being standard
    Mobile is fundamentally non-standard

    View Slide

  17. Fast pace anyone?
    HTML 5 / CSS / JS is about being standard
    Mobile is fundamentally non-standard
    MonoTouch supports new iOS version in days
    The HTML 5 specification isn't even final

    View Slide

  18. Not even talking about
    Debugging experience

    View Slide

  19. Or
    Browser discrepancy

    View Slide

  20. In fairness
    HTML5-based solution are fine for app with
    existing HTML-based content

    View Slide

  21. In fairness
    HTML5-based solution are fine for app with
    existing HTML-based content
    ( Although we also have WebView! )

    View Slide

  22. At Xamarin

    View Slide

  23. Our vision
    • We think all-in-one solutions are flawed

    View Slide

  24. Our vision
    • We think all-in-one solutions are flawed

    Wh
    a
    t
    we
    g
    i
    v
    e
    i
    n
    s
    t
    e
    a
    d
    :

    C
    # (
    L
    I
    N
    Q,
    g
    e
    n
    e
    r
    i
    c
    s
    ,
    l
    a
    m
    b
    d
    a
    s
    ,
    T
    P
    L
    ,
    [
    d
    y
    n
    a
    m
    i
    c
    ,
    a
    s
    y
    n
    c
    ]
    .
    .
    .
    )

    C
    o
    m
    m
    o
    n
    i
    n
    f
    r
    a
    s
    t
    r
    u
    c
    t
    u
    r
    e (
    J
    I
    T
    /
    A
    OT
    ,
    b
    a
    s
    e
    c
    l
    a
    s
    s
    l
    i
    b
    r
    a
    r
    y
    ,
    G
    C
    ,
    .
    .
    .
    )

    Op
    p
    o
    r
    t
    u
    n
    i
    t
    y
    t
    o r
    e
    u
    s
    e e
    x
    i
    s
    t
    i
    n
    g c
    o
    d
    e (
    .
    N
    E
    T + n
    a
    t
    i
    v
    e
    )

    F
    u
    l
    l
    a
    c
    c
    e
    s
    s
    t
    o t
    h
    e
    p
    l
    a
    t
    f
    o
    r
    m y
    o
    u
    a
    r
    e
    r
    u
    n
    n
    i
    n
    g o
    n

    Y
    o
    u
    r
    c
    h
    o
    i
    c
    e
    o
    f
    Mo
    n
    o
    D
    e
    v
    e
    l
    o
    p o
    r
    V
    i
    s
    u
    a
    l
    S
    t
    u
    d
    i
    o

    View Slide

  25. Our vision
    • We think all-in-one solutions are flawed

    Wh
    a
    t
    we
    g
    i
    v
    e
    i
    n
    s
    t
    e
    a
    d
    :

    C
    # (
    L
    I
    N
    Q,
    g
    e
    n
    e
    r
    i
    c
    s
    ,
    l
    a
    m
    b
    d
    a
    s
    ,
    T
    P
    L
    ,
    [
    d
    y
    n
    a
    m
    i
    c
    ,
    a
    s
    y
    n
    c
    ]
    .
    .
    .
    )

    C
    o
    m
    m
    o
    n
    i
    n
    f
    r
    a
    s
    t
    r
    u
    c
    t
    u
    r
    e (
    J
    I
    T
    /
    A
    OT
    ,
    b
    a
    s
    e
    c
    l
    a
    s
    s
    l
    i
    b
    r
    a
    r
    y
    ,
    G
    C
    ,
    .
    .
    .
    )

    Op
    p
    o
    r
    t
    u
    n
    i
    t
    y
    t
    o r
    e
    u
    s
    e e
    x
    i
    s
    t
    i
    n
    g c
    o
    d
    e (
    .
    N
    E
    T + n
    a
    t
    i
    v
    e
    )

    F
    u
    l
    l
    a
    c
    c
    e
    s
    s
    t
    o t
    h
    e
    p
    l
    a
    t
    f
    o
    r
    m y
    o
    u
    a
    r
    e
    r
    u
    n
    n
    i
    n
    g o
    n

    Y
    o
    u
    r
    c
    h
    o
    i
    c
    e
    o
    f
    Mo
    n
    o
    D
    e
    v
    e
    l
    o
    p o
    r
    V
    i
    s
    u
    a
    l
    S
    t
    u
    d
    i
    o

    T
    h
    e
    n
    we
    t
    r
    u
    s
    t
    y
    o
    u
    r
    MV
    C
    ,
    MV
    V
    M,
    P
    A
    C
    ,
    … s
    k
    i
    l
    l
    s

    View Slide

  26. Our vision (graphed)

    View Slide

  27. What our xplat looks like
    http://blog.xamarin.com/2012/02/24/mwc_2012/

    View Slide

  28. XPlat libraries
    Xamarin Mobile API

    View Slide

  29. Other x-plat libraries
    • MonoCross - http://code.google.com/p/monocross/
    • Vernacular - https://github.com/rdio/vernacular
    • MonoGame - http://monogame.codeplex.com/
    • SQLite-net - https://github.com/praeclarum/sqlite-net
    • ...

    View Slide