Hybrid Mobile Applications (Using Sencha Touch and PhoneGap) Midweek breather 03/28
Agenda• Brief introduction to various native mobile application development platforms• Limitations of native apps• What are hybrid apps?• What is Sencha Touch?• What is PhoneGap?• Putting it all together• Pros and cons of the hybrid application development approach• Doubts and queries• And then we EAT!
Mobile app development platforms• iOS(iPhone/iPod/iPad) – Objective-C using xCode as IDE• Android – Java ME, ADT (Android Development Toolkit) using Eclipse as IDE• Blackberry – Java ME, Blackberry SDK using Eclipse as IDE• Windows Phone – C#, VB.net using Visual Studio 2010 as IDE• Symbian, BADA, webOS – I dont know
Limitations of native apps• Portability across multiple platforms• Managing multiple code bases
What are hybrid apps?• Web for the rescue• Hybrid apps – A hybrid application (hybrid app) is one that combines elements of both native and Web applications
How do these two guys work together? Native Application Accelerometer webview Camera Network Index.html Connection Contacts Device Info Capture Device Events Sencha Phone File System Touch Gap Geolocation Media Database Storage
Benefits• Single codebase (for most of the time) for multiple platforms• Consistent UI across platforms• Managing native resources such as file system, databases are taken care of by PhoneGap library• Reduced learning curve and development time*
Drawbacks• Although it can have single codebase across platform, for certain capabilities developers have to rely on native implementation. (e.g.: Providing a camera view within an application is not yet possible using a hybrid app. Developers still have to rely on native code)• Consistent UI across platforms• Not ideal for creating applications which are heavily dependent on Phone hardware• Debugging a hybrid application can be a little bit tough