Thursday, February 21, 2008

Are you writing Java Apps for Android ? Maybe and Maybe not

Lot of people who are aware of Android think that they actually write mobile applications using Java. This is only partly correct.

What many people miss out is the fact Google Android uses ONLY Java Syntax. The java code that one develops for Android is converted in to standard Java bytecode. This again is converted in a different bytecode format (which Google claims that is an optimized, minimum memory footprint bytecode).

Basically, Android does not use a standard JVM (it uses a non-standard JVM called Dalvik) . The SDK also contains android.* packages apart from the usual java packages.

I found this post from Stefano Mazzocchi very interesting. He claims that the reason for Google using a non-standard JVM is not really for just optimization sake, but instead to get around any licensing issues with Sun for using J2ME. Wow! I never thought of that.

Its natural. If I were to run the Android project (instead of Andy Rubin), then I would start using J2ME as a preferred virtual machine for obvious reasons that we have a huge group of developers who can be readily moved/attracted to developing applications on Android. And then when it comes to licensing, I would think of someway to circumvent the problem and the one smart way is to make sure the final bytecode is not the same of the one generated by the standard java compiler. Thats exactly what Google engineers have done by developing Dalvik.


Other interesting links:
http://wireless.itworld.com/4269/071116googlesun/page_1.html
http://www.oreillynet.com/onjava/blog/2007/11/dalvik_googles_tweaked_nonstan.html

[Article imported from http://mohasinz.blogspot.com/2008/02/are-you-writing-java-apps-for-android.html]

Tuesday, February 5, 2008

Opera Mobile 9.5 announced - But whats the big deal

Opera has announced the latest version of their Opera Mobile.

You can watch this guided tour of the Opera Mobile 9.5 user interface and features.

Now, most of you who have been using Opera browser on your phone should be confused between Opera Mini and Opera Mobile.


Opera Mini and Opera Mobile are different in many aspects. If you have been using Opera on your phone for a long time now, then you should be having Opera Mini.

Opera Mini is java based browser application, whereas Opera Mobile is written as a native application for a Symbian S60 or Windows Mobile operating system (Opera Mobile 9.5 also seems to be available for embedded linux).

An other difference is that Opera Mini uses an intermediate proxy server which converts the web pages to much lower sizes. Opera Mobile on the other hand directly downloads the web pages onto the mobile and then figures out a way to render it on the screen.

Last, but not the least.. Opera Mini is free, whereas, one needs to buy Opera Mobile.

Now, is it worth buying a browser for your phone. May be and May be not. I don't want to comment on it unless and until I try out the 30-day trial version of their previous version of Opera Mobile.