I don’t know much about SilverLight, but really, what is SilverLight? “A programming model for developing and distributing rich Internet applications (RIA) that use graphics, animations or video within the .NET framework. Silverlight was previously known by its code name, Windows Presentation Foundation Everywhere.”
From the beginning we found out that SilverLight is using .NET framework to create another framework. Then we become aware about the platforms that SilverLight support: Windows and MacOS – by Windows they meant Windows XP and Vista. So, SilverLight v 1.0 is NOT supported on Windows 2000. What kind of framework is that, and someone please explain why Microsoft cannot support their own products?
#1. Supporting only Windows and MacOS, with no plans for covering Linux at least, this product offers a limited range of developing, for my taste. Despite the long time we had to wait for Adobe to develop the Linux versions of their Flash 9 Player and Flex Builder for Linux, they finally released them, mainly because they know how to handle the markets and where the developers are located from the platform point of view.
It is said that SilverLight also supports Python, Ruby, and JavaScript in a .NET environment, but the main problem is the .NET environment in the first place. Windows 2000 with Internet Explorer 6 or 7 is not supported yet, and you can easy guess that the .NET environment is guilty for this, isn’t it? The future of SilverLight was decided to since design of the programming model – using XAML, the declarative presentation language used in Windows Vista–based applications. Microsoft is well know as a company which doesn’t respect their own standards, trying so hard to fill all their market with a product which first do not respect inheritance, then applying patch after patch to cover both inheritance between platforms and covering security holes in meanwhile.
#2. Looks like Microsoft released SilverLight because of their unmeasured vanity, thinking about how big they are and how many users “enjoy” their products. There is no paradigm in launching such a product since it’s addressing the .NET developers from day 1 and trying to mix technologies because they couldn’t cover the free part of the world (which is a lot bigger and creative than they could be). There is no paradigm, but only a very thin attempt to catch attention. Now, look at ActionScript 3. Do you see the paradigm?
Silverlight’s introduction was interpreted around the web, as a direct challenge to Adobe’s Flash content type, as Flash content dominates the market for rich Internet media creation software and it’s growing continuously. Microsoft will have a significant battle to wear in convincing both the development and designer communities to adopt the new platform, to say nothing of introducing yet another browser plug-in for download, install and keep updated.
#3. I don’t trust Microsoft products in general and I don’t see why the communities will adopt a non-cross-browser and non-cross-platform plugin which is freshly borned and has no experience. The times when there were no alternative has long past – now it is the time of open source, cross platform and no browser needed. Why the user will download another plugin to see my SilverLight site? What if the user likes some other browser which is not supported? Java was cross platform since the very beginning, isn’t it? Java has won, Java based will win (not recently, FireFox won in front of IE, being Java based).
I took a look into the reference of SilverLight, trying to see what’s great about it (I have previous experiences with .NET platform, especially C# which I loved at the time because there was a sense of Java in it). Microsoft took the hard way, as usually : there are no front-end components like DataGrid, but only low level objects which allow you to blind draw and build in a mix of no cool hierarchy of objects.
#4. SilverLight should have had a terrible different and powerful object hierarchy to succeed, but there are only sticks and stones to play with. I like to play with rockets and nanobots like in Flex – where new component definition and binding deserves an award for changing a coder’s way of thinking.
#5. Resources consumption: there is a huge amount of processor consuming into a SilverLight product (I’ve tested several products from their showcase). Again, the time when processor was used for one and only one task is long gone, and resource management seems to be nowadays fundamental orientation. Why? It’s simple: I like listening radio over the net, navigating and chatting on the same time, even keep me Eclipse opened to write a line of code from time to time…
#6. The most disturbing thing is the database support: I know nothing about LINQ/XLINQ and you cannot force me to learn new things every time something like a plugin appears. I like to use what I have learned. As far as I’m concerned, SilverLight can be approached only from AJAX side, but attention, that is not AJAX but MS AJAX.
Bottom up, I’m sure that I took a great decision learning Flex! Even if I didn’t cover all I can say about SilverLight, you can be sure that the reasons presented here are enough to choose Flex / ActionScript 3. You can add: flexibility, standards, community and so on…