That said, some (many) of the points in this article are wrong and need correction, so here goes:
- HTML5: Quoting: “HTML5 is going to provide a lot of the same goodies that Silverlight provides.” Keywords: “is going”. Where do I start… first it is really not ready yet. Let’s talk about it in 2 years or 5 years. Second, even though it is developed as an open standard, nothing says that the browser makers will implement all functionalities in the same way and in the same time frame. I have been burnt too much in the past to trust the words of corporations when it comes to implementing “standards”. On the other hand, you know exactly what you get with Silverlight.
- Group Standards: See “HTML5”.
- Competition: Since when is that a bad thing? Competition encourages innovation, and Flash/Flex have pushed Silverlight to become bigger and better in a ridiculously short timeframe. Besides, HTML5 is also a competition to Flash and Silverlight and others, so the same story applies here.
- Development time: Visual Studio is the best development environment available, and that pretty much sums it up. Firebug is great, but I really prefer a full blown debugger. I understand it is a matter of preference to a certain point.
- Open: As someone who writes and maintains open source projects, and a rich blog, I know that there is a lot of open source projects and of documentation available online. I rarely use the Microsoft official documentation if I want to solve something, I either get an open source component to perform the task, or I find how to do it myself, with the added value of learning something in the process.
Also, I feel that it is easier to write clean decoupled code in Silverlight than in JS. Componentizing an application with MEF or an IOC framework is super easy. .NET wins here in my book.
- Testing: Silverlight has at least two unit test frameworks that I know of, the Silverlight Unit Test (part of the Silverlight toolkit, available for free and super easy to use) and NUnit. As for automated UI testing, it is also possible.
- Mobile: iPhone, I agree. It’s funny to have to use a closed platform as an argument for openness ;) but yeah, as long as Jobs doesn’t come to his senses, Silverlight won’t make it to iPhone. This kind of things should actually make you want to sell your iPhone and choose a better phone, but this is another debate. For now, for mobility with Silverlight, I will use Windows Phone 7 and am very excited about it. There is also Silverlight on Symbian, and I wouldn’t be surprised to see it run on Android too some day.
It is also a platform that is a lot of fun to develop for, and allows for a great user experience. It enables my designers to think out of the box and we constantly push them to try new concepts. No more square boxes, easy multitouch interactions, rich and smooth hardware accelerated animations and much more make Silverlight a really great platform to code for. So dear reader if you made it that far, do not let ill-informed articles lure you away from Silverlight, at least give it a try and if you have something that you don’t understand, ask the community, it is great!.
Oh, and if you disagree, please post a comment below (but keep it civil and constructive ;) This is what the community is about, discussing and interacting!