Posted by: adrianbega | June 1, 2010

Silverlight application functionality extended

What is Silverlight?
If we follow the definition, Silverlight is “is a web application framework that provides functionalities similar to those in Adobe Flash, integrating multimedia, graphics, animations and interactivity into a single runtime environment.”

Running Silverlight out of the browser, just like a normal application was no longer a restriction, starting from Silverlight 3. But even locally installed, Silverlight application still runs in a sandbox, thus preventing the invocation of platform APIs.

Unfortunately, until now, there was no way to allow a Silverlight application to behave like a real application, and this is a limitation from the Silverlight’s .NET Framework which is a subset of the Windows Presentation Framework.

Silverlight Extender Project
Why until now? Because the Silverlight Extender Project was created especially as a way to extend Silverlight’s functionality, and to allow it, under certain circumstances, to behave as a standard windows application. Of course, this whole process falls under a special security model, which uses a combination of permission sets and deployment zones to determine the Silverlight application’s privileges.

What is the purpose of this project?
This project may look weird to some, they may ask – we have WPF, why shouldn’t we use it instead of an extender for Silverlight? Wouldn’t this break the whole security model Microsoft imagined for Silverlight, the whole idea of a Silverlight sandbox?

Well, for me the answer can be found in the development simplicity and portability.
I have many times asked myself the following question: if Silverlight framework is a subset of WPF framework, why is there no simple way to create common Sillverlight components to be used inside WPF applications? Why did they avoid to preview an interaction between the two technologies?

Security
The fact that we are extending the functionality and the rights of a Silverlight application, doesn’t mean that we will blindly expose the standard user to security risks.
To be more precise, an isolated sandbox will always exist. A certificate will be required to validate against the Silverlight Extender Framework. No full disk access or registry permissions will be given unless explicit permissions are validated by the user regarding each allowed operation performed by a certain Silverlight application. Also the ability to send messages to other applications using the Silverlight Extender will be based on special permissions. This is a vast subject and will be discussed in detail on the project’s page.

The project is currently in alpha stage, if you would like to be updated about the project, to see how it evolves, keep an eye on the Silverlight Extender Project page, or subscribe to my blog.
If you would like to contribute to this project, just drop me an e-mail with your expertise/skills on .NET/WPF/Silverlight and how do you think you could help.

Adrian

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: