Silverlight, based on the buzz it generated at MIX07, is ready, willing and able to change the face of rich Internet application development.
This may prove true, but at the moment Silverlight 1.0 is in beta, and v1.1 -- which brings .NET and the brand new Dynamic Language Runtime to the Web -- is in alpha. Thus one aim of MIX07 was to educate developers on how Silverlight works, what it contains and what it does not, and will not, do.
Jamie Cool and Nick Kramer, two members of the .NET Framework group at Microsoft, provided this overview in a two-part MIX07 session called "Building Silverlight Applications Using .NET."
SearchVB.com has boiled this session down into a series of FAQs about Silverlight.
What exactly is a rich Internet application anyway?
Cool pointed to Microsoft Outlook Web Access as a good example. Such applications are platform-agnostic, offer a secure sandbox, are built using a highly productive IDE and offer a highly capable UI mode, he said.
What makes a Silverlight application?
Each app consists of at least four things, Cool said.
- A root HTML file, which generates an HTML page containing the Create Silverlight call
- A root XAML file, which represents the UI
- A DLL assembly, which the XAML file references. This assembly is downloaded to the client and runs in the browser; the code does not run on the server, Cool said.
What do I need to develop Silverlight apps?
Cool identified five things developers should download. All are available on the Silverlight: Get Started page.
- Silverlight 1.1 Alpha (available for Windows and the Mac)
- ASP.NET Futures May 2007
- Visual Studio Orcas Beta 1
- Silverlight Tools for Visual Studio Orcas Beta 1
- Expression Blend 2 May Preview
What is missing from Silverlight 1.1 Alpha but is in the works for the final release?
- "All the obvious simple controls" that go into a Web application, like TextBoxes and sliders, Kramer said
- Layout controls like Add Grid, StackPanel and ViewBox
- A larger offering of controls for data binding, application styling and mouse and keyboard events
- On the Web services front, support for WCF and SOAP proxy generation (in addition to v1.1 Alpha's JSON support)
- On the LINQ front, support for LINQ-to-XML queries, known as XLINQ, and for LINQ-to-relational data, known as DLINQ (in addition to v1.1 Alpha's support for queries from LINQ to in-memory datasources)
- For, literally, a big-picture view of the release, download Microsoft Silverlight 1.1 Developer Reference Poster
What's not going to be in the final version of Silverlight 1.1?
- Complex custom controls like TreeView and Accordion. Kramer said Microsoft is looking to its partners and to individual developers to create these controls and share them with the community.
- Out-of-browser or offline capabilities. This, after all, is the purview of client-based applications and Windows Presentation Foundation, he said.
- The entire .NET CLR. This is largely because elements of the CLR that are not needed for the browser, such as COM interop, are not part of the Silverlight CLR, Cool said. It has also helped keep the .NET Framework in Silverlight to a little more than 4 MB, as opposed to the 50 MB version for the Windows desktop, he added.
For additional information, the two "Building Silverlight Applications Using .NET." sessions can be viewed in their entirety on the MIX07 Sessions page -- just type in "Jamie Cool" as a search term.