Q. What languages are available for the Q?
A. Most of the languages used on the Pocket PC are available for the Q. However, Compact .Net is the most mature of them. Basic J2ME applications will run using PersonalJava, however, PersonalJava also has limited support for Windows Mobile Smartphone.
Q. What tools do I need to get started?
A. You will need...
- Windows Mobile for Developers Resource Kit
- An IDE (I will be posting tutorials for individual IDEs later)
- Emulator image for 320x240 screens (Both the Q and Samsung i320 use this image)
For strict Q development you'll also need:
- Motorola Q Plugin for PPC emulator
Q. I use Linux, can't I just use Mono?
A. No. Mono has extremely limited support for Windows Mobile.
Q. I remember when I had to compile for different architectures, do I still need to?
A. The answer is, "Lemme get a alleluia!". No. The compact framework includes a JIT (Just In Time) compiler which will allow your app to run on anything from x86 to the Intel XScale (which the Q uses). Long as you don't use any assembler code, you're fine.
Q. Can I port my windows applications to the Q?
A. There is no short answer other than "Maybe". Windows Mobile has a derivative form of the Win32 APIs found on 2000/XP. Long as your code remains strict coded in Win32 realm, porting should involve no more then trimming down your GUI.
Q. I want to create "the killer app" for the Q...what's the next hot thing.
A. Microsoft just released a community preview of their Mobile Client Software Factory. It contains extensions to the compact framework that allow you to create robust client/server applications using WebServices, push, offline data, etc. You can find the CTP
here.
Q. Does Internet Explorer mobile support AJAX, XML/RPC, etc.
A. No. Internet Explorer Mobile is actually a forked version of IE 4, which never had solid support for AJAX. If you are a web developer looking to create rich user interfaces for the Q, I suggest using ASP mobile webforms. You can find out more on
MSDN.
This is just a few questions...I'm looking to add to this FAQ, so if you have something you'd like added, feel free to PM me!
Keep on codin'!
--Praet