Silverlight and WPF
In .NET 3.0, XAML is used as an object graph serialization technology. For WPF, this allows XAML to be used as a user interface markup language that is then serialized into CLR objects. But it is important to note that WPF does not require XAML at all. You can create user interface objects by writing CLR code like so:
Canvas myCanvas = new Canvas( ); // You can't do this in Silverlight 1.0
Silverlight 1.0 is different in this respect, as it requires XAML. There is no way to create XAML objects from code without using XAML. Silverlight is about showing elements described with XAML on a web page. There are other differences between the two technologies, as detailed in Table E-2.
Table E-2. Silverlight and WPF
Silverlight | Windows Presentation Foundation |
|---|---|
Web-based | Desktop applications, click-once deployment, or XBAP applications |
Works across different operating systems (Windows and Mac OS X in the first release) | Requires Windows XP SP2, Windows Server 2003 SP1, or Windows Vista |
Supports multiple web browsers (Internet Explorer and Firefox on Windows; Firefox and Safari on Mac OS X) | Internet Explorer 6+ for XBAP applications |
No .NET Framework requirements | Requires .NET 3.0 Framework |
No Windows Media Player required for media support | Requires Windows Media Player 10 for media support |
Uses XAML for design markup, but the library of tags is smaller | Uses XAML for design markup, but supports a large library of tags |
Supports JavaScript or managed languages (C#, Visual Basic, etc.) for Silverlight ... |