Update on PhoneGap port to Qt for Symbian | January 15th, 2010
After getting distracted for a while from my port of PhoneGap to Qt for Symbian, I’ve recently jumped back on it, tightening it up a bit and adding some APIs. We now have Geolocation, Vibration, Acceleration, & Orientation working.
Now we already have a Symbian port of PhoneGap working and available, which uses Nokia’s Web Runtime (WRT) technology (which is native to Symbian OS). So why PhoneGap on Qt for Symbian? Well I briefly mentioned some of the limitations faced by using WRT in a previous post; I will touch on those again and expand:
- It is a closed-source proprietary technology, so we cannot actively fix bugs, and we cannot add features (and we want PhoneGap to be open!),
- Performance: when I ported a PhoneGap application developed and tested on the Palm Pre to PhoneGap Symbian WRT, I found that its javascript animation was completely lost. It would get from state A to state B, but the animation in between was non-existent. I originally assumed my phone simply could not handle the animation … until I tried it using PhoneGap Qt for Symbian. It worked.
- Memory: I tried using prototype.js in one of my PhoneGap WRT applications … it would crash immediately upon opening the application simply from the volume of javascript being loaded. Which reminds of when I first started developing with Web Runtime, and my applications would intermittently crash. Initially I would be chasing down the line of code which was crashing the environment … until eventually it became clear that we were simply running out of memory. Wasted a fair bit of time looking for non-existent bugs.
Now PhoneGap Symbian for Qt is still young and perhaps as it grows, it will face the performance & memory issues mentioned above. But for now things are running much smoother.
So far my testing of PhoneGap Qt for Symbian has been limited to my little PhoneGap API demo app, so more testing is definitely on my plate. The platform uses Qt Webkit, which appears to be very modern and so far has worked very nicely for me. Flick-scrolling is not native to the Qt Webview, so I may have to try implementing that as well. But to summarize, PhoneGap Qt for Symbian is now available, though not yet API-complete. Clone it, Get Started, and let me know if you have questions, comments, or suggestions. Or contributions!
January 18th, 2010 at 1:07 pm
So, Ive understood at your entry, you are not going to support symbian under symbian widgets? so you are going to change the symbian widgets to qt symbian-c++ based applications? It´s nice! well I consider it a really nice change, the question in fact, is about the change, I would like knowing.
Thx in advance
kind regards
January 19th, 2010 at 1:15 pm
Hi!
Great thing. This is a good option for running widgets instead of using WRT, but will a similar approach for Windows Mobile?
February 28th, 2010 at 1:30 am
Would this mean that the sqlite and file I/O functionality might be possible for Javascript apps on Symbian?
April 22nd, 2010 at 7:51 pm
Is your PhoneGap API demo app available in open source anywhere?
April 22nd, 2010 at 8:07 pm
We will continue to support the Symbian widget version of phonegap … and particularly if the WRT community contributes to it. But symbian C++ / Qt will allow us to expand the environment and open the door for plugins, which is a critical direction of PhoneGap.
April 22nd, 2010 at 8:13 pm
http://github.com/phonegap/phonegap-winmo
Very beta, proof of concept status. But its there!
April 22nd, 2010 at 8:14 pm
Absolutely. Using Symbian Qt / C++, the possibilities are endless.
April 22nd, 2010 at 8:14 pm
http://github.com/wildabeast/phonegap-demo
November 3rd, 2010 at 2:38 pm
Hi Ryan,
First, thanks for your work.
I’m trying to get Phonegap Qt working on an N8.
For this, I replaced the xq*_p.* files by stubs that do (almost) nothing interesting and ran the thing via the debugger on the N8.
However, there are no values shown for the various groups like “Location” (on the N8, in the application), …
For example, for “Location”, it says “finding satellites” and never updates.
So I wonder whether something in the integration of the Phonegap framework into the browser got broken.
How would you go about debugging this problem?
I mean, how do I find out whether the GapAcceleration exists?
I’ve seen a “DebugConsole” object in “phonegap.js”. How do I get to see the output of the console?
cheers,
Danny Milosavljevic