Date post: | 25-May-2015 |
Category: |
Technology |
Upload: | jeremie-laval |
View: | 1,068 times |
Download: | 1 times |
Cross-platform mobile dev
Jérémie Laval
Xamarin Hacker
MonoMobile
@jeremie_laval
Alan McGovern
Xamarin Hacker
@amcgovern
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
What we do
MonoTouchxamarin.com/monotouch
Mono for Androidxamarin.com/monoforandroid
How you may know us
Apps
Rdio mobile client
Games
gMusic iCircuit
SoulcraftUnity3D EngineInfinite flight
What's cross-platform anyway?
History repeats itself
Wait, what if we used...
HTML 5 is teh hype
Hype friendly reminder(
)
with Gartner hype cycle
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
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
Doesn't it ring a bell?
“Code once deploy everywhere”?
(“code once, debug everywhere”)
Doesn't it ring a bell?
“Code once deploy everywhere”?
Yup, Java
(“code once, debug everywhere”)
Doesn't it ring a bell?
“Code once deploy everywhere”?
Yup, Java
Today we all code in Java right?
(“code once, debug everywhere”)
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
Fast pace anyone?
HTML 5 / CSS / JS is about being standard
Mobile is fundamentally non-standard
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
Not even talking about
Debugging experience
Or
Browser discrepancy
In fairness
HTML5-based solution are fine for app with
existing HTML-based content
In fairness
HTML5-based solution are fine for app with
existing HTML-based content
( Although we also have WebView! )
At Xamarin
Our vision
• We think all-in-one solutions are flawed
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
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
Our vision (graphed)
What our xplat looks like
http://blog.xamarin.com/2012/02/24/mwc_2012/
XPlat libraries
Xamarin Mobile API
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
• ...