Radical

With the raise of the Metro applications and Windows 8 new runtime WinRT Radical is going to have a whole new life and a whole new group of application to support.

I’m working hard to port create version of Radical that can run smoothly in Metro app, facing all the challenges that the sandbox, in which Metro apps run, brings with itself.

It is cool and interesting. In the long term the aim is to give to the Metro developer all the facilities that Radical gives to the WPF and Silverlight developer.

State of the art at the moment of this writing is:

  1. The inversion of control container built for the Phone has been ported to Metro;
  2. The Model View ViewModel toolkit has been fully ported to Metro and the development of new Metro app from scratch takes a couple of minutes;
  3. A new NavigationService is under development due to the fact that the built-in Frame is not really MVVM friendly;
  4. The whole Change Tracking infrastructure has been ported to Metro so View Models can benefit of this goodie;
  5. WeakEvents have been introduced to support the monitoring infrastructure already present in the Radical Windows toolkit;
  6. Since, I hope currently, the XAML for Metro lacks the concept of behaviors I have build my own behavior infrastructure that behaves really similar to the Blend one, even if with much less features;

Currently I’m working on 3 big features:

  1. UI Composition for Metro;
  2. Complete the NavigationService infrastructure, stealing some concepts from the MVC routing engine;
  3. Provide an easy to use API to manage the state of the application across suspend/resume state changes;

As usual the whole source code is hosted on CodePlex, in the “metro” branch.

.m