views:

127

answers:

6

I was just wondering about the opinions out there. What do you think promotes faster development times for a web application? Silverlight or .Net MVC?

And could Silverlight be a replacement for a true http web application?

Feel free to rant or give as much details as necessary.

+7  A: 

could Silverlight be a true replacement for a true http web application?

No. Just as Flash can't, Silverlight and any other presentation viewing plugin will never be an acceptable replacement for good HTML.

I can cite a million reasons but here are the highlights:

  • Plugin-availability (especially on other platforms, phones, etc)
  • Performance is awful compared to HTML
  • Maintenance is a PITA, requires complete recompilation and uploading. You just edit what you need in HTML.
  • Accessibility!

I can't comment on speed but I frankly think it's irrelevant. You shouldn't use Silverlight/Flash/whatever to build a full website.

Oli
I tend to have a problem with any use of any form of the word "should" when it comes to technology decisions. It really depends on what your project goals and objectives are.
Neil T.
I don't think this answer takes into account the potential audience. Who is the application for? If you work in an all-Windows shop, using Silverlight to build an internal web application isn't a bad idea.
nlawalker
Sure if this is being released into a closed, controlled ecosystem, there might be a case for it... But that's so rarely the case. Even if the company-deployed hardware is fixed, people bring in laptops and phones and want to use them when applicable. And there are still maintenance and accessibility issues.
Oli
What does `PITA` stand for?
Baddie
Pain In The... err... Rear.
Oli
+4  A: 

What technology to use depends completely of your requirements. You should start there.

As far as Silverlight (or Flash for that matter) goes, you will be creating a web application but not a web site.

Disadvantages?

  • People will be reluctant to install Flash or Silverlight plugin.
  • Flash/Silverlight sites will not be visible to search engines.
  • People won't be able to bookmark them and share the links.
  • Back/Forward/Reload browser buttons will not work
  • No/partial support in Mac world

Advantages?

  • Rich UI

My personal opinion is that you shouldn't use Flash/Silverlight except in cases where raw HTML/CSS won't work. And HTML 5 with CSS 3 are quite powerful. Web is full of pointless Flash sites which do nothing interactive just present a few static pieces of information. It could easily be done with ordinary pages. Somebody thought a Flash site was cool, but it isn't. It's heavy, slow and inaccessible.

Developer Art
You can deep link into Silverlight applications. I can't remember the syntax off the top of my head, but it is possible. Silverlight also works on Mac - it's the same as on Windows.
ChrisF
You *can* deep link and do broswer-based navigation (back, forward) - AFAIK it's url-anchor based (eg http://url#this-bit-here) just like you can with flash. It relies on Javascript but so does a lot of Flash (et al) interaction.
Oli
Re Mac support, Windows and Macs aren't everything. I use Linux on my desktop, my portables, my microwave and my phone. Closest thing is Moonlight which doesn't ship DRM codecs and it's entirely feature complete. Flash has better availability. HTML spanks them both.
Oli
+1  A: 

Silverlight and MVC/ASP.NET both have there places: MVC/ASP.NET are great for things things like blogs informational web sites, online stores basically when your application needs to be spidered by search engines.

For online applications like Turbo Tax or Sales Force basically applications that at one time where on your desktop but for many reasons have been moved to the web I would use Silverlight or Flex.

With the above in mind: Having worked with MVC/ASP.NET and Silverlight extensively I find Silverlight development much faster once you get the hang of xaml.

Anthony
+1  A: 

IMO - I look at Silverlight/Flash/HTML forming the "View" part of the website/web application.

If you can structure you site/application code properly, the View should be interchangeable and/or can support multiple formats of the view for the end user/device to choose from.

IMO - it is very hard to predict the user usage patterns of the site/application and there might be devices which need to be supported in the future. So, might as well develop applications which are structured in a way to help make that move a lot simpler in the future, in which case the rendering of the view can be anything you want to meet your current goals...

HTH.

Sunny
A: 

A previous answer makes the statement "You just edit what you need in HTML". While this is true for a simple static web site. It is not true for a web 'application' as is stated in the OP. The functionality is not in the HTML. You might have some functionality in Javascript that yhou could edit this way, but doing edit-in-production of Javascript is NOT recommended.

For all but the simplest static web sites I would recommend that any change to a production web site or application should be managed in an source versioning system, tested, and reviewed before deploying to production. In such an environment adding a compile step is trivial.

I would never recommend Silverlight to replace what could be done in a static website. I cannot imagine that anyone would. HTML is designed for static content. Silverlight is not.

To address the performance issue: the statement that Silverlight performance is awful is just wrong. Certainly, it takes longer to load a Silverlight application than to load a web page, but once loaded the user interaction of a well designed Silverlight application is much faster than continually rendering complete web pages.

The lack of portability for Silverlight has been significanly overstated in some of the responses here. Silverlight has the same capability on MAC that it does on PC. Linux availability via Moonlight is not far behind. MonoTouch for the iPhone, soon to come Mono support for the Android and the Silverlight programming environment for the upcoming Windows Phone 7 also bring a lot of possibilities for mobile environments.

Having said all of that, I would not use Silverlight to develop many types of web applications. I would be reluctant to do a consumer oriented e-commerce site using Silverlight (or Flash) because of the previously mentioned reluctance by some to download the runtime. But for the SaaS application that I am currently doing that is not an issue, the vast majority of users a more than willing to do a small download to get the far richer user interface.

It is possible to achieve some of the same improved user interface 'richness' by applying Ajax/JavaScript, but I find the Silverlight development experience to be more productive. One thing to consider is generally an Ajax/Javascript application while giving a better user experience than traditional web application will still look and feel like a web application and a Silverlight application will feel more like a traditional windows application. This may or may not be a factor in your decision.

I find it a bit disappointing that a repsonse that misses the point of the OP and does not seem to understand the difference between a web application and a web site has gotten more up votes than some answers that were on point.

The response by Anthony is spot on.

Jim Reineri
+1  A: 

This is repeated many times, but I never seen anyone mention such disatvantage of the "modern" technologies like Flash/Silverlight as lack of years of browser/usability support:

  • you generally can't copy text of arbitrary item
  • you don't have things like Stylish, AdBlock, or Greasemonkey at your fingertips to improve what "designers" think is good for you
  • browsers doesn't know about your forms and can't provide autocompletion or save values after crash/reload
  • accessibility solutions like zoom methods or third-party formatters do not work

And I can continue. From users prospective, Flash/Silverlight is a nightmare, stone-age, while HTML-based applications have all the modern usability stuff available for users.

Yes, there're development problems (nothing beats FireBug even in HTML area) but what matters is, please, be kind to your users. Even corporate people are people.

queen3