Having worked with Flash developing Rich Internet Applications for a number of years, I have been impressed with Flash technology but exasperated with the toolset. Most of my projects comprise dosens of Flash movies and hundreds of classes that deliver complex E-Learning experiences. So on more than one ocassion I wished to have something like Visual Studio or Eclipse to develop with rather than the meagre project and file management capabilities offered by the Flash IDE.
I came in touch with Silverlight 1.1 some months ago, but quite frankly I wasn't going to go from ActionScript 2 to the nightmare that is JavaScript programming, so I thought I would wait until somebody came up with the obvious next step which was to use managed C# and .NET 3.5 as the core programming language for Silverlight. I did not have to wait long, Silverlight 2 Beta 1 arrived a couple of weeks ago and I downloaded it and began to write some simple Silverlight applications.
My first impressions are that Adobe has a serious problem on their hands, in Silverlight Microsoft have introduced a fantastic piece of technology. The GUI design tool (Expression Blend 2.5) has a long way to go before it matches the Flash IDE for layout and animation, but that is a simple enough fix and no doubt over the next couple of releases this product is going to improve in leaps and bounds. As a developer having a strongly typed language like C# is a boon, I can now write high quality code libraries. Furthermore, I can write libraries that can be loaded on demand and then present user interface elements from those libraries. I can easily interact with web services, and have all the API's and tools to create high quality Rich Internet Applications that can be hosted on Linux/Apache or Windows.
Microsoft have already released versions of Silverlight for Macintosh and are promising a version for Linux. An open source version called Moonlight is also under development. Penetration of the Silverlight plugin is an issue at present, but I am sure with over 90% of the desktops in the world running Windows that will not be an issue for too long.
This leaves two people with severe problems, Adobe for the Flash product and Sun for Java applets. In this dilemma is also an opportunity for these two companies to co-operate. If Adobe were to add Java as a programming language for Flash, create native controls as the folks at Eclipse have done with SWT, delivered it with a minimal Java Runtime that would run reasonably fast. then I would seriously consider going back to Flash. My server code is already Java anyway, I have no intention of moving everything to Windows, but Silverlight for the front end is simply too great a technology not to use.