I have been using WPF for a new project which is far from done. It's a hobby project and a very useful one.
I'd like to have cross-platform compatibility (i.e. Linux + Mac + Windows), but Windows is the primary target. I'm pretty good with web languages and C# and Erlang, but C/C++ are not among them and I hate Java. So it was a natural move to choose WPF for me.
However, after reading numerous sources like http://www.mono-project.com/WPF:
At this point, we strongly suggest that users interested in WPF adopt Silverlight instead as it can now be used outside of the browser and offers a rich set of cross platform APIs and features.
I'm starting to wonder if I should port my app to Silverlight and use it instead.
A couple of facts:
- My application is pure desktop application and meant to be so. It needs lower level access to system resources (but not that low that .NET wouldn't be enough).
- I'd like to have the three platforms support, but Windows is the primary concern.
- I'd prefer C# and .NET and something equivalent to WPF where the UI is declarative, separated from code in a clean way and allows for rich user interfaces.
I've heard Silverlight works in Mac already, and support for Linux is possible via Moonlight.
Should I consider switching to Silverlight from WPF and what problems may arise?