1. Contemi Vietnam
31 May 2012
Mobile development
(MonoTouch vs PhoneGap)
Michael Nguyen – Phi Huynh
.NET team
www.contemi.com.vn
2. Agenda
• Mobile development overview
• Native apps
• Web apps
• Hybrid apps
• MonoTouch vs PhoneGap
• Conclusion
• Native apps vs Web apps vs Hybrid apps
• MonoTouch or PhoneGap
• Demo
• References
www.contemi.com.vn
4. Native apps
• Are written with a specific programming language (Objective C,
Java …) for a specific mobile platform (iOS, Android ...)
• Executed directly by the operating system
• Full native access to device capabilities
• Distributed via app store (AppStore, Android Market ...). Users
can download and install.
www.contemi.com.vn
5. Native apps development
• Similar approach, but different source code, different build and
expertise results in expensive development and maintenance
www.contemi.com.vn
6. Web apps
• Entirely written using web technologies: HTML, CSS and
JavaScript
• Code is executed by the browser, not by the OS
• Limited access to device capabilities
• Maintain and fix bugs in real time. No cost for app store
www.contemi.com.vn
7. Hybrid apps
• Web apps with native wrapper. Hybrid apps run in webview not
in native browser.
• Access to device’s capabilities happens through a device-
independent JavaScript API which talks to the OS proprietary
API’s also via JavaScript.
• Can access certain devices capabilities
• With HTML5, Javascript, CSS3 ... it is easier to develop and
maintain your app in multiple platforms
www.contemi.com.vn
9. MonoTouch
• Was originally created by Novell and released in 2009
• Moved to new company named Xamarin in 2011
• A wrapper of Objective C to be able to develop in .NET
• Fully capabilities to access all of features as Objective C apps
• Free trial (with a iPhone/iPad simulator)
• From 399$ - 2,499$ (for personal user or enterprise)
www.contemi.com.vn
10. PhoneGap
• Created by Nitobi in early 2008
• Acquired by Adobe in October 2011
• Hybrid model
• HTML5, CSS3 and JavaScript
• Open source (free) (Apache License, Version 2.0)
www.contemi.com.vn
14. Native vs Web vs Hybrid
• Existing in-house • Direct • Breaking the
Native
Web
Hybrid
native skills distribution to development
the hands of users tradeoff
• Targeting a single
mobile OS • Pilot application • Existing in-house
web development
• Dominant native skills
functionality
• Rich UI
requirements
www.contemi.com.vn
15. MonoTouch or PhoneGap
• Native model • Hybrid model
• .NET skill • HTML5, CSS3 and Javascript skills
• Good for rich UI requirements • Good for content delivery, social
(gaming) app-based network, web ... app-based
• Free
• Lots of platforms supported (iOS,
Android, Windows Phone,
BlackBerry, WebOS, Symbian …)
• Pricey
• Limited platforms supported (iOS, • NOT recommended for complex
Android, Windows Phone) games, intensive graphics
www.contemi.com.vn