Java and Linux on the Android - Almost the Perfect Match?

As this blogspot's subtitle states, you'll be reading more about Java and Linux here (aside from physics) than anything else, and I was hoping I'd have the opportunity to write a post that would talk about both of them under the same spotlight. Tonight, I was given that opportunity.

When browsing through the web lately, no one and I mean no one is spared from bumping into anything about G1, G-phone, Google Phone, Android, or whatever other name's attached to that thing. Thus, it wasn't entirely surprising that I ended up clicking on one of those articles that talked about this latest, hottest gizmo. Then link after link and click after click eventually brought me to the realization that what I had been dreaming of, that marriage of Linux and Java made in heaven had finally arrived! And of all chapels, they had to be wed under one that brought along so much fanfare, so much hype... the gphone/android/g1/etc. Apparently, applications that run on this phone are written in the Java programming language, on top of a Linux kernel.

Ah, but before all you java-linux fans start jumping up and down like I almost did, read on... as I also did. Well, here's what I discovered: while the apps will be written in Java, they won't be running as Java bytecodes. Rather, they'll be compiled into what are known as Dalvik bytecodes. They also won't be executed on a standard Java Virtual Machine. Rather,they will be running over the Dalvik virtual machine, a specialized VM designed specially for mobile devices.

So much for the marriage of the century. This has not totally dampened my enthusiasm though. In fact, expect to read more about that gizmo/phone here. Yes, yes, I know you've had enough of androids and iphones. Don't worry I'll be concentrating more on linux and java than the phone itself. For who knows? These two might end up in each other's arms in the end. Being in one little phone might just be too cozy for both of them to resist.

For those who are about to puke, i.e., if you're not the romantic type but are simply here for just java or linux, here are some information that you might find useful:

The android architecture makes use of Linux kernel version 2.6 to take care of core system services; including security, memory management, process management, network stack, and driver model.

It contains a set of C/C++ libraries that developers can have access to through the Android application framework

Well, if you want to know more about the Android architecture, you may check out Google's android site.

I will be talking more about Android applications, since they ARE written in Java, in my future posts. Besides, since they DO run on a Linux kernel, we just might end up talking about small Linux apps that can run on the phone as well. What do you think?


Dill Nates said...

I have carefully reviewed the facts, and have created an informative page explaining your rights and the GPL EULA.

I feel that a person should get a balanced overview and make a personal decision if Linux technologies and the GPL are right for them.

johnV said...

Thank you, Mr. Nates, for gracing my blog. The moment an individual bearing an opposite ideology comes and visits you, that could only mean one thing... that you are writing something interesting enough. Hence, I am deeply honored by your visit. I do hope to hear from you again.

Anonymous said...

Dill, really? That sight is hilarious! While I'm pretty sure it is a joke, what's your deal posting here?

In other news, as the owner of an g1 android phone I'm very excited for what the future holds on the platform.

Jack.R said...

Linux is great OS for mobile phones too, Android and many other phone-platforms proofs it.

It could be nice to be allowed run normal Linux applications on Android, but I preferr working phone more than just a happiness running all kind applications.

Why Google choosed Linux for Android? Because Linux is the OS (monolith kernel is complete OS, microkernel does not include all the OS parts!) what has very great community support and commercial support too. It is OS what can be scaled well in future and it is used as OS in many desktop systems like Ubuntu, Fedora and Mandriva.

Linux+Java sounds nice, but the "own kind" VM makes things littlebit more dificult. What is sad...

John Carl P. Villanueva said...

@ anonymous

Good for you! I wonder when I'll get the chance of owning one? hmmm.

@ jack

not only phones, e-book readers too! If you're interested, and haven't read about it yet, you might want to check out my guest post here.

Pinoy IN Germany said...

Hi John,

Nice blog! ^_^ Very useful for IT people like me. But I am just average (or below.hehe