views:

238

answers:

6

Just a year or two ago I thought that learning WPF is the best use of my free time. Now though, I'm not so sure: seems like the number of ASP.NET jobs vs. WinForms/WPF is something like 10:1. Am I the only one noticing this, or is this really an overall trend? And should all thick-client developers drop everything and begin learning ASP.NET MVC and the like?

+2  A: 

I know my company is looking hard at switching from a Win Form front end to ASP.NET MVC. The MVC framework seems to be much more enterprise app oriented than the Web Form approach. (Think easy testability.)

Danno
A: 

In the immediate term, ASP.NET Webforms seems like the dominant .NET web application UI technology. However, many people are postulating that Silverlight will be the dominant technology for new web applications within a few years. That being said, I'm sure some flavor of asp.net, be it Webforms or MVC, will still be very popular for public website type apps.

Practically speaking, if you are looking to make your resume more attractive, I'd choose to learn ASP.MVC or Silverlight as they are both technologies that are beginning to be adopted large scale. There aren't a ton of developers who know these technologies yet so there is less competition in the near term.

Daniel Auger
+2  A: 

The world is moving towards the web as a platform. Everyone has a web browser installed on their PCs so there isn't a need to worry about things like deployment, library/framework issues, OS discrimination, or other thick client problems.

However, just because the cloud is becoming more popular doesn't mean that the client needs to be left out. In some cases there are applications that can only be run as a thick client app, so those skills are important.

I don't think thick client developers should drop everything, but they should try to diversify as much as possible.

Jesse Dearing
+1  A: 

Depending on the industry, there will still be the need for 'Smart Client' type applications. In the area of Defense, a lot of the newer projects have moved from Unix and onto Windows and WPF is a large part of the answer. The big issue is that there are many cases where disconnected applications are the only solutions.

That being said, I agree that Silverlight may be the eventual winner as it can support both scenarios easily. As newer versions of silverlight fill in the missing gap it will be more important on the desktop.

All in all, learing ASP.NET MVC and Silverlight is probably a good approach to hedging your bets.

Steve Mitcham
A: 

Before the financial crisis I know a few big financial companys were rolling out silverlight for their new apps. This makes sense to me because maintaining web apps can be a huge pain especially outside the intranet, developing intuitive UI is also much easier in silverlight.

Element
+1  A: 

It depends. In the end, the point is that WPF/WinForms is a thick client technology while ASP.Net is a web UI technology. More and more software is moving towards the web (and has been for years now). It is much easier to maintain and deploy and for many, many cases it makes sense. This is why you see the 10:1 ratio of jobs.

That being said, it depends on where you work and what their requirements are. My work is entirely in WPF. The application that we develop needs the speed of the thick client. We present data is a manner in which going through the browser doesn't make sense.

One very important point is that the original idea of Silverlight was to be a WPFE. WPF everywhere. The idea is that you can develop UI using WPF concepts and be able to easily move it into the browser. You are getting a 2 for 1 there. It is never wrong to learn a new technology but don't discount thick client technologies quite yet. There are certain things that thick clients will be used for a long time to come.

siz