views:

567

answers:

8

As an ASP.NET developer, I've been eyeing Silverlight from a distance for a while now.

But I've been burned by jumping on the Microsoft bandwagon too early in the past when their projects get radically overhauled or binned.

I've been reading some good reviews about Silverlight 3.0 recently.

So have we reached the point where, as a mainstream ASP.NET developer, it's worth investing the time and effort to get to grips with it?

Any thoughts?

+7  A: 

Reviews are one thing, adoption by the masses is another. Is Silverlight as ubiquitous as Flash, which is alleged to be installed in 99% of browsers? Are people commonly installing Silverlight when prompted by a site that it's required, or do they pass it by and go elsewhere? That's what will indicate to me that Silverlight has arrived. It's not about reviewers or developers, it's about customers.

UPDATE: My point is that the market is fragmenting again where no one vendor can dictate the way Microsoft could when they had 95% of the browser market for computers and mobile devices were not as important as they are now.

duffymo
Last I heard, installed base was 30%, and there is a group of Macintosh owners that will probably never install anything that says Microsoft. With the truly explosive growth being in Mobile Browsers, I think HTML/CSS/JS is probably the next big thing...again.
Nosredna
Great points, Nosredna. The Mac owners begs the question: Is it in a developer's interest to completely exclude that bloc of customers? And if those mobile browsers are dominated by iPhone users, what then?
duffymo
Mac users are by definition willing to pay more than other users. I wouldn't want to exclude that bloc any more than a bar wants to exlude alcoholics.
MusiGenesis
They seem to have a lot of cash...wouldn't want to exclude them. 8)
duffymo
I think as developers, we're soon going to be repeatedly slapped in the face with, "can you make this work better on cell phones?"
Nosredna
And it'd better be Objective C to run on an iPhone.
duffymo
Actually, I was talking about web browsing on the iPhone, not apps. There are too many sites that suck when you browse to them with an iPhone. Flash movies that don't play, 960pixel formats with tiny words I have to zoom to read, etc.
Nosredna
I haven't gotten one yet. I'm one of those Luddites who still just uses his phone for calls.
duffymo
@duffymo, I personally think that's a reasonable life choice. :-) But the growth rates of mobile web are amazing. About the only hypergrowth we have in the whole economy.
Nosredna
Agreed, Nosredna. It looks to me like mobile "phones" are really going to be "my computer on my person at all times". So powerful, so connected.
duffymo
In response to Nosredna,Microsoft has said on the DL that one of their goals with Silverlight 4 is to release a runtime for phones.
Richard Clayton
Ain't likely to run on iPhones. It'll be too late by the time it arrives.
duffymo
I've left any site that "requires" Silverlight. I have enough trouble with poorly designed Flash sites, I'm not going to open up a whole 'nother world of hurt just to appease some over-zealous Visual Studio user. If you can't implement a similar product with standards compliant technologies, then I'm not interested in using it.
Nolte Burke
+6  A: 

It really depends on your client base too. I've been working with Silverlight 2.0 for the last year and I absolutely love it! Granted, it has it's weaknesses, but it's only version 2!

I'm really excited about the features 3.0 has to offer and I think, compared to Flash, Silverlight's "momentum" is growing much faster!

The features I'm most excited about is the cascading styles, pixel shaders and 3D (really 2.5D) integration.

Plus, the IDE blows Flash away! Visual Studio? I would MUCH rather code with Visual Studio! Intellisense has me spoiled!

sfjedi
Expression Blend 3 actually includes intellisense when editing the code behind files. Also, there's a couple of tutorials on how you can convert Blender and 3D Studio Max models into Silverlight 3D XML Objects. If you like Silverlight, you'll definitely like version 3 and 4.
Richard Clayton
+3  A: 

Probably not.

  1. Microsoft forever relegated themselves to the Windows-only world on the web when it dropped the Mac version of IE. Now we have cross-platform Safari, Firefox, and Opera, all innovating faster than Microsoft. If Microsoft still held a large share of Mac browsing, and added a Linux IE, they could have pushed Silverlight right into the browser.

  2. Silverlight and Flash are both fighting last year's battle. The hot growth is in the mobile web. The mobile web makes Ajax development more important. You can spend a bunch of money making the desktop version of your site hot in Silverlight, and then still have a bunch of people frowning when they visit your site on Blackberries, Androids, and iPhones.

So you can certainly do Silverlight, but maybe you also have to do Flash as well. And if you have to do both, why not just do Flash, which is on almost all desktops? For coverage, what makes the most sense is Ajax and/or Flash on the desktop, and then some kind of reasonable Mobile strategy.

Silverlight is an answer to last year's problems, not next year's.

