Silverlight Extends .NET Platform to Web Applications
FROM MIX 07 The next round of relatively stable betas for Microsoft's Silverlight Web graphics platform were released today, along with the first of its alphas of a less stable version that tests the graphics-building capabilities of the Visual Studio "Orcas" and Expression Studio betas. This as Microsoft's MIX '07 conference in Las Vegas got under way full steam.
What hasn't been clear in recent explanations of Silverlight technology is the extent to which it's dependent upon the .NET Framework. Depending upon whom we've asked, Silverlight 1) doesn't require the .NET Framework, 2) does require it, or 3) is .NET in another form. As Microsoft product management director Forest Key stated this morning, "Silverlight is a factored version of .NET that is optimized for the Web and simple deployment." Just exactly what a "factored version" is, we're not entirely sure.
What we're understanding today, by experiencing Silverlight first-hand, is that the former "WPF/E" technology is a piece of the .NET runtime. The Silverlight runtime is not the full Framework, though it doesn't appear to substitute for it if it's present in a Windows installation. But it does extend .NET not only into the cross-browser, but the cross-platform realm as well, extending at least some Vista-generation Windows technology into Mac OS X and Linux.
As a development platform, the Silverlight Tools extensions for Visual Studio do require the .NET Framework, at least version 3.0. As lead product manager Brian Goldfarb told BetaNews in a recent interview, one of Silverlight's key goals "goes to the developer and designer skill set, and the collaboration and expanding the reach of .NET, and really making it possible to reduce the amount of people involved, and lower the complexity barrier of building these types of applications.
"We're able to leverage Expression Studio and Visual Studio to provide developers and designers with common tooling, working in a collaborative way for building those experiences," Goldfarb continued. "No longer are they working in a format that's not directly compatible; it's the exact same format. But yet we're able to expose that in a metaphor that is very innovative to that audience."
Microsoft's Silverlight is demonstrated here with a simulated Grand Piano. In case you're wondering, no, it's not polyphonic. Though you hear more than one note simultaneously, you could only have one key pressed at a time. So the obvious temptation to play "Chop Sticks" was thwarted. |
Silverlight Tools templates for Visual Studio assume C# as the application language, though some of the better demonstrations we've seen don't use C# at all. The Grand Piano demo, for instance, shows off controls that are uniquely shaped and that seem to respond to the touch. While by no means a great musical instrument (its tuning, after all, is off by a full step), Grand Piano distinguishes itself architecturally from a Flex/Flash application by reducing to a bare minimum the application's dependence upon the Web page that distributes it.
Instead, the "default.html" page in this example is almost a bare frame, linking to two external .JS files featuring Asynchronous JavaScript code. Because this code isn't embedded in the HTML page, it's a lot cleaner; and because it doesn't use an XML namespace, many may argue development doesn't require a continual mindset shift.
The XML part of the application is provided by XAML, the XML-based UI description language. There, instructions like this one:
<Image x:Name="imgC" Height="500" Width="1024" Canvas.Top="0" Source="assets/images/C.jpg" Opacity="0"/>
...give fairly self-explanatory descriptions of graphics used for controls, along with the URLs for their content. Expression Studio can actually construct code like this from a graphical prototype. Because these are .XAML files, no extraneous code is necessary to introduce their lexicon as an XML namespace.
If Microsoft is truly serious about its cross-platform intentions, will it consider allowing Mac OS and Linux developers to create Silverlight applications on platforms other than Windows? As Brian Goldfarb told us...not exactly.
"We're always listening to customer feedback," he said, "and there's a couple of efforts that are going on to make it much easier for people to build experiences around the Silverlight technology. So yes, we're certainly open to that concept. I don't think, today, that it is doable, but we're looking at ways to make it more possible, certainly. But our fundamental effort is on building tooling that runs on Windows for enabling these constituents into being successful with their platform. The deployment mechanism is certainly what's key here. It's about running in cross-platform and cross-browser, making it seamless from a reach perspective for the consumer."
Seamlessness from a reach perspective isn't always easy to translate into words, but at MIX '07 this week, Microsoft is giving it its best shot.