Is Silverlight becoming a niche technology?

  • submit to reddit

Simone Chiaretta is a Software Architect and Developer from Milano, Italy that enjoys sharing via his blog his development experiences and more than decennial knowledge on web development with ASP.NET and other web technologies. He is Microsoft MVP in ASP.NET and he has been involved in many Open Source projects, but now he focuses only on SubText and taking it to the next level. He just wrote a book: Beginning ASP.NET MVC, published by Wrox Simone is a DZone MVB and is not an employee of DZone and has posted 53 posts at DZone. View Full User Profile

A lot of reactions started on Twitter this morning following the publication of the article titled “The Future of Silverlight” on the Silverlight Team Blog. One that caught my attention was written by Hadi Hariri:

After a few messages I realized that he was talking about Silverlight.

The problems Silverlight addresses

The official announcement says between the lines:

… Silverlight enables applications that deliver the kinds of rich experiences users want. We group these into three broad categories: premium media experiences, consumer apps and games, and business/enterprise apps.

Even in their own statement, they acknowledge that Silverlight is not for building web apps, but is to address very specific features that you don’t have in HTML/CSS/JS.

Most of the features of Silverlight are already included in HTML

But if you take a closer look to the features they list, and you compare them with what HTML (where with HTML I mean the sum of HTML, JavaScript and CSS) can do, you realize that, with the exception the adaptive streaming and other advanced video features, everything can be implemented in HTML: there is HW-accelerated canvas in HTML5 to fulfill the need of “power” of web games, there are already dozens of JavaScript UI control libraries, like jQuery UI to helps you build rich and “desktop-looking” web applications with very little effort, there is local storage and even a local database to store information locally in the browser, there are web workers to keep the application responsive during heavy computations, and much more will come with HTML5.

Some might argue that, even then, Silverlight has a more mature IDE and most developers don’t have a clue about programming in JavaScript and writing HTML+CSS. This only partially true: you reuse your C# skills and your knowledge of the CLR, but you need to learn all the pattern and best practices specific to this new paradigm, like MVVM, you have to deal with the “all is async” problem, and you probably don’t want to just drag and drop SL controls onto the developer surface, so even the IDE helps just a little here. And looking at it the other side of the coin, I’m pretty sure JavaScript oriented IDE and even more commercial control vendors will start making “d&d-able” controls to make JavaScript development as easy as desktop development.

Silverlight is more than the browser

The article finishes with that emphasis: “Silverlight is much more than a browser technology”. Sure it allows you to build “out of the browser” apps, even desktop apps, and now Windows Phone 7 apps. I think this is a great advantage for developers that build desktop apps, but I just don’t see Silverlight as a web application technology.

What is Silverlight really for?

If you asked me where I would use Silverlight I’d answer:

  • To build desktop applications
  • To build Windows Phone 7 native applications
  • And to build islands of interactivity of web applications, where the current “simpler and more standard” technologies are not enough, like in media applications.

And I think this is also how Microsoft should market it: a technology that allows you to create rich “web-looking” applications on the desktop, complex video components for the web , and to reuse the same skills to build native mobile applications for Windows Phone 7. But they should stop comparing Silverlight to HTML5.

What are your opinions on this topic? Please share them on the comments.

References
0

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Erwin Mueller replied on Fri, 2010/09/03 - 5:35pm

Silverlight is so useful as the IIS server. You really want Silverlight Desktop application? Java and .NET are around for years and you don't see any standard desktop applications in it so why should people like Silverlight?

 "a technology that allows you to create rich “web-looking” applications on the desktop"

Open a web browser and here you have it. JavaScript is up to the task since 10 years or more and thanks to open source projects like jQuery and GWT it's easier then ever.

"And to build islands of interactivity of web application"

Yes, islands, because everything else is JavaScript and Flash, which is available on 99% of the computers. Silverlight on the other hand...

The era of the plugins is hopefully over for the web. I hope flash will decline now and html5 and javascript will finally take over like it should be. Microsoft is with it's Silverlight plugin 15 years to late, maybe it have had a chance if it was developed at the time as flash was developed, but now...

dennis sellinger replied on Sat, 2010/09/04 - 2:32pm

I think that just because you can write something with HTML/JS does not mean that you should do it. For simple projects HTML and JS can allow you to progress much faster than with Java or C#. But I think that the complexity threshold in JS (simply because of they way you have to structure and deliver code) is much lower than C# (or Java). Loose binding between JS and HTML can allow you to build web applications very quickly, but that freestyle coding is not an asset at a certain level of complexity.. I don't think that HTML 5 addresses this problem, it is inherent in the way html and JS are structured. So for complex Web applications (I suppose you would say enterprise applications), I think there is still a place for silverlight. Another point to consider is that we should be looking at ways to off load processing to the client (where there is, generally, a surplus of computing power) rather than pushing the processing up to already overloaded servers. I think silverlight provides a more robust platform for this type of work than does HTML running in a sandboxed browser.

Frederic Bellier replied on Mon, 2010/09/06 - 1:06pm

The future of the web is mobile web and the future of mobile web is apps - not web apps. Look around - all web apps sucks. Every single one of them do. Even with a team of rocket scientists - google cannot build great web apps. Look at their office web app ;). The web as you know it will still exist. But the future is app purely dedicated to a set of functionalities that it can do better than HTML. The web technologies HTML - JS - CSS were never meant to build great app. They were meant to do publishing. And they can do that very well. But even HTML 5 will never get close to a real programming environment. Be it objective C - javaFX - flash - silverlight - you name it... As a side effect - URL are becoming irrelevant as well. And nobody will have to remember them. All people will do is open their app on their mobile device and enjoy a perfect UX. HTML will of course stick around for web browsers but the more app are created the less I use a browser. Welcome to the future - you can fight it all you want. But having used and worked with both - I can tell you that it much easier to build an app for a useful application than to build a web app using HTML.

Hassan Turhal replied on Sun, 2012/01/22 - 12:04pm


When I was looking at Silverlight for a makeover of a clients back-end , there was always a question mark in the back of my head. Why was I looking at Silverlight? Can't I do it with html and javascript?
After reading your post, it's all become clear, Silverlight is not the silver bullet for webapps, gonna stay with html/js for now.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.