+ All Categories
Home > Technology > Monomobile

Monomobile

Date post: 25-May-2015
Category:
Upload: jeremie-laval
View: 1,068 times
Download: 1 times
Share this document with a friend
Description:
Talk given at DublinAltNet on MonoMobile with a slant towards how it compares to HTML 5 solutions
Popular Tags:
29
Cross-platform mobile dev Jérémie Laval Xamarin Hacker MonoMobile @jeremie_laval Alan McGovern Xamarin Hacker @amcgovern
Transcript
Page 1: Monomobile

Cross-platform mobile dev

Jérémie Laval

Xamarin Hacker

MonoMobile

@jeremie_laval

Alan McGovern

Xamarin Hacker

@amcgovern

Page 2: Monomobile

Who we are

• Young startup (June 2011)

• Keeping the Mono dream alive...• … by providing it to the Mobile world• Motto: bring smiles to mobile developer face

Page 3: Monomobile

What we do

MonoTouchxamarin.com/monotouch

Mono for Androidxamarin.com/monoforandroid

Page 4: Monomobile

How you may know us

Apps

Rdio mobile client

Games

gMusic iCircuit

SoulcraftUnity3D EngineInfinite flight

Page 5: Monomobile

What's cross-platform anyway?

Page 6: Monomobile

History repeats itself

Page 7: Monomobile

Wait, what if we used...

Page 8: Monomobile

HTML 5 is teh hype

Page 9: Monomobile

Hype friendly reminder(

)

with Gartner hype cycle

Page 10: Monomobile

Traditional HTML 5 solution

• An application skeleton with a WebView

• Webkit-based on most mobile platform• HTML 5 / CSS / Javascript -based• Tentative extensions for device API

Page 11: Monomobile

Traditional HTML 5 solution

• An application skeleton with a WebView

• Webkit-based on most mobile platform• HTML 5 / CSS / Javascript -based• Tentative extensions for device API

= A one-for-all-platform type of solution

Page 12: Monomobile

Doesn't it ring a bell?

“Code once deploy everywhere”?

(“code once, debug everywhere”)

Page 13: Monomobile

Doesn't it ring a bell?

“Code once deploy everywhere”?

Yup, Java

(“code once, debug everywhere”)

Page 14: Monomobile

Doesn't it ring a bell?

“Code once deploy everywhere”?

Yup, Java

Today we all code in Java right?

(“code once, debug everywhere”)

Page 15: Monomobile

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

Page 16: Monomobile

Fast pace anyone?

HTML 5 / CSS / JS is about being standard

Mobile is fundamentally non-standard

Page 17: Monomobile

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

Page 18: Monomobile

Not even talking about

Debugging experience

Page 19: Monomobile

Or

Browser discrepancy

Page 20: Monomobile

In fairness

HTML5-based solution are fine for app with

existing HTML-based content

Page 21: Monomobile

In fairness

HTML5-based solution are fine for app with

existing HTML-based content

( Although we also have WebView! )

Page 22: Monomobile

At Xamarin

Page 23: Monomobile

Our vision

• We think all-in-one solutions are flawed

Page 24: Monomobile

Our vision

• We think all-in-one solutions are flawed

• What we give instead:• C# (LINQ, generics, lambdas, TPL, [dynamic, async] ...)• Common infrastructure (JIT/AOT, base class library, GC, ...)• Opportunity to reuse existing code (.NET + native)• Full access to the platform you are running on• Your choice of MonoDevelop or Visual Studio

Page 25: Monomobile

Our vision

• We think all-in-one solutions are flawed

• What we give instead:• C# (LINQ, generics, lambdas, TPL, [dynamic, async] ...)• Common infrastructure (JIT/AOT, base class library, GC, ...)• Opportunity to reuse existing code (.NET + native)• Full access to the platform you are running on• Your choice of MonoDevelop or Visual Studio

• Then we trust your MVC, MVVM, PAC, … skills

Page 26: Monomobile

Our vision (graphed)

Page 27: Monomobile

What our xplat looks like

http://blog.xamarin.com/2012/02/24/mwc_2012/

Page 28: Monomobile

XPlat libraries

Xamarin Mobile API

Page 29: Monomobile

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

• ...