I just finished reviewing the API docs for Silverlight 3
. I'm really impressed with the 3.0 framework. Silverlight has always had good underpinnings including an elegant and clean API, a declarative UI, a solid VM and an excellent programming language (C#). The problem has been a lack of polish in the UI, missing high level components and missing key features already found in Flash/Flex. SL 3.0 solves all these problems. Looking through the API docs, which are starting to look more like J2ME than a toy browser plugin API, I see advanced bitmap and vector APIs including filters and effects, support for skins, inter-application communication, 3D capabilities and media APIs with low level access to streams and stream sources. Silverlight 3.0 also enjoys excellent tool support in VisualStudio and Expression Blend
. There is currently no design tool for Flex that provides the kind of designer friendly tools available in Blend. Flex Builder
, which is built on top of the excellent Eclipse framework
, is a developer oriented tool. Silverlight's tools support both developers (VisualStudio) and designers (Expression Blend.)
Possibly the most important new Silverlight feature is the ability to run as a desktop application, much like Adobe Air
. This means, for the first time, developers can create rich cross platform .NET desktop applications. This is technically possible with Mono as well, but it is very painful and the results are usually less than elegant in appearance and functionality. I mean no disrespect to the talented Mono
team. The .NET framework design makes it hard to handle the WinForms namespaces outside of a Windows environment.
I think this is a great direction for Microsoft. Who knows? Perhaps someday we will see a Silverlight MS Office :-) The SL 3.0 Beta
is available now. Another major release is due next month and the final release is expected before EOY.
Note: For those of you interested in a Flex/Silverlight comparison I covered both technologies in last month's The Three Horse Advanced Web UI Race
Ikayzo - Design • Build • Localize | Web • Desktop • Mobile