One of the interesting things about having been in this business for a while is that I can mark the turning points points in my career by the technologies that I adopted along the way.  I remember being in school when I met my first computer, an IBM mainframe.  I remember my first PC, an Atari 800.  I remember leaving the mainframe behind for OS/2 and the Client/Server revolution.  I remember leaving OS/2 for Windows NT when I realized that OS/2 was a dead end.  And I remember my discovery of Beta 2 of .NET 1.0 and Visual Studio.NET.

I guess the reason that I am telling you all this is that I feel that Silverlight marks another major turning point in my career and maybe in all of the careers of those of us who work with Microsoft technology.  Silverlight is the first cross-platform cross-language application development tool from Microsoft and as such it represents a true paradigm shift in the world of Microsoft development. 

By now we are well used to thinking in terms of the multi-layered multi-tier server-side architecture that has become a best practice in our industry.  Silverlight changes that a bit, or rather I should say it extends the model to the client tier.  In some of the presentations that I give I half jokingly expound about the 6-layer 3-Tier architecture that will soon become another best practice.  And yet there is some truth in that I think.  (As an aside we better start thinking about separation of concerns and separating things into layers on the client-side of the world as well or we are going to make the same mistakes that we made on the server side. )

The web and the web browser started us down the path of ubiquitous available-anywhere applications, but with the reduced functionality and performance characteristic of HTML served over the World-Wide-Web. DHTM (and later AJAX) took us further down the path of building web based applications with more of the rich interactivity that smart-client Windows based applications provided.  Silverlight (and especially Silverlight 1.1) will complete the trip for us.

Silverlight 1.1 brings essentially the same model of web development that we have used on the server to the client side of development.(ASP.NET pages with C# and/or VB.NET Code-Behind files.)  In fact I am fond of saying in presentations that I give that, if a space alien were to come down to earth and observe what we have to do to build a web based application his first response would be "What were you thinking?".  As it exists currently you have to know 5-6 languages/development models to build a web application (JavaScript, HTML, CSS, a .NET language like C# or VB.NET, etc.)  Silverlight, and similar technologies, should go a long way towards allowing developers to work in one development paradigm.  Rocky Lhotka wrote an excellent Guest Opinion piece for Visual Studio Magazine saying much the same thing (The Web is Dead).  And you can read also his blog which is always worth reading.

To learn more about Silverlight you can go to the source of all things Silverlight, the web site Silverlight.NET.  This is arguably the best most useful web site that Microsoft has ever built.  On that site you can find a Gallery of dozens of working Silverlight 1.0 and 1.1 applications that you can both run from that site and also download all the code for.  It has Quick Starts and Labs and even a vigorous set of community Forums to let you network with other Silverlight developers.  It is a very valuable resource if you are even considering developing a Silverlight application.

And while you are at it,  check out Tim Sneath's blog.  and Jesse Liberty's blog. These two guys are Silverlight Evangelists who are worth following.

Bill Zack


Add to Technorati Favorites