One of the first and most common questions I get about Silverlight is "how does Silverlight compare to Adobe Flash and AiR?" Although I wrote a post last year talked about Flash vs. Silverlight, with Silverlight 2 Beta release last month and all the announcements at MIX08, it's time to revisit some of these popular questions people have been asking about.
If you haven't already, I highly recommend you to read or listen to the interview that Knowledge@Wharton conducted with Scott Guthrie, our developer division corporate vice president. In the interview, Scott answered questions regarding Silverlight's business model, commitment for cross platform, comparison to Flash, Silverlight on mobile devices, and other RIA platform questions that on top of people's mind. I selected a few to include in this post.
Knowledge@Wharton: Many people have observed that a Silverlight 2 application is very similar in the look and feel you get with Adobe's Flash. How do you differentiate yourself from Flash? Why is Silverlight something that we need? Why not just use Flash if you're building an interactive web app?
Guthrie: In the [MIX08] keynote we were careful in showing specific examples that you can't build with Flash. You couldn't do the Olympics [Silverlight-based website] with Flash. It doesn't have the media capabilities; it doesn't have the adaptive streaming capabilities to host that type of experience. The kind of performance that was shown with the AOL mail reader as you...scrolled up and down -- the Flash Player would not be able to handle that many million emails inside an Inbox without choking. If you look at the Hard Rock example of zooming in and out with the Deep Zoom technology -- you can't do that with Flash. If you look at the Aston Martin experience, where they were showing both the Deep Zoom, where you can see the stitches in the [car's leather interior], but also the 3D rotation of the car inside the browser -- Flash today doesn't have the graphics power to do that on typical hardware. Are there types of experiences in terms of rich interactive, or Internet, experiences inside the browser that you can do with Flash? Absolutely. We were there with Silverlight 1 in terms of video support, but with Silverlight 2 we're now there not just with video but also with a host of non-video scenarios. If you compare [what] Silverlight [can do] versus what you can do with Flash, the Silverlight experience is much richer.
Knowledge@Wharton: How committed are you to cross platform? Will the Mac and other platforms have the same feature set and the same performance that we'll see in the Windows environment with Silverlight 2 and 3 and 4?
Guthrie: That's certainly our plan. From a feature-set perspective, all of the features that are on the Silverlight 2 that we're shipping this week -- all of the features are equivalent on all platforms and all browsers. We very explicitly designed our feature set to make sure that that's the case. For example, in a previous alpha last year we did not have East Asian font support, we didn't have a text box, and people would say "How hard is it to add that?" Well, it turns out that if you want to add it in a cross platform, a cross browser way, it's actually really hard. We now have those in the Silverlight beta that we shipped this week. We could have added it in the alpha to work on Windows first and then caught up with the Mac. But we explicitly said no, we are going to wait until we have the features everywhere because we want to make sure that there's no ambiguity about the importance of having a consistent API and a consistent set of features that run in all places.
Knowledge@Wharton: Adobe just launched version 1.0 of its AIR platform. Although, in some ways, Silverlight has similarities to Flash, Microsoft really doesn't have anything in the space that AIR is targeting.
Guthrie: You know, Adobe has sort of said that [but] Microsoft has been in the desktop applications business actually for quite a while.... We've been building desktop applications with Visual Studio for, I think, 27 years. A lot of people are [saying], "Wow, now you can build desktop applications." We do that with the .NET framework today -- we have a very, very rich desktop application model and a very rich offline story -- where we have full sync replication across machines, across protocols. We have rich integration where you can build desktop applications that integrate with Office, can do interchange with Office, that do 3D hardware acceleration. You can't do that sync, replication, graphics or Office integration with AIR.
Knowledge@Wharton: A key difference is that AIR is running at an abstraction layer above the operating system and that once you develop an AIR app, you have an app that instantly runs Mac, Windows, and, soon, Linux -- which is different than your architecture.