suzannea

One Android, Many Choices, Which One?

by suzannea Motorola on 07-28-2010 03:26 PM - last edited on 07-28-2010 03:26 PM

 

Ask yourself – how many technologies have you considered for Android development?

 

Android captured the interest and imagination of many developers at O’Reilly OSCON 2010 last week in Portland, Oregon (I traveled there to check out a few sessions). So much that several Android and mobile technology sessions drew packed, standing-room only crowds.

 

Welcome

 

My attention was drawn to the variety of technologies used to create Android applications. Let’s talk about two, mobile web technologies and the very popular Android SDK.

 

Mobile web applications are built with HTML, CSS, and JavaScript and run in a mobile browser. Jonathan Stark presented a great session comparing them to native device applications – in our case, Android Java applications.

 

These seem to be the benefits of web applications for Android:

 

  • You can use web design and development skills and tools, if you have them.
  • You can leverage an existing web site, application, or code base, if you have one.
  • It’s easier to make your app compatible with multiple Android devices.
        You can think less about device or platform features (but you do need to think about browser differences).
  • Your application can run on mobile platforms other than Android.
  • You can be less concerned with certain Android UI issues such as density independence and screen orientation.
         The browser handles much of the work.

But keep in mind that:

 

  • You can’t access all of the hardware features of the device.
  • You need your own payment system, unless your app is free.
  • Browser differences matter, both across mobile platforms and platform versions.
         Android uses a WebKit-powered browser, but not all mobile platforms do.
  • The user experience might be different from Android Java applications.

One development platform available for Android web apps is jQTouch. Using jQTouch, you can build a web app with an iPhone look and feel, and then change stylesheets to give your app an Android look. (See Jonathan’s site for details.)

 

If you want to develop a web application that uses certain device features, as well as submit the app to Android Market or another app store – consider a platform like PhoneGap, built by Nitobi Software (OSCON session here). PhoneGap creates an Android Java project with a JavaScript layer that calls Android Java APIs. You add your HTML, CSS, and JavaScript files, and the project is compiled to an Android APK file.

 

The device features that are available for various mobile platforms are listed in the PhoneGap roadmap. (However, we at MOTODEV have not done extensive work with either jQTouch or PhoneGap, so we can’t actually endorse them.)

 

Now let’s think about Android Java applications (the kind we all know, that are built with the Android SDK and run on the Dalvik VM). Android Java apps are great when:

 

  • You want your application to have a native Android look and feel.
  • You want to freely use any device features.
  • You want to submit your app to the Android Market or another app store.
  • You already know Java or Android SDK development.
  • You want to use or expose data using content providers, or use or expose functionality using intents.
  • You want to integrate Android NDK code.

 

For Android Java development, you use the Android SDK, of course. If you want an IDE, you can use Google’s Android Development Tools Plugin with your Eclipse installation or MOTODEV Studio for Android, either the standalone or plugin version.

 

OSCON featured some excellent tutorials and sessions on Android Java development (including talks by Marakana and Google, as well as an evening lab with Google Android experts). You can find presentation slides on the OSCON site, or for some Google sessions, the Google I/O site.

 

63i16CBC6DF87539075

 

The Google sessions did a great job of presenting some key aspects of Android development:

 

In an Android Java app, you can also use a WebView to embed a lightweight browser and open a web page, thus blending web applications with Android Java applications. Of course, you need to choose a development approach based on your audience and goals.

 

On a lighter note, the official (and best, and most fun) photos of OSCON are here – thanks and credit to James Duncan Davidson.

 

 

Comments
by limocart on 06-17-2011 02:15 AM

Thank you very nice post.

 

successful business brings

Post a Comment
Be sure to enter a unique name. You can't reuse a name that's already in use.
Be sure to enter a unique email address. You can't reuse an email address that's already in use.
Type the characters you see in the picture above.Type the words you hear.
About MOTODEV Blog
The MOTODEV blog keeps you updated on mobile app development news from MOTODEV and the Android developer community.

Subscribe to our RSS feed Subscribe via RSS

Follow Us:
Fan MOTODEV on Facebook Join the MOTODEV LinkedIn Group MOTODEV on YouTube

Our Blog & Comment Policy
Opinions expressed here and in any corresponding comments are the personal opinions of the original authors, not of Motorola. The content is provided for informational purposes only and is not meant to be an endorsement or representation by Motorola or any other party.

Remember, when you comment, please stay on topic and avoid spam, profanity, and anything else that violates our user guidelines. All comments require approval by Motorola and can be rejected for any reason.

For customer support issues with your Motorola phone go to the Motorola customer support website.