Monomobile
-
Upload
jeremie-laval -
Category
Technology
-
view
1.068 -
download
1
description
Transcript of Monomobile
![Page 1: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/1.jpg)
Cross-platform mobile dev
Jérémie Laval
Xamarin Hacker
MonoMobile
@jeremie_laval
Alan McGovern
Xamarin Hacker
@amcgovern
![Page 2: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/3.jpg)
What we do
MonoTouchxamarin.com/monotouch
Mono for Androidxamarin.com/monoforandroid
![Page 4: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/4.jpg)
How you may know us
Apps
Rdio mobile client
Games
gMusic iCircuit
SoulcraftUnity3D EngineInfinite flight
![Page 5: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/5.jpg)
What's cross-platform anyway?
![Page 6: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/6.jpg)
History repeats itself
![Page 7: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/7.jpg)
Wait, what if we used...
![Page 8: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/8.jpg)
HTML 5 is teh hype
![Page 9: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/9.jpg)
Hype friendly reminder(
)
with Gartner hype cycle
![Page 10: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/12.jpg)
Doesn't it ring a bell?
“Code once deploy everywhere”?
(“code once, debug everywhere”)
![Page 13: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/13.jpg)
Doesn't it ring a bell?
“Code once deploy everywhere”?
Yup, Java
(“code once, debug everywhere”)
![Page 14: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/16.jpg)
Fast pace anyone?
HTML 5 / CSS / JS is about being standard
Mobile is fundamentally non-standard
![Page 17: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/18.jpg)
Not even talking about
Debugging experience
![Page 19: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/19.jpg)
Or
Browser discrepancy
![Page 20: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/20.jpg)
In fairness
HTML5-based solution are fine for app with
existing HTML-based content
![Page 21: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/21.jpg)
In fairness
HTML5-based solution are fine for app with
existing HTML-based content
( Although we also have WebView! )
![Page 22: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/22.jpg)
At Xamarin
![Page 23: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/23.jpg)
Our vision
• We think all-in-one solutions are flawed
![Page 24: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/24.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/26.jpg)
Our vision (graphed)
![Page 27: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/27.jpg)
What our xplat looks like
http://blog.xamarin.com/2012/02/24/mwc_2012/
![Page 28: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/28.jpg)
XPlat libraries
Xamarin Mobile API
![Page 29: Monomobile](https://reader033.fdocuments.us/reader033/viewer/2022060111/5562535fd8b42a6c368b5167/html5/thumbnails/29.jpg)
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
• ...