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:
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.
Have any of you given ASP.NET MVC a try? What are your initial thoughts?