Advertisement
Promo

Become a member of the ZDNet UK community

Adrian Bridgwater

View blog's RSS Feed

Software application development

This blog is intended to provoke discussion and exchange between like minded software application developers, engineers, architects, project managers - and keen hobbyists too.

Wednesday 14 November 2007, 3:33 PM

Google Dalvik Virtual Machine Goes Head to Head With Java & .NET

Posted by Adrian Bridgwater

Google’s Android software ‘stack’ for mobile devices appears to be underpinned by a more substantially game-changing technology than at first thought in the form of the Google Dalvik virtual machine. Android includes an operating system, middleware and a set of core applications with reusable components and on the surface is billed as being capable of running Java applications on mobile phones under the Apache Licence 2. Below this however is Dalvik, Google’s own virtual machine that compiles Java applications into Dalvik bytecode rather than Java bytecode.

In the fight for total application development ownership, this puts Google more firmly in the driving seat than may have been inferred by the company’s initial official positioning on Android. At its launch, Google stated that its reason for developing Android was to enable the company to scoop up advertising revenue from mobile Internet and online Java application usage. Closer inspection suggests that Google has in fact made efforts to distance itself from the Java (ME) Micro Edition.

To achieve this autonomy, Android employs the syntax of the Java language and presents developers with a structure and IDE that they will be comfortable with. Android’s next trick is to side-step SUN’s Java SE class library and instead use Apache’s Harmony. This unshackles Google from the responsibility of having to adhere to the Java Community Process for any changes to the Java ME standard.

“Google's use of its own code is no secret. I was at Google on Monday with Android co-founder Andy Rubin and he freely explained this without prompting. It means a two-step compile but when converted to Google byte code, which is ARM-oriented, the code will run ten times faster. Java byte code is not optimised for a particular processor but in the phone world everything is ARM-based. It's a bit inconvenient on the compile side but you can still use Java,” said Ken Dulaney, VP Distinguished Analyst, Gartner.

Buying itself so much extra freedom to breathe arguably allows Google to win more hearts and minds within the developer community and potentially seeds its own technology more deeply into a market segment set to expand exponentially. For developers, there is the opportunity to access what is said to be a more modern class library with support for OpenGL, Bluetooth, USB in the 3G space.

Comments on this post

Adrian Bridgwater

This member is ranked #4 in our top 100

  • Adrian Bridgwater
  • Applications Development, London, UK
  • Member since: July 2007

Site Activity Rating 6

CoreTechs

Contacts' Latest Discussions

Number of Tracked Discussions: 2,024

Jake Rayson Jake Rayson

You mean Ubuntu isn't perfect?!?

Friday 6 November 2009, 3:44 PM

2 comments
ator1940 ator1940

Did not say it was.

Friday 6 November 2009, 2:13 PM

15 comments
ator1940 ator1940

Human error can be avoided.

Friday 6 November 2009, 1:49 PM

3 comments
manek manek

Email archiving - who needs it?

Friday 6 November 2009, 10:24 AM

5 comments

Contacts' Latest Blogs

Number of Contacts Blogs: 5

Avatar Jake Rayson

You mean Ubuntu isn't perfect?!?

Thursday 5 November 2009, 9:27 AM

2 comments

Skip Sub Navigation Links to CNET Brand Links

Help

Become part of the ZDNet community.

Newsletters