Decaflon

Welcome to Decaflon! Where the geeks hang out: Signup or Login Here
Decaflon is proudly hosted by (mt) Media Temple.  We recommend them for your web hosting needs.
Clips: Popular Clips Upcoming Clips Notes: All Notes

After reading this clip about how difficult and costly it is to deploy a J2ME application in the United States, things are finally starting to click in my head regarding why Google built Android the way it did.

The high-level concept behind Android development is that the syntax is Java but it doesn't use a Java virtual machine to make the applications. There's a great article about this and here's a quote:

Android uses the Dalvik virtual machine, which is a register-based VM whereas the Java VM is stack-based. Neither a specification nor the source code for Dalvik are available yet, but it’s clear that the bytecodes are quite different from Java bytecodes. There is a translation tool from JVM bytecode (.class files) to Dalvik bytecode (.dex files) but it is a build-time tool only. JVM bytecodes are never loaded onto an Android device.

Google chose Java syntax because of its familiarity with developers — if you're developing apps for a mobile phone then you're probably already using Java. However Google was incredibly smart in that they didn't want to deal with all the hassles that are involved with licensing the Java virtual machine. What are those hassles?

Well, for starters the deal cycle can take about 12-18 months. And not only that, you have to convince the operator that it is even worth talking to you... And while I hate to admit it, it's quite reasonable... Operators (or carriers as they are called in the US) get a huge amount of noise from companies wanting to launch their services. Content managers there have more hits than Google has... So, even if you're a start-up with a brilliant solution, they will have a hard time getting you in unless you have some proof of getting revenues or an impressive userbase or an impressive brand etc.

Oh, and the worst part?

[...] and there's also the fact that they will take about 50% of your revenues...

So Google wanted the code to be familiar but total control over the packaging, deployment, and future revenues. By using Java syntax but writing their own virtual machine to execute it, they got the best of all worlds.

Well you choose Java because you are almost guaranteed that every mobile phone in the world can execute its applications (with the exception of the other big boy...). The people who write mobile applications for the rest of the market already do so in Java and because the java mobile platform is so mature it only makes sense.

Competition is good.

Please Login To Leave A Comment

Decaflon Sponsors Get in touch if you want in.

 

Decaflon is part of the Chawlk Network of sites.

9 Great Places To Visit, Hang Out, & Meet New People

What's new and interesting at other Chawlk Network sites: