Tuesday, May 1, 2007

MIX07 Update: Silverlight 1.1 and .NET Development

I went to a session this morning on Silverlight 1.1 Alpha which is the next version of the product. It features a number of interesting features:

1. Complete CLR .NET based framework - write your Silverlight applications in VB.NET, C#, IronPython, etc. using standard .NET classes. What ships with Silverlight is a stripped down version of the .NET framework in order to shrink the plug in size. For example, XML document reading is included, but XSD validation and XPATH are not included.

2. Silverlight runs 100% client side all the managed code runs within the plug in and will run the same on a Macintosh as it does on the PC (although I have heard this before with Java applets and it never quite worked 100%).

3. Serving Silverlight apps can be done any web server that can serve files. So if you want to deploy your apps to an Apache server, no problem.

4. If you choose to serve your Silverlight apps from ASP.NET you get some advantages and tight integration with your ASP.NET page.

5. Debugging support is built in, including debugging via a proxy client on a Macintosh. Debugging is standard Visual Studio debugging with breakpoints, stepping through, etc.

6. LINQ for objects is supported with LINQ for databases (DLINQ) and LINQ for XML (XLINQ) on the road map.

7. There is the ability to interop between HTML and Silverlight. You can access the HTML DOM from Silverlight, and you can expose your objects in Silverlight to javascript by using a simple [Scriptable] attribute.

8. Web services support is very strong with wizards for generating all the stub code including support for Windows Communication Foundation (WCF).

In general, I was pretty impressed and the 1.1 version is the obvious target for traditional .NET developers. From my perspective, the killer application for Silverlight isn't the animation sitting on web page that makes some animation go in as static content. Where its going to pulverize Flash is where you have .NET application developers who want a rich user experience without having to learn an entirely new programming language in ActionScript. Even in 1.1, the CLR in Silverlight seems much more robust than typical ActionScript code and more importantly for .NET developers is familiar territory.

No comments: