Tonight, Silverlight 2 is being released to the web (RTW). This release marks an important milestone for .NET developers, probably more so than most realize.
Silverlight 2 provides a browser control that can host .NET assemblies. If you’ve been living under a rock, or if you just haven’t been following the Silverlight story, this is news to you; but chances are, you’ve heard this before. But if this doesn’t make you jump up and down with excitement, then you might need to sit back and really think about what Silverlight 2 can do for you. And then jump and up and down.
I remember when I was first reading about Silverlight 1.1 (later to be renamed to Silverlight 2), whenever it was announced. As soon as I started thinking about .NET in the browser, cross-browser, cross-platform, with rich graphics, I started re-thinking the UI for DASL (the student information system I architected at BIG). I started thinking about teachers taking attendance by looking at a quasi-3D classroom rendering, complete with student photos where there desks are located. Why? Because strangely enough, a drag-and-drop seating chart seems to be a commonly-requested feature for DASL, and how awesome would it be to create one in .NET and have it work cross-browser and cross-platform. No more crappy code to deal with the idiosyncrasies of the different browsers. Just write .NET rich-client code once, and you’re done!
I’ve always liked JavaScript. I’m no expert, even though BrainBench says I am. Heck, I’ve been writing JavaScript since Netscape Navigator 3 Gold (and IE3). But when you’re creating rich web applications and you constantly have to switch gears from server code to client code, changing languages nonetheless, there’s a productivity hit there, whether you want to admit it or not. With Silverlight 2, you still have to consider client and server tiers, but when you can write both in the .NET language of your choice, your life is a lot easier.
Now that Silverlight 2 is out on the streets, and it’s gaining users like crazy, I highly recommend taking a serious look at it. Think about all of those screens you’ve created in HTML where you’ve yearned, “Gosh, it would be nice if we could make this screen really rich.” Now you can do it!