Microsoft’s Silverlight was initially a competitor to Adobe’s Flash technology. This is a rich internet application framework for developing web applications with tight developer control over user interface, allowing for complex, desktop-like applications. They can also provide powerful back-end data interactivity and often allow development of stand-alone, offline “Smart Apps” which can pre-cache data, and live outside the browser.
Here are a few thoughts and highlights about the two technologies:
- Infrastructure (easy/flexible deployment, monitorability): You can produce bundles and use RequireJS to load your libraries, implement some kind of dependency injection, maintain the cache and versions. HTML(5) Local Storage can be used for the local repositories as in Silverlight.
- Strategics (future-proof, standards-compliant, differentiator, backing, vision): First of all, the mobile story (yet again!) pretty much kills it. Android and iOS do not support it. We already know it’s never going to work on iOS and as long as it doesn’t work on iOS, Android has no reasonable grounds to provide any support either. While internal business applications are certainly a large part of what we’re going to do in the next couple of years, we’re also going to build things that are available publicly and to a large variety of people. Going with Silverlight for the internal applications and HTML(5) for the public-facing applications wouldn’t be very cost-efficient on top of everything, because we have to train our developers for both of the case scenarios. And it wouldn’t make much sense anyway since HTML(5) is a great fit for internal business apps as well.
- License, Cost (do we have access to the code?): It is standardly supported by browsers. All you need is a browser and the notepad. You can of course buy IDEs and some libraries, but you do not have to do it in the first place.
- Security: the only one part where Silverlight is unquestionably better. You don’t really have to worry about common issues such as XSS, CSRF and other vulnerabilities that are so frequent in web-development.