Wednesday, 23 July 2008

Desktop Silverlight Applications (Part One)

I responded to a question in a forum today, which got me thinking about running Silverlight Applications on the desktop. So this got me thinking of the options available.

File System Silverlight Applications

Silverlight applications can run from the filesystem already without a backend web host.

The issue is that you don't have access to any networking functions. WebClient, WCF Services, Sockets etc.

Even then you are still restricted to the sandbox (no direct filesystem access), and no possible way of interacting directly with the filesystem (without use of ActiveX objects, Javascript etc).

So if you want to deploy a game, or a learning application on a CD you can do this with Silverlight (cross platform) using this method. However If you are not worried about cross platform, WPF is probably a better solution.

Offline Silverlight Applications

So, the second option we have is to run the application offline (or online if you are online). I can connect to my silverlight application and it run it offline.

The downside of this approach is that i need to be online to perform the first download. My application is also dependent on Browser Cache. So if my browser cache is cleared, i need to download my application.

Could be a pain at a critical time. However this is a great solution, if you want to have an online access which is available (not critically) when the user is offline.

Desktop Silverlight Application

So what other solution do I have for running my Silverlight Application locally?

Well this is where my crazy out the box thinking began.

And in my next post, I will discuss my thoughts.

3 comments:

Michael Foord said...

Embed IE in a Windows Forms control and communicate with the hosting app via http.

Michael Foord said...

Use the Mono Silverlight (Moonlight) implementation and their 'desklets' support.

chrishayuk said...

great suggestions michael