Monomobile

 Monomobile

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

167f2c9daf3e040134359926747a510b?s=128

Jérémie Laval

May 30, 2012
Tweet

Transcript

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

    McGovern Xamarin Hacker @amcgovern
  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
  3. What we do MonoTouch xamarin.com/monotouch Mono for Android xamarin.com/monoforandroid

  4. How you may know us Apps Rdio mobile client Games

    gMusic iCircuit Soulcraft Unity3D Engine Infinite flight
  5. What's cross- platform anyway?

  6. History repeats itself

  7. Wait, what if we used...

  8. HTML 5 is teh hype

  9. Hype friendly reminder ( ) with Gartner hype cycle

  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
  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
  12. Doesn't it ring a bell? “Code once deploy everywhere”? (“code

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

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

    Java Today we all code in Java right? (“code once, debug everywhere”)
  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
  16. Fast pace anyone? HTML 5 / CSS / JS is

    about being standard Mobile is fundamentally non-standard
  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
  18. Not even talking about Debugging experience

  19. Or Browser discrepancy

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

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

    HTML-based content ( Although we also have WebView! )
  22. At Xamarin

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

  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
  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
  26. Our vision (graphed)

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

  28. XPlat libraries Xamarin Mobile API

  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 • ...