Tell me more ×
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.

I have been quickly moved over to a different project at work because the project needs more help. I was chosen because they are confident in my abilities and they thought I would be best fit for the next couple weeks to help finish the application out.

I am a little nervous. I do tend to pick things up quickly. I was moved to a different project at the beginning of this year and now I know it like the back of my hand. Previously I was on another project. Both of these projects were an ASP.NET web application, which I believe is considered a winforms web application? The project I am moving to is a desktop WPF application. I have read that many people enjoy developing their applications with WPF. I just have never dealt/worked with WPF before. I like to consider myself pretty good at ASP.NET/C# and I do a solid job. We deal with a lot of data processing from the database and report generation. So I do get to experience C# more so than some web applications where the C# end of it is mostly just event driven and simple instructions.

How different are the two? Will it be completely foreign to me? Or is it just a different way of looking at a problem and I can familiarize myself quickly? Thanks for the input.

share|improve this question
You could probably re-ask this question so it won't get closed immediately - maybe asking something like "What programming paradigms do I need to learn to switch from ASP.NET to WPF?" – Phil Jul 2 '12 at 13:26
WPF uses XAML. As a result the UI development is totally different. This is probably where the major learning curve will be. – Emmad Kareem Jul 2 '12 at 13:53
WPF is radically different from ASP.NET – Baboon Jul 2 '12 at 16:27
You'll need to shift your way of thinking when programming with WPF, but once you do you should be fine. In WinForms (or ASP.Net), your UI objects are your application and your code-behind is your functionality. In WPF, your code-behind should be your application and functionality, while the UI objects are just a pretty interface that sits on top and lets users interact with your class objects. So your entire application gets coded in c# code, which you should be familiar with, while the UI is done in XAML and binds to your c# objects through WPF's binding system, which you'll need to learn. – Rachel Jul 2 '12 at 16:43

closed as not a real question by fish, Bernard, ChrisF Jul 2 '12 at 13:19

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, see the FAQ.

1 Answer

In short it depends.

If the WPF app is written (and from what I've read most are) using a Model-View-ViewModel (MVVM) architecture then it won't be familiar at all and will look more like (but not the same) a ASP.NET MVC app.

However a WPF app can be written using the code behind/event model similar to WinForms although you lose most of it's benefits with binding that way.

I would be cautious though, although the programming model between a WinForm and ASP.NET Forms application is similar programming a desktop application is very different from writing a web application.

share|improve this answer

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