My Silverlight and WPF Dream

I’ve been having this dream about Silverlight and WPF.

Alright, I haven’t 🙂

But, I’ve talked to a few people about Silverlight and WPF integration recently and I have this vision in my head of what I’d really love to see.

Now, don’t get me wrong – to the very best of my knowledge this absolutely isn’t going to happen and I’ve never heard mention of any plan anywhere to do this kind of thing but, hey, I can still dream?

It runs like this.

I’m sitting on my PC. I visit a site that has a Silverlight application like this one;

image

I notice that it’s a Silverlight application and, because I’m running on Windows, the browser could offer me some kind of UI functionality to suggest that I can drag this Silverlight Application out onto the desktop;

image

and then ( in my dream ) you drag this application to the desktop. At that point the platform does a check to see;

  1. Are you running with .NET Framework V3.0 above installed?

if not, it prompts you to install the .NET Framework V3.0 bits ( I guess you’d need to be on Windows XP Sp2 so the new .NET Client Profile might be suitable ).

Once that’s out of the way, the application is now installed and running on your desktop against the full .NET Framework.

Maybe the application gets an event OnApplicationMovedToFullFramework (!!!) or maybe there’s some flag that it can check such as;

if ( Environment.IsFullNetFramework )

or somesuch and then it knows that it can call out into the full .NET Framework rather than the Silverlight .NET Framework and start to make use of the local machine resources and so on.

From thereon in, I might get a choice as to whether I want to add this to my Start Menu like I do with a ClickOnce application.

Naturally, it’s easy to dream of things like this because there are massive questions around;

  1. How an application could be built against the Silverlight CLR and then run against the “full” CLR.
  2. How an application could reference assemblies built for both Silverlight and the “full” CLR and then dynamically switch from one to the other.
  3. What you’d do about security?
  4. etc. etc. etc.

Ok, dreaming over. Back to the real world 🙂