A decade after most of us discovered the Internet, technology companies are now starting to build rich applications that are browser based. Two technology approaches currently exist for developing applications online that mimic desktop interactivity we have all grown accustomed to: server side functionality coupled with complex AJAX and rich media plug-ins such as Flash.
Silverlight is a cross-browser, cross-platform, and cross-device browser plug-in built by Microsoft and designed for building rich Internet applications within a Web browser. As of October 2008 Version 2 was in Beta 2. Version 1 is currently available.
Websites that require a rich, interactive user experience that can’t be achieved through traditional HTML. Some examples include streaming media and disconnected Web based applications.
Silverlight offers many capabilities of Flash but in an enterprise programming paradigm familiar to developers. Microsoft – wanting to make a splash – introduced new capabilities including deep zoom which allows for high performance zooming accomplished through asynchronous data loading and adaptive streaming. Adaptive streaming is an example of performance optimization through on-the-fly modifying of the download stream based on user bandwidth and CPU speed.
As always, the biggest concern with any significant Microsoft technology advancement is not the ability of the technology but rather who will be able to share in the benefits. Microsoft plans to support ALL major browsers on both Windows and Mac OS X. Linux support will be accomplished through a partnership with Novell. Specifically, Microsoft has support for the following browsers; IE6, IE7, Firefox 1.5 and 2.0, Safari 2.0, Opera, and the following operating systems (OS): OS X Tiger, OS X Leopard, Windows Vista, XP, Server 2003 and Windows 2000.
Why technologists care
- Complex user interfaces (UI) will look and work the same across browsers and OS’s so everything from design to testing is easier.
- Code may be written in any .NET language, allowing complex models to be expressed in the “native tongue.”
- Silverlight has a retained-mode graphics system, which enables rich-client scenarios such as multimedia, animation, 3D, and interactivity. User interfaces are expressed as Extensible Application Markup Language (XAML), making them more searchable and indexable than compiled Flash files.
- Development is similar to that in the Windows Presentation Foundation (WPF), Microsoft’s next-generation UI framework. WPF also uses XAML and innovative ideas such as Dependency Properties, Attached Properties, Routed Events, and Templates to describe trees of objects. Custom controls are written in the same fashion as native controls, removing a lot of the “magic,” therefore promoting a singular development model for all UI objects.
Alternatives in the marketplace
Adobe Flash, Adobe Flex, Adobe Shockwave, and JavaFX currently exist in the marketplace in various stages of development and adoption.
John Basso’s Bold Predictions! Silverlight will overtake Flash and Flex (Adobe products) for rich Internet application development in 2010. If you examine most alternative products such as Flash, its implementations are more focused around animation vs. application development. Additionally, due to the enormous number of developers who are familiar with the .NET framework, there won’t be much of a learning curve.