I'm starting a new project that is primarily a silverlight web application. However, it also needs to run as a stand-alone desktop application.
I'm planning on basing the project on Prism 4.0. It provides guidance around sharing code between silverlight and WPF for a "multi-targeted" application. If I understand correctly, I can use MVVM to create separate silverlight and WPF views for the same view-models and underlying services.
I'm wondering though if it is really worth the extra work to create the extra views, when silverlight can now be run as an out-of-browser application. Couldn't I bundle the desktop version of my app with IIS Express and host the silverlight app locally? It seems like a fairly easy thing to do. I'm sure there are some visually compelling things I can do differently in WPF, but in my case - the web version is where 90% of the usage is going to be, so the focus is clearly on silverlight. If we have to maintain two separate sets of views, I can see the WPF version trailing behind the silverlight version on a regular basis.
On the data side of things, I've already figured out that I can configure Entity Framework to work with SQL CE 4.0 for the desktop version. I would do this even if we used WPF, so it's really just down to the presentation layer.
So to recap, the question is simply this: Is IIS Express + Silverlight OOB a viable alternative to multi-targeting both Silverlight and WPF?