Like all software, the Silverlight platform has a particular arrangement of functions and features called an architecture. A program's architecture can tell you a great deal about how the program works. It groups tasks together in a logical way and shows how the different parts of a program work together to provide the overall service. Microsoft's goal with Silverlight is to create a powerful but simple platform for the next generation of Web-based applications.
Microsoft divides the Silverlight platform's architecture into two major components with an additional installer and update element. The two major components include a core presentation framework and the .NET framework for Silverlight. Let's look at each in turn.
The core presentation framework contains the following:
- A user interface (UI) rendering engine, which generates all the graphics, animation and text within an application
- An input interface that handles user input from devices like keyboards, mice and digital tablets
- A media engine that supports several audio and video file formats
- A digital rights management element that allows developers to maintain control over media within their applications
- Support for customizable application controls
- Support for dynamic UI layouts -- this feature allows developers to change the appearance of an application's UI in real time
- Support for data binding -- linking UI elements to data objects within an application
- A parser for XAML
The .NET Framework has the following features:
- Support for Language-Integrated Query (LINQ) features -- LINQ allows developers to integrate data from different sources
- A base class library that supports fundamental programming functions such as cryptography
- A suite of features called the Window Communication Foundation (WCF) designed to make it easy for an application to access remote data and services
- The Windows Presentation Foundation (WPF)
- Dynamic Language Runtime (DLR), the element that supports applications written in various programming languages
- Common Language Runtime (CLR), the component that handles memory management and other critical functions
The presentation core and the .NET Framework interact with one another primarily through XAML. In a way, XAML acts as a bridge between the two components. The installation and updater element is pretty self-explanatory. It's supposed to make the initial installation of an application as smooth as possible for the user. It also provides a framework for automatic application updates.
In addition, Silverlight has a few other features that help developers create RIAs. Many of these functions focus on data security and application management. There are file management features, an isolated storage function and XML libraries, to name a few.
Next, we'll look at the kinds of applications Silverlight developers will be able to build.