Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Concerns over Microsoft's future with Silverlight, HTML 5 and Windows 8 have led me to reconsider plans to develop a business app over the next few years in Silverlight.

It can be difficult to define what powerful means. Here I mean to ask this as power in the sense that Paul Graham describes, as what you can express with the language. I'm not sure but it seems that even the latest features of C# 4.0 such as dynamic types, anonymous functions, closures, and even LINQ exist in JavaScript. Do you think there are plans to add additional power to the JavaScript language in its next release?

Also, to deal more with the HTML5/JavaScript stack vs. the Silverlight/C# stack: which is or will be more powerful in the sense of what capabilities it gives to developers and their applications? e.g. WCF communication, tools, UI controls...

share|improve this question
    
JS has LINQ? Well that's new. –  delnan Jun 12 '11 at 16:46
2  
as of 2009 linqjs.codeplex.com –  mathStudent Jun 12 '11 at 17:14
add comment

4 Answers

up vote 5 down vote accepted

Silverlight and C# IMO are far more productive than HTML 5 / JS. This is true right now without a doubt, but I expect it to be the case for the forseeable future. To achieve the same amount of UX quality, it takes far less time with SL than with HTML 5 / JS.

Almost by definition, plug-ins like Flash and Silverlight will be able to evolve faster than standards such as HTML 5 / CSS 3 / ECMAScript, etc. This means that they will stay ahead of the curve from a development productivity and user experience perspective. In addition, you won't have to deal with browser compatibility issues which are big headache right now with HTML 5. However, as a trade-off, you have to deal with getting your users to install the plug-in, and you will reach less people because of that. Also, the amount of devices and browsers you can support are limited. If you have a captive audience this might not be an issue.

I have a blog post that goes into details about some of this stuff if you are interested:
http://rationalgeek.com/blog/post/Silverlight-vs-HTML-5.aspx

share|improve this answer
1  
the above comment is outdated, silverlight died and html5 took over. and rightly so. –  foreyez Aug 20 '13 at 14:22
    
Despite this being my answer, I agree with you foreyez. Unfortunately, because it was a great platform, Silverlight is not a good choice for new, long term engineering investment. –  RationalGeek Aug 20 '13 at 18:42
add comment

C# is a server-side language, while javascript is built for client-side,

C# can't really become a challenge for js, until a C# parser comes in the market.

share|improve this answer
    
so in other words, js is the more powerful language when it comes to client-side browser web apps? There is a C# sort of "compiler" to js though nikhilk.net/ScriptSharpIntro.aspx, but I haven't tried it. –  mathStudent Jun 13 '11 at 17:59
    
it is good that C# is getting there but even for now developer contributed compilers will not be able to compete with industry standard Js interpreter (i think), which is dominating the market for about 11 years. –  Shaheer Jun 13 '11 at 18:06
2  
this is not true if you consider Silverlight, which supports C#. I believe that is what the poster was talking about. –  RationalGeek Jun 15 '11 at 12:53
1  
@Hamza: node.js –  mathStudent Jul 11 '11 at 2:11
add comment

Honestly, Silverlight would be my choice.

If you have any concern that Silverlight (read Microsoft) will let itself not be robust enough, powerful enough, or expressive enough to compete with the likes of JavsScript, I think those concerns are unfounded: The Future of Microsoft Silverlight.

Other interesting bits Common sense on Windows 8, Silverlight, ... :

"The Windows team is not just delivering native code APIs, but also an HTML and JavaScript API. This is a break with the past, hence the talk of a new platform.

When it comes to desktop applications, would not Silverlight or something .NET based be a better choice than HTML5? I can see both sides of this. On one side is all the effort Microsoft has invested in .NET and Silverlight over the past decade. As I’ve noted before, I see Silverlight as what client-side .NET should have been from the beginning, lightweight, secure, simple installation, but with support for C# and much of the .NET Framework which developers know so well.

On the other hand, I can see Microsoft wanting to tap into the wave of HTML5 development and to make it easy for web developers to build apps for Windows 8.

In the end, developers will most likely have the choice. That puts pressure on Microsoft’s developer division to provide strong tools for two different development models; but I think that is what we will get."

I don't think there will be any issues with Silverlight 'catching up' ... JavaScript is still an option you can't go wrong with. I just don't see Silverlight being slow to progress.

share|improve this answer
2  
silverlight i think will not be able to catch up fast enough because of the lack of browser supports. But it is a good technology in itself. –  Shaheer Jun 13 '11 at 17:15
    
What do you mean by lack of browser support? As far as I can tell Silverlight is supported via plugin on something like 98%+ of all browsers, almost 100% if you include the lagging Moonlight project. –  Barry Jun 13 '11 at 18:59
    
when was silver light ported to Mozilla firefox? –  Shaheer Jun 13 '11 at 20:57
    
@Hamza: I don't know, but: support.mozilla.com/en-US/kb/… –  IAbstract Jun 13 '11 at 21:29
    
@IAbstract, was it developed by Microsoft? i couldn't find any thing regarding that concern –  Shaheer Jun 14 '11 at 9:21
show 7 more comments

According to RIAStats the penetration level for Silverlight and browsers with some form of html5-type support (either natively or with a shim of some sort) is about the same at 75%. They both lag a bit behind flash, which is somewhere around 97%.

If my choice was between a C#/Silverlight application and a JS/html5/css3/* application, I would choose the silverlight route, but that is because I know C# and the Xaml/Silverlight way of doing things far better. The tooling support, especially with VS2010 and Blend4, is FAR superior than what you can get with the Javascript app route, but if you're a javascript "ninja" then the equation changes.

As of right now, Silverlight can do things that are either impossible or ungainly with javascript in the browser, and I don't see that gap narrowing any time soon.

It seems to me that people, when arguing that html5/js is the "future of the web", people tend to forget that while that is true as far as we can tell now, there are still many instances where what you want is not a web application, but a line of business type application that just happens to run on the web. In those cases, Silverlight will continue to be ahead of html5/javascript for quite some time.

share|improve this answer
    
the number of applications is not as much as are the simple web applications, so html5/js will be the future and and non-native browser plugin tends to suffer performance issues –  Shaheer Jun 15 '11 at 12:38
    
What I'm trying to say is that Silverlight/Flash/Flex/etc and html5/Javascript are aimed at 2 different target audiences. If you think that the enterprise line of business app audience is small, then you're misinformed. –  Barry Jun 15 '11 at 13:01
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.