What I think about the various web technologies  

Technologies

I like

  • ORM, Layouts, Helpers, Ruby, Migrations, the whole framework actually

  • The productivity I can get from it

  • MVC Architecture

  • Beautiful and elagant code that is easy to maintain and debug

Tell me about what you think

Ruby on Rails

My choice for most projects out there

For most projects I would recommend Ruby on Rails, it's an excellent platform that promotes developer productivity which means that more time is spent on the things that really matter. Ruby on Rails also allows for a well defined architecture and I've never written code that was easier to maintain and debug.

The things I love about Ruby on Rails is how you can achieve so much with so little code. It never ceases to amaze me and I just really enjoy how you can create web apps in hardly any time. It's powerful and it's a pleasure to use.


Things I like to see improved

  • MVC Architecture, there is not yet a good solution out there

  • Support for a good scripting language like ruby so I can get away with less code and more productivity

Tell me about what you think

ASP.NET (With C#)

If you aren't ruby material, this is my recommendation

ASP.NET is miles apart from ruby on rails. When I compare Ruby on Rails with .NET, I find that projects are not as nicely structured, you need more code and more ugly code to achieve things and one of the things I hate is the HTML that some of the controls generate.

So why would I recommend it? Well I actually quite like C#. I think that if you ain't ruby material and prefer the static typed languages then C# is a very good language. Next to that .NET offers a very good platform to build on with so many classes and functionality under the hood. That whatever you do, should it be web services, xml, ftp or SMTP, it's there. It just takes a bit more code to get there.

Finally if you choose .NET as a platform, you'll know that it will be around for a while as there are so many companies that have invested in it. There are also probably more .NET developers out there, however beware, a good .NET developer is probably just as rare as a good ruby on rails developer.

Others

The other stuff out there that is okay, but rather not use

In this list we can find:

  • PHP, widely available but I don't like the language much and most code I've seen is far from elegant. Having said that I haven't used it for a while and there are some really good frameworks out there now, so I probably should give them a go and update my opinion.

  • Java and JSP/servlets, for me this is a very powerfull technologies stack. However it just feels like too much hassle to build anything in it, it takes more time, more code and more complexity to achieve the same things in for example Ruby on Rails. It's not a bad platform, just a bit too much enterprise and not productive enough for me. I like to achieve results quickly.

  • Coldfusion, it's got some merit when it comes to developer productivity, however I've never used an ORM layer that worked for me. Also I've never enjoyed programming with tags, and I know that there is the cfscript tag, it just doesn't do it for me. And when you want to do more complex stuff, you tend to have to rely on Java. Why use it when there are better alternatives out there?

  • Python/Django, now this one is interresting and is in my watch list. At the moment however I have invested quite a lot of time and projects into ruby on rails and there doesn't seem to be any obvious reason to move to this technology instead. Therefore I'm currently sticking with Ruby on Rails