I have a plan to start a small business soon. It is going to be a type of freelancing to build websites and applications using ASP.NET. I want to focus on one thing Web forms or MVC. However, I have no idea if that has any importance to the client. I mean do the clients know about MVC or web forms? Do they prefer one of them?
Customers/clients, in general, do not care about code or technology.
If they did, they probably wouldn't let someone else make decisions on what technology to use for their business solutions. This applies to MVC, web forms, Rails, etc..
What they care about is getting a solution to meet their needs on time, and under their budget.
The ones who should care about what is used: Developers, programmers, project managers, etc. Anyone who's actually delivering the solution to a customer should care.
In short they don't care but you should. WebForms is over 10 years old and is starting to show it's age. The pages usually end up being very heavy and slow, you can build fast light pages in WebForms but that isn't what usually happens.
Over time I think you will get more out of MVC then WebForms.
It depends on the client. If the client is a technically minded person or a programmer himself or if he is outsourcing the code to you then he will most likely give you the specifications of the technologies that he wants you to use. If the client is the owner of a bakery whose online bread ordering website you're building then he won't care.
The client do not care about any technology whatsoever, what they care about is what the technology can do for them and their business.
What the client see with regards to technology is this:
- Cost: How much will it cost them to get the product?
- Benefit: How much revenue can they make using the product
- User-Friendliness: Is it easy to use and productive?
- Growth: Short-term and long-term growth the product can generate.
So, if you wanted to please your client into buying your product, talk what the technology will do for their business in short and long-term and not sell them technological jargons.
They almost certainly have never heard of MVC and WebForms, and if they have, they almost certainly don't care.
The only thing that they're likely to notice is that the style of the URLs in an MVC site is more attractive than the
/page.aspx?id=1234 style you typically see from WebForms. Although, of course, you can use System.Web.Routing or some URL rewriting solution to get the same nice URLs in a WebForms site.
As a freelance developer, it will be your job to assess the customers needs and use the best technology for them. That means that means that you need to understand, and be able to implement their sites / applications in either technology.
Typical customers won't understand the technology and won't want to get their heads around it. But they will recognize if you do a bad job and leave them with software that doesn't do what it is required to, or that is a problem to maintain. So it is beholden on you to do a good job ... if you want recommendations, good references and repeat business.
In my opinion (and expierence based on 8 years commercial development), clients don't care about technology. They honestly don't care if you use WebForms, ASP.NET mvc, or write your own ISAPI filter in C, Prolog, and assembler and hook it into the Windows kernel and do it that way.
As long as the site works, is functional, reliable and fast, they will be fine with it.
You should care, regardless of the client. Speaking from experience most clients are ignorant - they don't understand or care to understand anything outside of their domain (and, sometimes, not even that!). That's why they are hiring you to do work in the first place.
Assuming you have a client who understands that you are the expert in web development, not them then the choice is largely yours. I would recommend MVC for any new development since that's where the .Net world is moving to, and it's much easier to maintain than WebForms.