Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does Silverlight offer?

I'm working with C# and WPF and I would like to study something related to web programming. I already know HTML and CSS, and since I'm working with WPF, I am wondering if going into Silverlight is a good choice to start web developing. Can it be a substitute of server-side programming languages, like PHP or ASP .NET?
What do you suggest?
Thank you very much

like image 976
Maurizio Reginelli Avatar asked Jun 02 '10 13:06

Maurizio Reginelli


3 Answers

It lets you write .net code in an extremely rich, cross-platform environment.

Silverlight not only works in and out-of-browser on the PC and the Mac, but it's the primary tool for creating apps on the upcoming Phone 7 (which I believe will become the enterprise mobile platform of choice). Soon you will even be able to work against the xbox!

A lot of the top industry guys seem to be saying that a huge chunk of line-of-business apps will be written in Silverlight in coming years. It's a very exciting platform, and now that Silverlight 4 is out, it finally appears to be ready for primetime.

There is a learning curve. Xaml, data access (not only is there a tricky asychronous aspect to it, unlike PHP and ASP.NET you have to use RIA or something like Web Services to get at your data), a more involved event system, and other new concepts conspire to make it a bit complicated.

like image 109
Brian MacKay Avatar answered Nov 15 '22 08:11

Brian MacKay


Silverlight is a plugin, similar to Flash. It doesn't replace ASP.NET, but certainly compliments it.

As for it being a logical step from WPF - YES! Silverlight is actually a subset of WPF and most of what you've learned from WPF will directly transfer to Silverlight. You would just need to learn a little bit about putting up a page to imbed your Silverlight app onto, which if you are using Visual Studio would just be a very simple ASP.NET page.

like image 23
Ryan Hayes Avatar answered Nov 15 '22 10:11

Ryan Hayes


When I consider use cases for Silverlight, I generally try to think of a few things:

  • Does the application I'm trying to develop require easy cross-platform deployment via the web browser?
    • Silverlight is more accessible than WPF in that it is available in multiple browsers on multiple platforms.
  • Is the application that I need to develop complex enough (or "rich enough") that I would benefit from the streamlined approach of developing for the Silvelright client?
    • Writing web applications that look great in multiple browsers can be a real challenge. In general, an html-based solution (as in ASP.NET, PHP, Ruby-on-rails, pick your poison) is going to be most accessible to the widest audience, but it might take longer to build because of having to deploy to multiple browsers.
    • However, if the solution you're developing is a complex client application akin to what you would find on the desktop, Silverlight should offer your end user a richer experience and the developer a more streamlined approach.

We've all seen both good and bad implementations of Silverlight applications.

The best Silverlight applications provide a rich user experience and should easily justify to the user why Silverlight was needed. For example, I think a great use case for Silverlight is a company writing a "business-to-business" application that their customers, vendors, and/or other business partners can use to interact with data in their domain. It's not the ideal solution for replacing a public-facing website, but it should be considerably less expensive to develop a Silverlight "business solution" than writing it in purely html-related technologies.

On the flip side, the worst implementations of Silverlight are ones that could easily be replaced by html with some javascript thrown in for UI support. I'm thinking of sites that are thrown together entirely in Silverlight with no styling that simply are trying to present blog content. What in this type of application tells the user that it was worth it for them to download Silverlight to use their application?

I hope this helps to answer your question.

like image 27
Ben McCormack Avatar answered Nov 15 '22 08:11

Ben McCormack