Thursday, May 28, 2009

The Trend of Emulation/Virtualization

The trend of virtualization is so non-stoppable that we are now surrounded by news with it and we are becoming numb with them. But this one is itchy (to me):  Ubuntu has a working prototype of running Android applications on Ubuntu platform.

Android is generally considered an ecosystem itself (it has its own JVM, API, and its own app store.) However, as it is a piece of software, we always can port its Dalvik JVM to other platforms. With the binder IPC been ported properly and its *compacted* system libraries been handled.

The porting of Android ecosystem to Ubuntu is an indicator of the virtual applications that you can buy easily or download freely.

I once wondered the difference to native Java applications, why would we need Android development environment? The answer lies in Java itself. Sun claimed it would develop a CPU for Java years ago and finally dropped the plan. I am not sure why it ended ungracefully: is it only a marketing thing or there is technical difficulties? But one thing for sure, Java is never fast enough for ubiquitous devices, even JavaME. Although it is possible to run Java applications on your cell phone, the loading time of them is always pain-in-the-ass.

Android successfully solved the issues by optimized many parts of the Java environment to its own design. Yet the nature of Java is kept: portable application binary.

I am wondering whether one day we will have our desktop environment replaced by Android? Can anyone tell me a reason that Android will not be able to make it?

No comments: