In response to the proliferation of other frameworks, Microsoft Silverlight was recently introduced. All three of these applications, as well as the others on the market, enable a web developer to create an interface on a web page that is much more robust than traditional HTML-based pages once were. Extending the limits of HTTP / HTML, these technologies use proprietary rendering engines running within the browser, and XML as the major language with which to communicate with servers. Microsoft's entry into the arena of rich Internet applications represents the company's desire to create its own version of the technology that extends the reach of their .NET framework.
What Are Rich Internet Applications?
Rich Internet applications provide an end user with an interface that is more responsive than traditional applications. Many of the frameworks used to create these applications, including both Microsoft Silverlight and Flex, bring more of the processing to the client rather than leaving it on a centralized server. The user's browser does not exchange large, monolithic blocks of information, but rather sends small pieces of data at a time, usually asynchronously. And this means that only relevant pieces of the interface need to updated, allowing users to do more, and do it more quickly, than traditional web applications allow. For this reason, more and more web applications use rich Internet technology of some type to give the end user an optimal experience.
There are many course frameworks for rich Internet applications in use today, but Flex, AJAX, and Microsoft Silverlight are three that are more commonly known, and each merits a more in-depth look.
Currently, Flex has the largest market share of any other framework for rich Internet applications, with a penetration of around 90 percent, something that Microsoft Silverlight is challenging. Flex is built on Flash technology, which was originally designed to manage multimedia functionality. The Flash plug in, which is supported by most major browsers, and is freely available for download, runs its programs in what is known as a "sandbox" – a separate entity from the browser itself, and a secure environment that protects the user. When used properly, Flex enables a website to have like a thick client application (one that exists solely on a user's computer rather than on the Internet).
As with any client-side technology, there are drawbacks. Not all browsers start out with the Flash plug in installed, and Flash is also updated from time to time. In either case, the end user is required to download a new version if he or she reaches a page that requires it. Other frameworks for rich Internet applications have the same issue, which is seen by some as a drawback since not all users will (or are allowed to) download the plug in, and in many cases will navigate away from the page entirely.
Microsoft Silverlight was created to compete with Flex and with other frameworks for rich Internet applications that are already in use. It is based on .NET technology and Windows Presentation Foundation (WPF), which is a part of .NET 3.0. While .NET is a Windows-centric technology, Microsoft Silverlight offers a lightweight version of .NET that is cross platform (running on the Mac OS as well as Windows) and that runs in a browser sandbox.
The Benefits and Drawbacks of Microsoft Silverlight
The main drawback of Microsoft Silverlight at the current time is that it is not as widely used as Flex, and therefore could cause users to leave a web page using it rather than download the necessary plug in. Using Microsoft Silverlight would require a developer to leave behind the application with the greatest number of users and embrace a newer, untested application (with, admittedly, a well-respected and trusted company – Microsoft – behind it).
However, Microsoft Silverlight is very appealing for developers who already know .NET. While a developer would have to learn Flash and Flex from square one, he may already have an in-depth understanding of .NET and could then jump right into using Silverlight. Since .NET is already very pervasive in the web development world, Silverlight could easily grab market share in the future.
Even web developers that are comfortable with AJAX or Flex (or other frameworks used for creating rich Internet applications) will soon need to immerse themselves in Microsoft Silverlight, while new developers will want to learn about Microsoft Silverlight from the start. Because of its foundation with .NET, Microsoft Silverlight has a smaller learning curve than many other frameworks used to create rich Internet applications.
While it may take the average user some time to warm up to the technology used with Silverlight, Microsoft is a formidable company and is likely to make inroads with its product in the near future and to establish it as an important application to know over the long term. Anyone wanting to stay ahead of the curve when it comes to rich Internet applications will do well to learn about Silverlight now rather than later.