The battle between Adobe’s Flash and Microsoft’s Silverlight for the control of Rich Internet Applications (RIA) had an interesting development yesterday in the foundation of Adobe’s Open Screen Project. It seems that Adobe is taking an Open Source stance, which should be interesting to see how that stands up against the Mono Project’s Moonlight.
In the Flash corner, we have a mature product, which has existed on the Internet for 10+ years. It’s a well-known programming model, with an install base of ~98% of computers on the Internet. However, in that time, it’s developed a bad reputation due to numerous abuses of the technology, it’s history of accessibility issues, and the tendency of web developers to use flash elements which add little to the overall application. This was the Flash of yesterday, however. Now, Flash is used largely for video (Youtube, for instance), and application development. And with AIR, Flash applications can be run on the Desktop, complete with a sqlite database backend.
Silverlight is the new game in town. It does the same sorts of activities, Video and Application development. The great part about Silverlight, is that you can use any .NET language, while Flash is limited to Actionscript, and you have access to a large part of the .NET library. If you know .NET, picking up Silverlight should be easy. Unfortunately, you won’t be able to run the exact same code base on the Desktop. The Mono Project has handled Moonlight such that they can run them as desktop applets, which Mono seems to plan to use primarily for desktop widgets.
Typically, I’ve been more excited about Silverlight. This largely has been due to the fact that I could write code for it using C#, and now through the DLR, I can use a whole slew of other languages as well. Looking at the two now, I still like the .NET roots of Silverlight, but I also like how Adobe is making Flash more open. Still, most of my time in .NET is spent using Mono, so the freedom of Flash almost seems moot.
I think this is a great step for Abode and Flash, but frankly their real saving grace, if they have one, is in AIR. Of course, since Silverlight is built around the Windows Presentation Foundation and Windows Communication Foundation, Silverlight code can also be easily converted to run on the Desktop. I haven’t used Flash, and my Silverlight experience is minimal, but these two technologies are pretty evenly matched. Silverlight is a bit ahead in my mind because of it’s ability to use more than a single language, but Adobe isn’t in a position to be called out of this game just yet.