A number of things failed to motivate me to learn ASP.NET MVC. I loved the idea of having decent HTML without grotesque id-mangling on
runat=server controls, but not enough to switch platforms. I wasn't particularly moved by testability. "Clean separation of concerns" always made me think "meh, you can build a good or bad design on any platform."
But then this blog post by Rob Conery finally got my attention.
"WebForms is a lie. It’s abstraction
wrapped in deception covered in lie
sauce presented on a plate full of
diversion and sleight of hand .. The
web is not stateful and works with
this stuff called HTML sent across
wires using another thing called HTTP"
Now that got my attention. I'd been working with ASP.NET WebForms for several years, there were things I liked and things I didn't, but that reason to learn MVC really spoke to me, because WebForms statefulness is a lie, and it did trouble me. That was enough to send me to watching some Tekpub videos and reading some tutorials and books.
I haven't had a chance to use MVC on a commercial project yet, but I'm pushing to do so on a small project soon at work.
One thing that I've noticed recently, while sitting in on several interviews for developers, is how many applicants have MVC experience on their résumés - some of them having worked with it, some of them having evaluated it at their work, and some just from personal experimentation. I've been asking them "what's the #1 thing which you find attractive about ASP.NET MVC?" and for what it's worth, the answer that is winning so far is "complete control over the HTML output. "