The document discusses various cross-platform mobile application development frameworks including Titanium, PhoneGap, Rhodes, Sencha Touch, jQuery Mobile. It notes that over 5000 developers used HTML5 for app development in 2012 according to a survey. The frameworks allow writing apps using a single codebase that can run on multiple platforms like iOS and Android. However, cross-platform apps may have limited access to device-specific features and slower performance compared to native apps. The document also covers pros and cons of cross-platform app development.
2. So. . .
• According to the Global Developer Survey ’13 conducted by
Telerik, over 5000 developers said that they developed apps
using HTML5 in 2012 and 90% of them plan to do so in 2013.
• Only 15% of developers said they would prefer to use a native-only
approach.
3. Why Cross Platform
• What your app will do?
• Who it’s for?
• Where it will run?
• Do you maintain different and completely independent apps
for each platform?
• Design a hybrid app with one code base?
• Pros and cons?
4. Main Features
• Support Web Services ranging from JSON, XML, SOAP, HTTP
etc.
• These tools cannot access device specific feature like the
bluetooth, NFC and other controls.
• Source code is typically organized in the MVC format
separating data tier, application and the interface.
• Problem with compiling iOS Applications
5. Titanium
• Developed by Appcelerator Inc.
• Titanium is free and opensource
• Apps written in javascript
• Support to build Android, iOS and Blackberry Apps, trying to extend support for
Windows.
• Interpreter for Android and BlackBerry is MozillaRhino, for iOS JavascriptCore
• Native experience – ‘not quite there’
• Source code organization
• Device Specific Functionality – No built in support for Bluetooth and NFC.
• Web services – SOAP, XML, JSON
• Code maintenance
• MBaaS support
6. PhoneGap
• Developed by Adobe Systems
• Free and opensource
• Apps written in HTML5, CSS3 and Javascript
• Support for Android, iOS, Blackberry, WebOS, Windows
Phone, Symbian and Bada.
• Apache Cordova is the heart of the backend.
• Performance limited because of hybrid nature of the app.
• Source code organization
• No built in support for Bluetooth and NFC.
• No Web services support built in.
7. Rhodes
• Developed by Motorola.
• Native app like feel.
• Apps written in Ruby and recently extended for JavaScript
• Support to build Android, iOS, Blackberry Apps, Windows
phone and Mobile.
• Source code organization
• Device Specific Functionality – No built in support for
Bluetooth and NFC.
• Rich web service support built in.
• Free but not for commercial users.
• RhoHub is their MBaaS
8. Sencha Touch
• Over 50 built-in components.
• Built-in MVC system
• Apps written in HML5 and CSS3.
• Sencha Touch 2.2 is the latest version
• Faster, Cheaper and highly customizable
• PC developers can now create iOS applications without
needing a Mac.
• More than 500,000 developers
• Rich set of documentation
9. jQuery Mobile
• Built on the rock-solid jQuery and jQuery UI foundation
• Its lightweight size makes it a speed freak
• JQuery Mobile 1.3.1 recently launched
• AJAX-powered navigation system
• Extensions are easy to make
• No established architecture
• Easy to debug
• Markup-based and is backed by a smart community
10. What is good about CPD?
• Implement a feature once and share it across platforms
• Using a webview might be faster than writing a native
implementation for simple screens
• Update content without requiring a full app release by serving
your pages off a server
• One tool to create, debug, and deploy.
• Speed increases and cost decreases
• Multiple security methods aren’t needed
• Simple for web developers to use
11. Cons
• Requires a bridge for their pages to interact with native
chrome and call native APIs
• Maintain a fork, if new functionality is added
• Write a little code, run it on iPhone, Android, Windows Mobile
simulator.
• Several straightforward implementations for a single complex
implementation.
• Harder problems are inconsistencies in platform conventions.
• Maybe web technology will one day be as fast as native code