Introduction to Silverlight
What is Silverlight? It’s part of a Microsoft Web platform called Rich Internet Applications (RIA) There is a service side to this too (RIA services) It supports multiple operating systems and browsers It supports multiple devices It’s a small browser plug-in It easily plays video and audio (Before HTML 5, this is how Netflix streamed)
What is Silverlight Some say it’s a direct competitor to Adobe Flash Markup is based on WPF XAML (another XML dialect) It’s designed to improve the Web UI experience
Silverlight History (1.0) Introduced in 2007 was originally called WPF/E (everywhere) Did not support .NET managed code
Silverlight History (1.0)
Silverlight History (2.0) Released in 2008 Supported .NET managed code. (Just another .NET application now) Based on version 3.5 of the .NET framework Silverlight now has its own simplified framework class library UI tools get much more robust
Silverlight History (2.0)
Silverlight History (3.0) Released in 2009 Support for 3-D graphics was added Additional controls added along with improved control formatting
Silverlight History (4.0 and 5.0) Really just a bunch more features Numerous performance improvements
Silverlight Development Most of what you need is built into Visual Studio Just create a Silverlight project You need another download to install the emulator for Windows phone All Windows phone programming is thru Silverlight Will not run on servers
Silverlight Development
Creating a First Silverlight Application Create a Silverlight application Host the application in a new Web site See dialog next screen This template is only for testing Note that all current Silverlight versions are supported by Visual Studio
Creating a First Silverlight Application
What got Created (1) You get the Silverlight project with one default control App.xaml and App.xaml.cs contain the application startup code The file MainPage.xaml and MainPage.xaml contains the main page that will be rendered You get a test project The default test page loads the Silverlight control
What got Created (2)
Instantiating the Control
Instantiating the Control (1) The object element allows the control to be embedded into the Web page Attributes The data attribute is not necessary but (for some reason) improves the performance for ‘some’ browsers The param element named source attribute points to the .xap file It’s this file that contains the Silverlight control code
Instantiating the Control (2) The param element named onError points to the Javascript code that handles any errors The minRuntimeVersion parameter describes the minimal runtime version required for the control The <a> tag allows users to download Silverlight in case it is not already installed The <iframe> tag is used to fool the Safari browser
Template Files Created You need not usually touch this startup code The page in the other project contains a test page to host your Silverlight control
Introduction to the Silverlight Control Regarding App.xaml: We don’t need to touch this much for simple applications The function App is the Silverlight constructor Application_UnhandledException is the facility to report the error to the Document Object model
Introduction to the Silverlight Control Regarding MainPage.xaml and MainPage.xaml.cs These files contain the code for the control itself The .xaml file contain the markup The .cs file contains the code
Creating the UI The process is the same as we would see with a desktop application Use the toolbox to create the UI It’s XAML instead of a nativ language Use the Code Editor to create the code behind