First Glance at ASP.NET MVC for a ColdFusion developer

{ Posted By : Eric Cobb on August 28, 2013 }
4015 Views
Related Categories: General

One of the things we've been contemplating here at work is the possibility of switching our platform over to another programming language. We're planning a big rewrite of our main site in the future, and have decided to spend some time evaluating other languages to see if there is something else that we would like to use. At this point, we really don't have any specific criteria other than just picking a language and trying a few tutorials to see if we like it.

As part of this process, I decided to give .NET a try. Unfortunately, the term ".NET" encompasses a lot, and for someone like me who had virtually zero experience with anything in the .Net world, trying to figure out what you use to build a website gets pretty confusing. As it turns out, there are actually 3 different ways to use ASP.NET for building websites. According to the documentation:

ASP.NET supports three approaches for making web sites. ASP.NET Web Forms uses controls and an event-model for component-based development. ASP.NET MVC values separation of concerns and enables easier test-driven development. ASP.NET Web Pages prefers a single page mobile that mixes code and HTML markup.

After checking around I decided that ASP.NET MVC was what I wanted to go with, so I spent what seemed like a day and half downloading/installing Visual Studio and getting everything up and running. But after that it was smooth sailing. I started going through the excellent tutorials found at http://www.asp.net/mvc and was able to move through them pretty quickly.

I have to say that so far I'm pretty impressed with it. MVC reminds me a lot of building a site with a ColdFusion framework like FW/1 or CFWheels. As long as you have your models, views, and controllers named correctly it just automatically flows and works together. It has built in URL rewriting by default, which is pretty nice, so you call your application using a "Site/[Controller]/[ActionName]/[Parameters]" format. So, for example, your URL might look something like: http://localhost:xxxx/HelloWorld/Welcome. I should note that as you add parameters, you start using the standard "?name=Eric" format. I'm sure there are tools and tricks to use URL rewriting with your parameters, but this appears to be the default way MVC works out of the box.

Another thing I like about ASP.NET MVC is how it automatically creates a working website for you (complete with navigation menu, registration page, and login form) without you having to do much of anything. It automatically has layout templates that are used by your views, and they even come with jQuery linked in by default.

As I said, this was just a quick first glance at ASP.NET MVC, and I've only been through the first 3-4 tutorials, but so far I like what I see. I'm impressed with how quick and easy it was to get a functioning site up and running, and can actually see myself starting to play around with it for some of my side projects.

Now, let's talk about the name "MVC". Seriously, Microsoft? You named your application framework after a widely know industry term? Yes, it's an acronym that practically every developer is familiar with, and yes it accurately conveys what the framework is meant to do. But naming a framework after an industry term such as MVC is like naming a new JavaScript framework "AJAX", or Ford creating a new vehicle named "car". I think it should have been named ".NET", so you could have ASP.NET.NET, but that's just my $.02.

Have any of you given ASP.NET MVC a try? What are your initial thoughts?

Comments
m@'s Gravatar Talk about heading for vendor lock in, MS and Dotnet aren't exactly growing.
Surely a popular opensource linux based approach would be the way to go
# Posted By m@ | 8/29/13 4:18 AM
Tom Chiverton's Gravatar Yup, nothing like having your choice of abstract programming language dictate your future choice of concrete cloud providers, operating system and virtulisation technology.
# Posted By Tom Chiverton | 8/29/13 4:52 AM
Brad Wood's Gravatar I've never used .NET MVC but I found it interesting that it generated HTML and Javascript for you. The UI features of ColdFusion that generate HTML and JS are things that people love to hate with a fiery passion.
# Posted By Brad Wood | 8/29/13 12:52 PM
Rachel P's Gravatar Thanks for your post. I'm a long-time CF developer but my new employer doesn't want to upkeep a PHP or ColdFusion (Railo) server. After installing Visual Studio 2013 and doing some MVC 4 and MVC 5 tutorials, I think it may be the ticket.
# Posted By Rachel P | 12/6/13 8:10 PM