Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

What's cross- platform anyway?

Slide 6

Slide 6 text

History repeats itself

Slide 7

Slide 7 text

Wait, what if we used...

Slide 8

Slide 8 text

HTML 5 is teh hype

Slide 9

Slide 9 text

Hype friendly reminder ( ) with Gartner hype cycle

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Not even talking about Debugging experience

Slide 19

Slide 19 text

Or Browser discrepancy

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

At Xamarin

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

Our vision (graphed)

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

XPlat libraries Xamarin Mobile API

Slide 29

Slide 29 text

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