LaurentP LaurentP

Niner since 2009


  • XAML in .NET 4

    Our scenario for using XAML on the server side is the following one :

    v2 of our in-house web framework (used internally by several hundred developpers) has two important requirements :
    - the applications must support both a Silverlight or a standard HTML front end, dependending on the channel used to access them (with a common declarative view model, but two different presentation templates)
    - the server-side HTML control tree should be described in a much more strongly typed way than with traditional ASP.Net webform syntax (which is only about building a big string ...) if we want to be able to handle backward compatibility

    The natural choice was thus to use a XAML syntax to describe a strongly typed control tree for our HTML rendering engine, and even to reuse all of the "logical tree optimization" notions offered by Silverlight & WPF : resources, styles, controls, templates, and dependency properties (knowledge & tools reuse).

    Even if we reused the same concepts, in a client/server HTML world, the implementation of all these notions is very different than what it is in WPF. For example, the property system and the styles are much more complicated to handle (javascript & CSS generation), and have a slightly different meaning.

    We first thought we would be able to use PresentationFramework.dll to load our XAML page descriptions, but AFAIK, there is no way for XamlReader.Load to initialize attached properties, styles ... without depending on the property system, binding expressions ... of WPF (objects derived from FrameworkElement), which does not fit our needs.

    I really think there is a strong need in the community for a .Net 2.0 compatible version of System.Xaml.dll, as it could help speed up XAML adoption for a wider range of scenarios. I can see ISVs producing XAML-based tools also being stuck with a .Net 2.0 CLR on their clients machine for a while.

    Thanks, Laurent.

  • XAML in .NET 4

    Will the System.Xaml assembly only be available for the new .Net 4.0 CLR, or will you also compile a version that we could execute on a good old .Net 2.0 CLR ?

    We would really like to use System.Xaml in web applications on the server side, but .Net 4.0 is not likely to be avaible on our production servers before at least two years.

    In fact, we are in the process of writing our own XAML parser, and it seems such a waste of time regarding the great work you have already done in System.Xaml ...

    If not, is there any chance that the System.Xaml source code should one day be released under an open source license like other parts of the .Net platform ?

    Thanks for your advice.