Announcing .NET Framework Support for Silverlight!


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


6.       Your favorite languages are supported on the client.  C# and VB.Net work out of the box.  With the new DLR, we have support for IronPython, IronRuby, Javascript, and the new dynamic VBx compiler.  It is called the Common Language Runtime for a reason and we are raising the bar with Silverlight.


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!

Comments (12)

  1. B# .NET Blog says:

    It’s great to see the Silverlight story coming together. This morning at MIX07 , Scott Guthrie demoed

  2. Rod Mac says:

    Will Silverlight obviate the need to create XBAPs?

  3. Isaac says:

    Next question: when will it run on Linux with Firefox as well?

  4. dmurillo says:

    Will it be possible to use SQL CE as a kind of local database somehow on the mac?

    dm

  5. Rosyna says:

    Hmm, Silverlight 1.1 doesn’t run on my Mac.

  6. While yesterday was a pretty quiet day at the MEDC, next door at MIX07 things were certainly happening.

  7. While yesterday was a pretty quiet day at the MEDC, next door at MIX07 things were certainly happening.

  8. Anonymous says:

    Couple of answers:

    * Silverlight is a subset of XAML and the full .NET Framework.  You can write these apps right in your browser directly.  XBAPs are used with full WPF/.NET on the Windows desktop and are still good candidates when you want the advanced features (like 3d modeling).

    * On Linux we have nothing formal to announce at this time.  I ran into Miguel de Icaza yesterday and he seemed quite interested (see his blog post from yesterday for details).

    * Mac is supported on OS 10.4.8 and above. If you are trying to run on the supported version but having problems, please do let us know details about your OS config / version etc and we’ll take a look.

    Jason

  9. Lucruri care m-au impresionat în ultima vreme : Buzz-uri Cross-platform CLR via Microsoft Silverlight.

  10. I have been preaching for 7 years now about that the CLI/CLR was designed for cross-platform and the

  11. Jeff Walden says:

    Not everyone has Wingdings installed on their system.  Instead, take a look at U+263A WHITE SMILING FACE; if you use that, everyone with reasonable Unicode support (which is pretty much everyone) can see it.  You could also just go with the good old text-only standby, as I’ve done here.  🙂

  12. I have been preaching for 7 years now about that the CLI/CLR was designed for cross-platform and the rest was packaging. Today, the news from MIX ‘07 was very exciting on the CLR front as well as many other fronts (to be covered later). Today that become