Developing Opera Mobile for Android
By Pavel Studenýpavel.studeny. Saturday, December 4, 2010 12:46:12 PM
The Android-specific development was done in Prague, although many Opera teams and individuals contributed to the release.
Peculiarities of Android Development
Android only runs applications written in Java and converted for Dalvik virtual machine. However, Opera is written in C++, that makes the browser really fast and memory efficient.
So, how can we make a C++ program run on Android?
Luckily, Java allows class methods to be loaded from external libraries through a special interface, JNI. The external libraries can be written in any language. That's how we do it. We keep all the browser code in such external libraries and use a tiny Java code that loads them. This works very well, although debugging in multiple programming languages isn't that easy.
Another thing specific for Android is that this operating system is very young, compared to let's say Symbian. The good part here is that the user interface is modern and new features keep flowing in quickly. But the new features often bring changes that are not compatible with the previous versions: libraries change name, library loading is different and so on. This is the reason why our installation package on the Android Market supports Android from version 1.6 on.
Plans for the Future
Although Opera Mobile already has all the browser features, we want to improve your comfort when browsing the internet. In particular, you can look forward to:
- Flash: the new web technologies aim to replace it, but Flash will be around for some time. If you have Flash player installed on your phone, Opera will support it.
- HTML5 video: although it's possible to embed videos in a Flash, you can have videos directly in HTML5, the same way as images. You can already see HTML5 videos on Youtube.
This should have answered most of your investigative questions, but even more is coming. Stay tuned!