Can Android do Serious Linux Work, or is it Just a Toy? - page 2
What's What with Google Android
While frequent updates to the core operating system excite end users with new capabilities, they tend to bring lots of extra work for developers. This has been somewhat of a thorn in Android's side for quite some time. Applications must either support multiple versions of the OS or work on a reduced number of devices. This means that if you come to rely on apps from the Android app store, you're dependent on the developers to stay current. If you develop your own in-house, then it might mean more work for your dev team.
Apple has managed this quite well and driven sales of new devices by releasing updated software and hardware at essentially the same time. There have been some instances of software-only updates as with the recent release of iOS 4.2 targeted at the iPad.
Another dilemma for developers is the current state of Java on the Android platform due to ongoing litigation. In this case, it's also pretty safe to say that existing applications should be in no danger regardless of the outcome of a lawsuit. It could result in Google modifying their underlying code, but it would do great damage to the Android platform should they need to make any changes that would break existing apps.
Apple has their Objective C and Google has their Java as the primary development languages for their respective platforms. Google has just recently made their AppInventor tool available to the general public as an alternative to the more traditional method of writing Java code. The Mono project has produced tools allowing developers to write code in the C # language targeted at either iOS or Android. Monotouch has been out for a while and is available as a released product. Monodroid is still under development and in beta release at this time. Google has other projects, such as their Scripting Layer for Android (SL4A), making it possible to write scripts for Android devices using any number of languages including Beanshell, Lua, Python and more.
Developing for larger form factors, such as tablets, presents another set of issues. For Apple, it typically means two completely different code bases. While some applications move up to a larger screen, others just don't. Apple has taken the approach of grouping programs in their app store by device and identifying those applications that will work on either platform. Android-based tablets have just started to hit the market, and targeted applications really haven't caught up yet. In addition, future releases of the Android OS will have additional tablet functionality and support for different hardware configurations such as buttons.
Android already supports a number of SSH, SSL, FTP, and other remote administration and networking clients. The combination of an open platform and wide adoption should ensure a healthy and varied application ecosystem, and plenty of good tools for the hard-working server admin.