2. Setting the Stage
● Traditional Android Development
– Source = XML and Java
– Executables = APK files
● Distribute on the Android Market
● Distribute by other means as desired
– Fun! Exciting!! No Resemblance to the Web!!!
3. Setting the Stage
● Web-tastic Alternatives!
– HTML5
– Web App Containers
● PhoneGap
● Rhodes
● Titanium Mobile
– Adobe AIR
4. HTML5
● The Good News: Built-In Browser Support
– Local Storage
– Offline Caching
– <video> Element
5. HTML5
● The Bad News
– No distribution support
– No launcher support
– HTML5/related specs still a work in progress
– Limited device integration
6. HTML5
● Alternative Browser Support
– Firefox Mobile (beta)
– Opera Mobile (beta)
– Dolphin HD 4.0
7. Web App Containers
● Concept: Augmented HTML
– Native APIs
– Native APKs
– Other benefits
● Language
● Widgets
8. PhoneGap
● What You Get
– Javascript bridge to native APIs
– Packaging as an APK for distribution
– Cross-platform portability
9. PhoneGap
● How You Get There: Local Development
– Requires Android SDK and dependencies
– droidgap script to generate application stub
– You create HTML, CSS, Javascript
– Use Apache Ant build system to create APK
– Test on emulator, device
10. PhoneGap
● How You Get There: Cloud Development
– build.phonegap.com (in private beta)
– Upload HTML, CSS, JS assets
● ZIP, Git, SVN
– Download APK and binaries for other devices
– Free for open source, non-free for commercial
11. PhoneGap
● Extending the Framework
– Plugins
– Replacement wrappers
– Code generators
● OpenLaszlo
– Open source
12. PhoneGap
● Issues and Limitations
– Permissions
– Look and feel
13. Rh0des
● What You Get
– Ruby interpreter
– Rails-esque Web app framework
– Ruby bridge to native APIs
– Packaging as an APK for distribution
– Cross-platform portability
14. Rhodes
● How You Get There: Local Development
– Requires Android SDK and NDK, plus
dependencies
– Ruby gem supplies command to create project
● Also other generators, etc.
– Rake script to build application, install to
emulator, etc.
15. Rhodes
● How You Get There: Cloud Development
– RhoHub TaaS (Tools as a Service)
– Generates Git repo for your app
– Request builds as needed
● Specify platform and version
16. Rhodes
● Issues and Limitations
– Application size
– Permissions
– Look and feel
– Programming paradigm (classic vs. JS-centric)
17. Titanium Mobile
● What You Get
– Javascript bridge to native APIs
● Focus on native GUI widgets, laid out using
HTML/CSS
– Packaging as an APK for distribution
– Cross-platform portability
18. Titanium Mobile
● How You Get There
– Download Titanium development tool
– Create project template
– Fill in project using own tools
– Package and test using Titanium
19. Titanium Mobile
● Issues and Limitations
– Permissions
– Hybrid look and feel
– Increased dependency on proprietary API
20. Adobe AIR
● What You Get
– Ability to take AIR desktop applications and
convert to Android APKs
● What You Don't Get
– Flex
– Deep device integration
21. Adobe AIR
● How You Get There: Standard Choices
– Creative Suite
– Flash Builder
– FlashDevelop
– AIR development tools and your own
environment
22. Adobe AIR
● Issues and Limitations
– Requires runtime engine as separate APK
– Requires Android 2.2+
23. What's Still Needed?
● More HTML5 Discoverability
● More Seasoning and Experience
● More Mobile-Friendly Frameworks
– Examples: Sencha Touch, Jo
24. Where Do We Go From Here?
● Web App Containers
– PhoneGap: phonegap.com
– Rhodes: rhomobile.com
– Titanium Mobile: appcelerator.com
● Adobe AIR: www.adobe.com/products/air/
25. Where Do We Go From Here?
● Rich Web Experience 2010
– Today
● The Future of Mobile: Learn to Build W3C Widgets
and Device APIs with PhoneGap
● Choices in Mobile Application Development
26. Where Do We Go From Here?
● Rich Web Experience 2010
– Friday
● Ted Neward's all-day Android-a-palooza (a.k.a.,
workshop)
● Easy Mobile Development Workshop: Mobile GUI
Frameworks
● Easy Mobile Development Workshop: Appcelerator
Titanium