Nosredna
Why do you believe Flash/Silverlight and mobile web are incompatible? Lots of mobile devices today have Flash support already, and there's little doubt that Silverlight will be coming there as well.
Pavel Minaev
On top of that, Silverlight is fully supported on FireFox and on the Mac, and partially supported on Linux (via Mono/MoonLight).
Ken Smith
Silverlight on iPhone? Do you think so?
Nosredna
It runs on safari on the mac, so why not safari on the iphone?
DaRKoN_
Apple has much more control over what goes into the iPhone than on what runs on the Mac. Also, the iPhone really doesn't have the horsepower of a desktop machine. And, of course, Mobile Safari doesn't have any way for plugins to be installed. So Apple and Microsoft would have to get all cuddly together for it to happen.
Nosredna
+10  A: 

I attended a Microsoft "Fire Starter" on Silverlight 3 a couple of weeks ago, and I can tell you that it really is quite amazing. From a technology perspective, I think Silverlight now has more "out of the box" capabilities than Flash. From a development perspective, Expression Blend 3 has radically improved the ease of developing Silverlight products. One of the most important features of Silverlight 3 is the new 'out of the browser' runtime; yes I realize this capability already exists with Adobe AIR, but it's significant in that .NET Developers can now create RIA applications in other operating systems without using Mono.

Another important feature added to Silverlight 3 is a business templates framework, which makes developing typical in house applications a little more practical (though I still don't think this would be my first choice).

In the end, I think many of the previous posters are correct: Silverlight adoption will depend primarily on the skills and comfort-level of the developers that use it. As the technology grows more capable, I don't think low browser penetration will become much of an issue (users will end up installing it to get access to the services they enjoy [like Netflix]).

Richard Clayton
Development-wise, I LOVE Silverlight.
Nosredna
To run your out-of-browser Silverlight app on Linux would still require Mono in the form of Moonlight, wouldn't it? And Moonlight is nowhere near supporting Silverlight 3.0.
JulianR
You're absolutely correct. I guess I should have been more specific in that it targets Mac and Windows. At the Firestarter, the Microsoft reps actually said they've been working with Novell on Moonlight (prereleasing source code and assisting in some parts of development).
Richard Clayton
+3  A: 

Silverlight seems to be hitting a critical mass with v3 very similar to .NET 2.0. The base feature set feels very robust and Microsoft is starting to focus on frameworks to complement it (RIA Services, Azure.*, SL Toolkit, etc). 3rd party control support is also excellent at this point in the technology. Looking out over the next two years, a developer's productivity in SL may be more about how many complementary technologies are in his/her arsenal as SL "baseline" knowlege gets to be more standard. One example might be that companies want to know whether you're familiar with ASP.NET MVC, not just if you "know ASP.NET." I'm an open and verbal proponent for SL so take this fwiw, but I think now is a great time to get up to speed. If you wait too much longer you'll end up needing to learn SL and a slew of complementary technologies to get jobs or solve problems at the same speed as the rest of the herd.

If you want to take a rough look at adoption, check out dice. A quick search for flash jobs returns about 1200 postings, silverlight returns 300. That's not bad for a technology that really came of age 9 months ago.

PS - if you're already an ASP.NET developer the transition isn't even that tough! You've already got the tools so you may as well give it a shot. You may like it ;)

James Cadd
+2  A: 

For certain products, the time to take Silverlight seriously was 2.0.

I'd never touched Silverlight (or WPF) until August. Since then I've put together a complex user interface for the agricultural telemetry monitoring product I'm developing for a client. We released it a few months ago to rave reviews.

I'm not an ASP.NET UI expert--I have only about a year of traditional web development under my belt. But I have even less time with Silverlight, and I am certain I would not have been able to finish this particular project to the same degree of quality within a similar timeframe without it.

Ben M
A: 

For those who have never used Silverlight, do you recommend starting with SL3?

pabloide86
Absolutely. SL 2.0 doesn't have enough adoption that the extra work to get your users up to 3.0 is that much of a barrier; and SL 3.0 is a much more mature product than SL 2.0.
Ken Smith
+2  A: 

I've been using SL 3.0 since May, and it's a much better product than SL 2.0. To take just one example that drove me nuts: web services with SL 2.0 were just barely this side of useless. Among other things, you couldn't pass faults from the web service to the client, nor could you catch web service exceptions. Both of those are fixed (with a little server-side work) in SL 3.0. Moreover, the model for duplex calls in SL 2.0 was unbearably nasty (~50 lines of code per web call). This also has been dramatically simplified in SL 3.0.

On top of that, the toolset for SL 3.0 is much better than for SL 2.0. Blend 3 is the first version of Blend that I haven't found myself swearing at each time I fire it up. Among other things, it finally has Intellisense, and seems to handle XAML errors with a bit more grace.

The beta version of SL 3.0 had significant tool issues (which were mostly left over from SL 2.0). I haven't worked with SL 3.0 RTW long enough to know whether they're all resolved, but I'd say that SL 3.0 is definitely stable enough, and feature-rich enough, that it's worth giving it a shot.

Ken Smith