Silverlight 3 Beta has been announced during keynotes at MIX09. Among other features, Silverlight 3 applications will be able to run outside the browser as desktop applications without an additional plug-in or runtime.
Applications created for Silverlight 3 will be able to use an out-of-browser feature. The application is loaded into the browser for the first time when it runs, but the user will have the option to detach it. As a result, the application will be stored locally along with its metadata. From then on, the application can be started from the desktop like any other local application without the need to run in a browser. This feature enables users to run Silverlight applications offline when they do not have an Internet connection available.
The first concern the out-of-browser feature raises is security. If it runs locally like any other application, will it be able to access all local resources? The response is that these applications still run inside a .NET sandbox and are subject to the same security policies that apply when running in the browser.
Both on PC and Mac computers, the out-of-browser application can be started via desktop or start menu links with just one click. The application will detect when a network connection is present or not and will behave accordingly. For example, the data created or modified by the user will be cached locally until the connection is re-established, then is saved remotely.
Out-of-browser applications are auto updating themselves. When they start, the URI of their origin is checked and the new version is obtained if a network connection is present. That way the user is certain he is using the latest version like in a browser.
The Silverlight 3 Beta documentation on MSDN explains in detail what has to be done to use the out-of-browser feature. Basically, the steps are:
- Enabling the out-of-browser feature by adding a Deployment.ApplicationIdentity element to the manifest (AppManifest.xml).
- Adding a menu item or button that calls Application.Detach(). This will take care of the entire installation process.
- Changing the application to be able to work properly when a network connection is not present.
InfoQ has covered the first days keynotes on Silverlight and other Microsoft technologies showcased at MIX09. More is to come.