views:

563

answers:

4

I have to make an application that runs on both Windows (XP/Vista) and Windows Mobile. The graphics interface must be scalable (for different resolutions) and the controls must be custom (like the ones usually found on music apps). SVG was my instant choice but the lack of support on Windows Mobile pretty much kill my time budget. I've tried to evaluate WMF and it seems the right answer but i don't really like it. I was thinking about WPF/XAML but i don't know what are the differences between Windows and Windows Mobile. The project must be in C# or C++ and it's a commercial project (thus no GPLed libraries). What would be the best choice? What ma I overlooking?

A: 

Silverlight?

Shay Erlichmen
On Windows Mobile?
Henk Holterman
I don't know if it's supported: http://silverlight.net/learn/mobile.aspxMaybe the FAQ is old.
hence the question mark, Silverlight for Mobile should be out by now.
Shay Erlichmen
I dont think th eSilverlight on windows mobile supports out of browser. Thats a silverlight 3 feature http://blogs.msdn.com/jonbox/archive/2009/03/22/silverlight-3-out-of-the-browser.aspx
EKS
+1  A: 

WinForms has limited support for scaling: http://sellsbrothers.com/writing/winformsAutoScaling.htm

You may also want to look at "anchor" and "docking": http://articles.techrepublic.com.com/5100-10878_11-6165908.html

Combined together you should be able to create a UI that works for both desktop and mobile.

Erwin
What about scaling for controls? They are basically images and should be smaller on Windows Mobile and larger on Windows. SVG scales well but you know...
+1  A: 

Another option is the Qt library which is written in C++. It is LGPL which means that it can be used in commercial products without having to release your sources (except for changes to the library itself). If for some reason that isn't good enough they also sell commercial licenses.

It runs on Windows and Windows Mobile. As a bonus if you do a reasonable job of programming (and assuming everything else you're doing coding wise supports it) your application can also be run on Mac OSX, Linux and S60.

It has support for Scalable Vector Graphics, a Canvas with full widget support and a bunch of other nifty features as well! I'd suggest checking out the documentation and seeing if it has everything you need.

codeincarnate
+1  A: 

You can do scaling UI in .NET compact framework, like Erwin said with docking and achoring. In the windows mobile applications i have written i do normaly have to write some custom code that deals with things like Font scaling ( Touch founds might need bigger Font then system default if the text should be clickable).

I dont think your going to get it to scale picture correctly without code, i found some question releated that on this site. In my experience i write 99.9% of my code so it runs fine on both windows and windows mobile, but i do make a different UI for windows mobile.

If normaly write code in .NET 2.0 / .NET 2.0 Compact Framework, but if your you dont care about having to install .NET 3 then it should be better ( .NET 2 is wider spread out then .NET 3 )

EKS