Question

I saw a lot of question on this topic and it took me some time to decide whether or not I would write another one ... but I think my question is a bit more complicated ... so here we go.

I'm currently working with a WPF application using MVVM.

The application is built with:

  • WPF
  • Prism V2
  • Ideablade (devforce) to access a database
  • Avalon dock for the docking feature
  • Telerik for the grid component
  • Views and ViewModel are generated with .tt file.
  • Views are generated in xaml (for WPF) files.

I know that:

  • Telerik has Silverlight controls
  • Using Prism V2 will probably help me doing a Silverlight version of the application

I don't know:

  • If the usage of devforce can be a show stopper
  • If the usage of avalon dock can be a show stopper

My question:

Appart from generating xaml for Silverlight ... where do I start ...

----EDIT----

Please, avoid any comments like "Silverlight will die" or "Silverlight xaml is a subset of WPF xaml".

It is a proof of concept and should be made using Silverlight. For the xaml, I can modify the application to use only simple ui element that can be both in Silverlight and WPF.

Was it helpful?

Solution

Depending on how you actually used Prism and other frameworks this can be a lot of work or quite easy.

I'd start at the 'bottom' because I'd expect the Models and ViewModels to be quite portable, at least that is what I have experienced so far. She fact that Silverlight more or less forces you to write async code everywhere might encourage you to investigate in (yet another) framework such as Rx

The Views could be quite a hassle; you will have to find controls that provide the same features that you are using in WPF, build them or invent something new. That can be a lot of work.

Another thing to consider is when your WPF app relies on many desktop features you might consider creating an Out of Browser Silverlight App.

As with any project try to find areas that will probably need a lot of attention and do those first; it's a waste of time to get a lot of stuff working to find out later that you will have to replace it because of an impossibility elsewhere.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top