Microsoft’s Silverlight Technology: Developing Rich Internet Applications for Any Browser on PC or Mac

rich internet appsWebsites are not the only thing developed for the Internet. Many applications are developed using web tools and technologies. Even with all the advances in web technologies, there is still often a large gap in user experience. The ability to design a rich user interface using web technologies is slowly happening with technologies like AJAX. Microsoft, never to be left out of any technology space for long, has introduced their solution to developing rich Internet applications: it’s called Silverlight.

What is Silverlight?

Silverlight is a lightweight cross-browser web presentation technology that can run on both Windows and Mac OS platforms.

It is also used to present rich media and audio to web pages.

Silverlight Technologies

The foundation of the Silverlight presentation technology is XAML – eXensible Application Markup Language. XAML is the presentation technology used in Microsoft’s Windows Presentation Foundation (WPF) – which is part of the .Net Framework 3.0.

Silverlight is essentially a browser plug-in that is installed the first time a user hits the site. It has a small footprint (about 2 MB). This free plug-in is what reads the XAML and creates the visual presentation in the browser. The plug-in exposes the underlying XAML page to Javascript developers (using the DOM – document object model – model). Developers can then interact with the XAML content by writing event handlers or changing its contents.

The 2 main components of the Silverlight architecture include:

  • The Core Presentation Framework are the components and services required to build the presentation interface layer of the application, including XAML and DOM, digital assets management, etc.
  • The .Net Framework for Silverlight is a subset of the .Net Framework components and libraries that can be used to develop the applications.

Developers and designers use Microsoft Visual Studio and Microsoft Expressions Blend to code and design Silverlight applications. Developers can code Silverlight applications using languages they are already well familiar with (Visual Basic and C#).

Some of the additional programming features include File Management, Isolated Storage, Asynchronous programming, POX services (simple XML web services) and XML libraries.

Uses for Silverlight

Some of the best uses for Silverlight include the following:

  • Rich media
  • “Islands” of rich, interactive content on a web page
  • Web visualization elements – like navigation, advertising, data display

There are currently 2 versions of Silverlight available. Version 1.0 is the first version that is out as a Release Candidate (which means it’s pretty much the final version), and Version 1.1 which is currently in Alpha state. Only version 1.1 has the ability to develop against the .Net framework API.

There’s an entire online community available to show you all the ins and outs of developing applications using Silverlight, including creating them and inserting them into existing .net applications.

There are also a number of MSDN technical articles related to developing with Silverlight. Start with the Getting Started with Silverlight and go from there. This type of technology creates the new generation of rich internet applications that are required for the Web 2.0 community. If you aren’t learning how to develop in technologies like Silverlight and AJAX, then you aren’t keeping with the Joneses