WPF Themes and $-oriented .Net ecosystem

I’ve been using C# .Net and WPF for a few months now on a projet with two other collegues from Valtech. I have to say that besides minor things, I now tend to prefer C# 3.5 language to Java. Linq is very powerful, extension methods are a must, lambda expressions are of great value…

However, I wouldn’t be so enthousiastic with WPF. It’s quite nice for simple things. But when you want to do medium complexity, it’s not so fun. Documentation is not good, performance is not good, Xaml can become more complex to read/write than C# (a non-xml based DSL would help).

Latest problem is the lack of free nice looking themes for WPF. I googled quite a lot and couldn’t find any. The ones I found are all very expensive. This is the last major weakness of .Net : the whole ecosystem is $-oriented.

3 thoughts on “WPF Themes and $-oriented .Net ecosystem”

  1. Hi David,
    I am glad you are finding an intereset in the .net platform and in C# 3.0.
    I can agree with you on the lack of documentation, especially with a framework that is built to be extensible. However, I guess the framework is still not that mature yet ( fx is in its first releast so it is IMO a rather good start for a brand new architecture).

    Yet, I still find it promising and rather powerful. I guess the problem with WPF is that you dont have a lot of controls out of the box, so you got to do yours. This is quite annoying when you are used to mature frameworks that deliver a rich choice of controls.

    The power of WPF is its extensibility, I guess the comparaison is not fair between WPF and other desktop applications frameworks. WPF pays off when you need to do complex graphics and animations. However I won’t be surprised if it turns to be a pain in performance terms when mixing huge data amounts with a lot of effects.

    And about Xaml, I guess that xml is the right paradigm to describe GUI as they share a hierarchical nature of nested objects. What I would have prefered however is to have a more explecit DSL that deals with binding, triggers, styles and themes. Css is very good at defining styles, so why not to use instead of xml that don’t fit there.

    Just my 2 cents 😉

  2. Hi David,
    I share the most feeling with sadek especially about the lack of documentation and the use of XML like DSL to describe the GUI (because the nature of the GUI is Hierarchy and the most popular and well known Meta language that allows us to describe data hierarchically is XML, thus the XAML choice.

    I don’t think that we can provide framework that brings the solution for all our needs; thus, the main idea behind the framework is extensibility and customisation (Ease the development and allow customisation, extensibility). I find that extensibility is very easy with WPF, but there is not enough documentation that eases it.

    I don’t think you can evaluate .Net platform from your experience (WPF and Linq), there is lots of things to explore and test before you can make this decision.

    I am happy that, in the end, you appreciate c#3.0 new futures like closures, lamda expresson etc…

    It’s obvious that these new features (in c#3.0) are powerful, but I still program with java and think that java also is great language, and I hope that java 7 will introduce these powerful constructs.

    I don’t like automatic choice like use this solution or this language without knowledge of the context (domain, problem and so on).

    I apologize if you find mistakes in my message; I try to do my best.

Comments are closed.