Android Introduction and First ImpressionsPosted by Andy Atkinson on November 12, 2007 | Post type: Gain Android is a recently-announced, open source mobile-phone operating system and development platform from Google. Apple recently announced an SDK to allow developers to produce native applications for iPhone, though Google's announcement is quite different from Apple's where the hardware and software stack are fixed. The Android software stack, by comparison, could be installed on any number of handsets, with service from various mobile carriers around the world. While Apple has a lead hardware-wise with millions of iPhones around the world, Google aims to offer a more flexible and feature-rich development platform, to first attract more 3rd party developers that may have otherwise developed for iPhone, then use those applications to convince consumers to purchase Android handsets (once they start shipping in late 2008). Google has several advantages with Android that contribute to its buzz: they've beat Apple to market with an SDK, they've provided an API and free tools that millions of Java developers can learn quickly, and they are even allocating 10 million US dollars to pay developers for their applications as part of the Android Developer Challenge (though it is unclear how application developers will make money outside of the ADC). While the Apple SDK will likely support applications developed in Objective-C using Mac-only tools, Google has provided a Java API for Android development, with development tools for Windows, Mac, and Linux. By using Java, Google can take advantage of much maturity and tooling for the language, the same argument they make with GWT. Google has even shipped an Eclipse plug-in at launch for the popular cross-platform IDE. Eclipse integrates very nicely with the Android "Palm Centro-looking" emulator as well. One criticism (or challenge) leveled at Google is that Android will detract from the official Sun Java ME mobile Java development platform. Features, Open Handset AllianceGoogle applications like Maps (including Street View) will ship with the device. Hardware OpenGL 3D support is available, demonstrated by a short demo of the venerable Quake video game. Google provides scripts to support other Java IDEs like IntelliJ, which means developers aren't tied to Eclipse. From a hardware perspective, most of the features are dependent on the specific phone. Another positive development for consumers is that Google has selected the open source WebKit browser rendering engine for the Android web browser. With WebKit fueled by innovation from both Apple and Google, it is sure to become the de facto browser engine of choice for mobile devices. Google is also promoting the Open Handset Alliance, which has 30 technology and mobile companies as members as of this writing. A Hello World sampleThe Android Eclipse plug-in lets developers skip project generation altogether (though scripts are provided to automate this). This was not something Google provided initially with Google Web Toolkit, so I noted the improvement. As a Java developer already familiar with Eclipse (and with the Android plug-in installed), a Android Hello World sample can be set up and ran, including an interactive debugging session, in just 15 minutes. My only addition to the otherwise excellent Google documentation is to run your Android launch configuration a second time, once the Android emulator is already booted up. The first time I run the launch configuration I don't see the Hello World TextView that is supposed to be displayed. Documentation, media, official blogFamiliar Google code documentation for those that have used the Maps API or GWT documentation, free of excess clutter like marketing information, high-quality and useful JavaDoc, deployment diagrams and more. The documentation alone has clearly been in development for months, with thorough testing and lots of revisions to be sure. Here are videos introducing and demonstrating Android, including an appearance by Google founder Sergey Brin. Official Google Android blog. QuestionsThere are still many Android questions to track over the next year.
Android is a an exciting platform with a bright future. I'm very impressed with the initial release of the Android SDK. I'm personally interested in following Android's progress and creating applications of my own to run on Android. Are you interested in Android? Do you have objections or questions about the platform? Please share thoughts or suggestions in the comments. About the author(s)Andy started Pain in the Tech in 2005 as a way to share tips and tutorials with friends and family, and evangelize great products and services. By 2008, Pain in the Tech had 7 contributors, thousands of daily page views. Site ownership was transitioned to Matt Thommes in 2008. Comments
|
Quick Link to this postTTIP.me/2044 |
Good writeup and lots of good questions Andy. It's going to be interesting to see how everything plays out later this year and Android playing catchup to the iPhone. With around 5 million Java developers though, there's definitely a solid technology base of people poised to jump into the mobile market using Android and programming in Java.
Quick Link to this comment: http://TTIP.me/c4703