This morning at Mix’07 in Las Vegas we announced something we have been working on since we shipped V2.0 of the .NET Framework in 2005: .NET support for Silverlight. I want to congratulate the team for all the hard work that has gone into getting to this point! It’s been a blast getting everything going, and over the last four months things have really started to come online. I think you will be very excited as you pick up the bits and see what we have been up to.
There are a ton of things I love about Silverlight. This is my top 10 list from a developer’s point of view:
1. All of your .NET skills transfer to Silverlight. All of the .NET APIs we are releasing are subsets of the existing support on the desktop. That means if you know the .NET API set you will be able to start using Silverlight right away (this is similar to the approach we took with the Compact Framework).
2. The APIs we are releasing are “right sized”. That means we looked for the most powerful subset we could find while keeping the size small.
3. You can use HTML and XAML. You can add Silverlight features to your favorite HTML/AJAX based application very easily and seamlessly mix the two. You can use a consistent and easy .NET programming model to write code against both. ASP.NET AJAX also supports using Silverlight through new controls we are releasing. And all of this works in your favorite browser (IE, FireFox, Safari, and (coming soon) Opera).
4. You get the same CLR from the desktop, just factored for size. This isn’t an interpreter. You get the desktop JIT and GC for superior code performance. Because we support generics and runtime type helpers (Reflection et al), we get LINQ support too. Finally you will be able to use Visual Studio for debugging on both the Windows *and* the Mac.
5. Let’s repeat that again: it runs on the Mac. And you can do full x-debugging from Visual Studio. That’s worth its own bullet J
7. Visual Studio is your developer tool. You can use Visual Studio “Orcas” to write Silverlight code, debug it, etc. This is the same tool you have learned over the years and you will feel right at home working on Silverlight projects.
8. Expression is your designer tool. You can use the same Expression suite of tools to design for Silverlight projects as well. The code projects round trip between Expression and Visual Studio so you can have the user experience pro beef up your content. As an engine guy, I’m more adept at stick figures and console apps so this one is really handy J
9. Deployment is friction free. I’m going to write a longer blog entry on this one feature alone, but in a nutshell you can download Silverlight in a compact format without reboots on the machine. Your code is pulled down via the normal browser cache and executed. There is no GAC to figure out here, just point and go.
10. Silverlight is a secure sandbox system. The system was designed to support the browser sandbox from day one. This includes a new simplified security model which requires user code to be Transparent (a feature introduced in CLR V2).
The code you can build on top of this powerful base is astonishing! You get all of the power of .NET and familiarity with the class libraries only in a wonderfully factored package (easily < 5 MB compressed).
Now that we’ve announced the product I have a bunch of new blog content I’m planning to post on dynamic languages, friction free deployment, what it means to have a new CLR, porting to the Macintosh, when to use Silverlight vs the full .NET Framework, etc. Please let me know if there are particular topics you are interested in. As with our original .NET announcement at PDC 2000, this one comes with a lot of new stuff that will take a while to consume. Hang in there, it’s worth the effort!