Microsoft Silverlight: New Competition For Flash
The company may not want to market Silverlight as a Flash killer, but it does hope that developers will pick up the new technology to create rich Internet applications.
In April, 2007, when Microsoft announced Silverlight, the press and bloggers immediately tagged it an "Adobe Flash killer." But as Silverlight 1.0 moves toward commercial release, that's not the image the company wants for the newest member programming tools family.
At least that's the message from Jesse Liberty, whose title is, according to his business card, Silverlight Geek, "I see Silverlight in terms of .NET," he said. "Silverlight, in a nutshell, is a cross-platform, cross-browser, rich Internet application development tool."
From the user's perspective, Silverlight does work remarkably like Flash. You download and install a browser plug-in application (it's available for Internet Explorer, Firefox, and Safari, with others to come), and then you open a Web page that includes a Silverlight application -- for example, the experimental search interface called Tafiti. A poster child for Silverlight 1.0, Tafiti presents a graphically rich workspace that builds query hits into a literal tree on the screen, or lets you spin an animated lazy susan of data types to choose the kind of query hits you want to review.
(Silverlight was released on Wednesday. See our news story Microsoft Releases Silverlight; Linux Version Coming)
Two Silverlights At Once
Silverlight is the final name for technology originally code-named Windows Presentation Foundation/Everywhere (WPF/E), which grew out of Windows Presentation Foundation (WPF), the extremely graphical user interface subsystem in Windows Vista. (The Aero Glass UI and Flip 3D windows menu are two of the most talked-about WPF effects in Vista.)
The WPF is one of several "foundations" of Microsoft's .NET environment, which is to Windows Vista what the Win32 APIs were to previous versions of Windows. There's also the Windows Communication Foundation (WCF), Windows Workflow Foundation (WF -- "WWF" was already taken), and Windows CardSpace identity management.
One of the features of .NET designed to make the Vista interface more programmable is the eXtensible Application Markup Language (XAML -- the "A" originally stood for Avalon). XAML is, as you might expect, a dialect of XML used to describe events and objects in the interface of the application being written.
Silverlight is all about making the graphical interactivity of the WPF interface work in a Web browser and across operating systems. The plug-in is a big part of that, because it will eventually include the Common Language Runtime component of .NET. XAML is another big part, because Silverlight shares a subset of XAML with the WPF.
Microsoft has announced two versions of Silverlight. According to Liberty, these are not two products, but one product at two stages of development:
Silverlight 1.0 is now a Beta Release Candidate, which means it's getting close to being a shipping product. It represents a first step into developing in XAML -- interface controls are described in a XAML file, but event handlers are coded in JavaScript. The Tafiti site was built with Silverlight 1.0 and some Ajax, according to Liberty.
Silverlight 1.1 is now in alpha. It includes support for a subset of .NET's Common Language Runtime, which means that developers can code in an interpreted language as well as C# 3.0 and Visual Basic 9. The big advantage, said Liberty, is that it supports managed code, and the Visual Designer for WPF.
Silverlight's Features
The features of Silverlight that enable developers to create rich Internet applications that run on browser clients are what make it look most like Flash. These include new ways of manipulating text, and support for video, raster (2D) graphics, and two types of animation: key-frame and "from-to-by." Liberty pointed to a showcase of sample applications on the Silverlight Web site that show off the product's capabilities for building motion-filled interactivity.
But he was also careful to position Silverlight in the context of a much larger development picture: ASP.NET with AJAX integrated, .NET 3.5 with WPF, and WCF with contract-based SOA-centric application support.
Silverlight 1.0, he said, is a starting point: "You get cross-platform, cross-browser technology that uses a XAML that's a subset of WPF XAML." This makes developers' knowledge and work product transferable, he added. And developers can build Silverlight applications using some of Microsoft's development tools: "You can create a 1.0 application in JavaScript using Visual Studio 2008 Beta 2, which gives you JavaScript Intellisense and, most important, breakpoints in your code to help debugging."
Silverlight 1.1, announced at Microsoft's MIX07 conference, is intended to make .NET a player in the Web 2.0 development space. It will tighten the integration with .NET's CLR (which will give Silverlight applications CLR features like thread safety and garbage collection) and with .NET's development tools and languages like C#. It will also integrate with other .NET features like LINQ, the SQL-like language for accessing data, and CardSpace for identity and access management.
The MIX07 announcement also connected Silverlight to Microsoft's Windows Live services and changes to the way developers can use the application programming interfaces (APIs) for Windows Live Contacts, Windows Live Photo, Silverlight Streaming, Windows Live Search, Windows Live Virtual Earth, and Windows Live ID. Microsoft's goal is to see new businesses built around the Live services to drive their advertising components, as well as expand the .NET community.
Reactions From Developers And Competitors
Reaction from the .NET developer community was immediately favorable (Microsoft had "rebooted the Web," proclaimed blogger Robert Scoble). But other commentators thought the move had more to do with realigning Microsoft with the Web -- the company has been extremely slow to develop an effective response to the challenge of software-as-a-service posed most effectively by Google.
Other competitors aren't sitting still, either. Sun, which has a widely used runtime of its own in the Java virtual machine, began making its Java development tools available last November under the GPL license, and added the Java class libraries this May, making Java more attractive to the free-software community. In May it also announced JavaFX Script, a scripting language for creating rich content and applications that it said would be the first of a series of content authoring products from Sun. Adobe has made major changes in its Flash development tools this year with its FLEX environment. In addition, its Adobe Integrated Runtime (AIR) is seen by some as going farther than Silverlight to allow browser-based applications to be moved to the desktop.
Liberty, for his part, diplomatically avoids controversy by focusing on Silverlight will do for developers: "Because Silverlight is built from and into the .NET framework, all the work on .NET security and robustness and memory management are cooked into Silverlight from the beginning. There's a huge advantage of security and robustness in the applications you deliver -- and if you deliver apps over the Web that's critical," he said. "For me Silverlight is much more about getting into .NET than having anything to say about the Adobe story."
About the Author
You May Also Like