Introducing Microsoft Silverlight 3, by Laurence Moroney

Introducing Microsoft Silverlight 3

We're pleased to announce that the third edition of Laurence Moroney's Microsoft Silverlight book is now available! From the book's introduction, here's some contextualizing of Silverlight:

Although AJAX provides technology to enable developers to build Web sites that contain more complex content and are more dynamic than HTML alone could provide, AJAX does have its limitations. For example, it allows asynchronous communication with the server, which means that applications can update themselves using background threads, eliminating the screen flicker so often seen with complex Web user interfaces. But AJAX is strictly a browser-to-server communications mechanism. It lacks graphics, animation, video, and other capabilities that are necessary to provide for truly multimedia user interfaces.

Microsoft has built a Web user experience (UX) strategy to address these limitations by identifying three levels of desired user experience--“good,” “great,” and “ultimate,” which are mapped to development and runtime technologies. These are combined in this book with a term you may find that I use a lot--“rich” or “richness.” When I say “rich,” I’m trying to describe a concept that’s hard to put into words. It’s the feeling you get when you use a desktop application that has the entire operating system to call on for services and capability, versus a traditional Web application, with the limitations built into the browser and HTML. The Web applications of today just don’t have the same feeling and capability as desktop applications, and the user generally realizes that they are limited by the technology. With Silverlight (and AJAX), the goal is to create Web applications that are much more like desktop applications, and ultimately, to create applications that are indistinguishable from desktop applications.

The lowest level of user experience, the “good” level, can be achieved with the browser enhanced by AJAX. This level identifies the baseline UX expectation moving forward from today--the type of asynchronous, dynamic browser application empowered by AJAX.

The top or “ultimate” level is the rich client desktop running Windows Vista and using the Windows Presentation Foundation (WPF) and the .NET Framework. These offer a runtime that allows developers to create extremely rich applications that are easily deployed and maintained. Broadcast quality graphics, video, and animation are available at this level, as well as application services such as file-based persistence and integration with other desktop applications. In addition, WPF separates design and development technologies so that user interfaces are designed and expressed in a new language called XML Application Markup Language (XAML). Design tools such as the Microsoft Expression series were aimed at designers who are now able to produce their work as XAML documents. Developers then use the resulting XAML to bring the designers’ dreams to reality more easily by activating the XAML with code.

I mentioned that there are three levels in the UX strategy because as AJAX and .NET/WPF evolved, it became obvious that there was room in the middle for a new technology that effectively combines the best of both worlds--the global scalability of the Internet application coupled with the richness of the desktop application. This level was named the “great” experience and represents the browser enhanced by AJAX with a new technology: Silverlight.

Silverlight is a plug-in for the browser that renders XAML and exposes a programming interface. Thus it allows designers and developers to collaborate when building Internet applications that provide the richness of desktop applications.

The first release of Silverlight exposed a JavaScript-oriented programming model that provided powerful scripting of XAML elements within the browser. Silverlight 2 added to this greatly by including a .NET runtime that allows you to use .NET programming languages to go beyond this, providing the ability to manipulate XAML, as well as a control base, networking support, powerful data libraries, extensibility, and greatly improved performance. Now with the release of Silverlight 3, your tools have gotten broader and more powerful. In this book, you’ll be looking at Silverlight and how to use it to enhance Web user experience. You’ll take a broad look at the platform, and learn how to build applications, media experiences, rich imaging, and more.

Silverlight 3 can and will change the way you think about building applications for the Web. Instead of Web sites, you will build Web experiences. At the heart of a great experience is great design, and with Silverlight, designers and developers can come together like never before through XAML and the Microsoft Expression line of tools. In this book, my goal is to help you understand the technologies that work together to develop and deploy Silverlight Web applications, from writing basic code that uses Silverlight to using advanced tools to create and deliver Silverlight content. When you have finished reading this book and have worked the examples, you should be ready to use what you’ve learned to enhance the Web applications you’re developing right now. Imagine what you’ll be able to do tomorrow!