The State of PhoneGap with Windows Mobile | June 2nd, 2009
Well there is no state really, except for the proof of concept currently (by PhoneGap contributor Jose Noheda). I was re-factoring the PoC code, and getting everything working with the PhoneGap Javascript common code. In a nutshell, PhoneGap WinMo cannot use the existing PhoneGap js [1], as js support in the IE control in WinMo is too primitive. The current IE in WinMo is based on desktop IE 4 (released in 1997) and only supports JScript 3/Javascript 1.3.
So where does this leave PhoneGap WinMo? These are the ways we can proceed:
- Have a totally separate Js codebase, based on JScript 3, for WinMo. Con: Maintenance nightmare?
- Upgrade to IE Mobile 6. This discussion has its own section, below.
- Use WebKit with Qt [5]. Pro: We can probably use Qt Webkit in Nokia phones (soon, not supported yet), because well, Nokia owns Qt. Con: Using Qt adds a 10MB overhead, minimum.
- Use our own WebKit control. Con: I don’t know how long this effort will take, and it is the riskiest.
Internet Explorer Mobile 6
IE Mobile 6 is based on desktop IE 6 (which was released in 2001) but with the IE 8 Javascript engine [2]. However, only newer (unreleased as of yet) phones will get this version, according to Microsoft [3]. Although there are development emulator images available, they are no substitute for testing on a device.
Even if we somehow get IE Mobile 6 on existing phones (with unofficial ROMs, eg through xda forums[6]), .NET code cannot take advantage of this, because Microsoft does not want to break existing compatibility with existing code that uses hosted controls [4].
Footnotes:
[1] Sample PhoneGap Javascript code that fails under IE Mobile 4 JScript
http://pastie.org/485649
[2] IE Mobile 6 release blog post
http://blogs.msdn.com/windowsmobile/archive/2008/11/11/internet-explorer-mobile-6.aspx
[3] IE Mobile 6 will not be available for current phones
http://blogs.msdn.com/windowsmobile/archive/2008/11/11/internet-explorer-mobile-6.aspx#9063740 [All comments were deleted after the fact by MS]
[4] IE Mobile 6 will not be available in hosted controls (ie .NET WebBrowser component)
http://blogs.msdn.com/windowsmobile/archive/2008/11/11/internet-explorer-mobile-6.aspx#9064039[All comments were deleted after the fact by MS]
[5] Qt toolkit
http://www.qtsoftware.com/
[6] XDA Developers forum
http://forum.xda-developers.com
July 26th, 2009 at 5:27 am
My favorite mobile phone is still Nokia. I found your blog on google and read a few of your other posts. I just added you to my Google News Reader. Look forward to reading more from you in the future.
August 24th, 2009 at 4:34 pm
[...] see what we can do with getting a working branch of PhoneGap running on a Windows Mobile device. Shaz had done some previous research into this work, but we didn’t have more than basic scaffolding source code and a general idea on how to do [...]
November 10th, 2009 at 8:31 pm
Is there a possibility of embedding (or invoking) Opera Mobile? It’s a very capable browser for Windows Mobile.
http://dev.opera.com/articles/view/opera-mobile-9-7-features-standards/