There seems to be a bit of controversy surrounding Silverlight these days; in case you hadn’t noticed. This post is my two-penneth on the current situation and what, I think, the future holds.
I’m a staunch advocate of Silverlight, for now. Especially given the current alternatives. My conviction is such that I’m building a startup that uses Silverlight to test the business model, Percollate. Because of my history of C-level languages and Microsoft development environments, the segue into Silverlight was almost painless. Clearly, it will not be around for ever, but for now it’s hard to see a better alternative.
Here are my thoughts with a little more structure:
Silverlight is Free
The compiler is part of the runtime which is freely downloadable. Microsoft provides a great development environment, Visual Studio and offers the Express Edition for free. There are also 3rd-party developer tools available; made possible by virtue of the free compiler and the reflective nature of the BCL.
A Decade of Support
Microsoft recently announced that they would be supporting Silverlight until the end of 2021. That’s 1 decade. 10 years. 120 months.
Compare this to an open source framework like, say, Ruby on Rails. When ‘Ruby on Rails with Feathers and Neon Lights v2’ comes along, the best developers from the community will jump ship. That’s not a criticism, it’s just that they tend to be trail-blazers looking for the latest innovation.
However, Microsoft will still be fixing the bug that you find in their framework in, say, 8 years time. Considering that 1 year is a lifetime in software development, this level of support is not to be sniffed at.
Now consider this: have you ever worked on a project that took 10 years to complete? How about 3 years? If the answer is yes to either of those questions then you’re probably not using anything as elegant as Silverlight. I don’t know any developers or business owners who are having to plan into the next decade and basing today’s framework decisions on that information.
Know your customer
This section could also have been called ‘It doesn’t work on an iPad‘.
I recently took Percollate to Lean Startup Machine. My pitch of the problem and solution received great responses from the room but, when the S word was introduced the number of interested delegates dwindled. This was at the point when none of us knew who the customer was.
My point is that working on an iPad / iPhone etc is important if you’re producing a consumer application. If, however, you are solving a business problem you don’t necessarily need that reach. As an example: during our private beta trials some customers were borrowing neighbours laptops or digging out old PCs to use our application. If you’re building something where the value proposition is high enough, people will put down their iPads for a few minutes.
Go Rich and Narrow
I love the new developer funnel for Windows 8 / WinRT. You can be a C# developer, a C / C++ developer or an HTML5 / CSS3 developer and yet all compile your work into a native Windows 8 application. Superb. The building blocks of Silverlight (XAML and C#) are the basic of this richer environment.
My hope is that Microsoft also inverts this funnel so that Silverlight / C# developers can ‘compile’ their applications to HTML5 and CSS3. Here’s hoping!
It really is very good. You can easily find a multitude of posts that cover the benefits and delights of Silverlight far more eloquently than I can do here. However, the use of observable data binding, GPU acceleration, compile-time validation and now 3D XNA game integration make it a great environment to work in.
Finally, the bad…
Microsoft engineers produce great works but, alas, its management has failed recently. Quite frankly, someone at Microsoft owes the developer community a thumping great apology. The veil of secrecy about new frameworks and platforms is damaging our infrastructure. You need to talk to us more. Seriously. Talk to us.