Android Development...Using Web Technologies

Post on 14-May-2015

2.319 views 0 download

Tags:

description

from the Rich Web Experience 2010 conference, an overview of options for building Android applications using Web technologies

Transcript of Android Development...Using Web Technologies

   

Rich Web Experience 2010

Android Development...Using Web Technologies

   

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!!!

   

Setting the Stage

● Web-tastic Alternatives!– HTML5– Web App Containers

● PhoneGap● Rhodes● Titanium Mobile

– Adobe AIR

   

HTML5

● The Good News: Built-In Browser Support– Local Storage– Offline Caching– <video> Element

   

HTML5

● The Bad News– No distribution support– No launcher support– HTML5/related specs still a work in progress– Limited device integration

   

HTML5

● Alternative Browser Support– Firefox Mobile (beta)– Opera Mobile (beta)– Dolphin HD 4.0

   

Web App Containers

● Concept: Augmented HTML– Native APIs– Native APKs– Other benefits

● Language● Widgets

   

PhoneGap

● What You Get– Javascript bridge to native APIs– Packaging as an APK for distribution– Cross-platform portability

   

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

   

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

   

PhoneGap

● Extending the Framework– Plugins– Replacement wrappers– Code generators

● OpenLaszlo

– Open source

   

PhoneGap

● Issues and Limitations– Permissions– Look and feel

   

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

   

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.

   

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

   

Rhodes

● Issues and Limitations– Application size– Permissions– Look and feel– Programming paradigm (classic vs. JS-centric)

   

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

   

Titanium Mobile

● How You Get There– Download Titanium development tool– Create project template– Fill in project using own tools– Package and test using Titanium

   

Titanium Mobile

● Issues and Limitations– Permissions– Hybrid look and feel– Increased dependency on proprietary API

   

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

   

Adobe AIR

● How You Get There: Standard Choices– Creative Suite– Flash Builder– FlashDevelop– AIR development tools and your own

environment

   

Adobe AIR

● Issues and Limitations– Requires runtime engine as separate APK– Requires Android 2.2+

   

What's Still Needed?

● More HTML5 Discoverability● More Seasoning and Experience● More Mobile-Friendly Frameworks

– Examples: Sencha Touch, Jo

   

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/

   

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

   

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

   

Q & A