Deciding Which Is Which Should I Choose? (MVVM or MVC C#?)

glenn_boy13

New member
Joined
Jun 30, 2015
Messages
2
Programming Experience
1-3
I can't decide which job should I choose? C# MVVM Developer or C# MVC Developer? There are two companies that I should go and work for. The one like Navitaire Accenture Company which uses C# WPF MVVM and the one like many others (e.g Avanade) which uses C# MVC ASP.NET...


I mean, I want to choose which is higher in demand... I'm deciding for my long term career. Thanks C# people. I do have experience BASIC by the way in C# WPF but not MVVM.


 
WPF is a Windows desktop technology so you might say that demand for that is waning somewhat. While it's not WPF, much Windows app development (Metro/Modern) is XAML-based so also uses MVVM and is much like WPF. Web development is not going anywhere any time soon so, if you're looking at things purely from a demand point of view, the MVC job may have more long-term potential. From the point of view of the work, I would personally prefer the MVVM stuff.
 
WPF is a Windows desktop technology so you might say that demand for that is waning somewhat. While it's not WPF, much Windows app development (Metro/Modern) is XAML-based so also uses MVVM and is much like WPF. Web development is not going anywhere any time soon so, if you're looking at things purely from a demand point of view, the MVC job may have more long-term potential. From the point of view of the work, I would personally prefer the MVVM stuff.

Hi Jmcilhinney,

I like to learn both MVVM and MVC... I'd like to know which of these can make me earn more? :) I think here in our country, MVC is higher in demand. Thanks by the way for your reply. Can you tell me more about these two? I mean talking about the career in MVVM and MVC.

Regards,
Glenn
 
MVVM is a pattern that lets the view talk to a view model. The view model is responsible for talking to a domain model or facade of a domain model. The communication in MVVM is very much a one-way street. The view model never talks to a view, nor does the model ever talk to a view model. There are other patterns used with WPF and other XAML based frameworks, like Commanding, but they are not specific to the MVVM pattern itself.

MVC is similar to MVVM, as the view talks to a controller and a controller talks to a domain model or facade. The difference is that unlike MVVM's View Model, the MVC controller is bi-directional. The controller can talk to the view, along with letting the view interact with it.

This is of course assuming that everyone writes their code following the patterns strictly. You will find that's not the case; the rules are always bent.

From a career perspective, MVC will probably be the better choice. I personally enjoy writing MVVM based applications, so I stick to that as a career. My advice to you would be to try the two technologies out and pick the one you enjoy. The money will come with experience, don't let money drive your career path. More often than not you end up someplace that you don't like, but making good money. Go work on technology you like, even if it's a little bit less annually. Your health and family will appreciate it.
 
Back
Top Bottom