views:

259

answers:

4

I have spent most of my web-development career in the Microsoft camp, but for different reasons I am trying to look at options.

Some years back I did a bit of Java/Struts development in eclipse, which was nice for its time but my memories of it are not close to what Visual Studio delivers today.

Some of the strengths of the MS stack as I see it are:

  • Ease of use. Free tools (express editions), easy to set up, easy to deploy, loads of components and support, even for cutting edge features like ajax and jQuery.
  • Intellisense, so that the API reference is there as you need it.
  • Size of the community. Things like www.asp.net, with the free video tutorials, samples, documentation etc. Free, official and reliably updated information from MSDN.
  • Enterprise scalable and decent performance.
  • Fully object-oriented, (semi)compiled languages, allowing for sound design, patterns and practices.

There are of course weaknesses as well, like:

  • Pricing, once you go live with anything semi-serious.
  • Vendor lock-in.
  • Total lack of cross-platform support.

I have spent some time this evening trying to get a grip on how things are outside of the microsoft world, and I have found loads of PHP frameworks, Ruby on Rails and relatives, several Java frameworks and a few very odd alternatives.

Some of these seem very interesting, so I would like to hear from actual developers using the different frameworks, and try to find out how they compare to what MS has at the moment.

Which framework are you using, why is it great, what could be better and what kind of sites have you built using it?

Jeff & co made most of Stack Overflow in a few months using ASP.NET MVC. If you had to do the same using a non-MS framework and tools, what would you pick and why?

+2  A: 

We have a pretty heavy investment in the Microsoft framework at the office and so I'm mostly doing ASP.NET MVC stuff now. If I were to pick an alternative at this point, I'd probably go with RubyOnRails. It has a very clean MVC implementation -- playing around with it made it pretty easy to get started with ASP.NET MVC when it came along. There's also a lot going on with improving testability -- particularly natural language-like testing frameworks coming out of the RoR camp with Cucumber, et. al. All the investment in testing makes TDD/BDD much more natural in that framework.

tvanfosson
A: 

I am using Django. It is easy to learn, very well documented and most of the brainy stuff happens in Python (assuming you like python). I develop all my HTML and CSS by hand using Aptana - gives better control but has nice helpful features.

Using many IDEs / editors you can get auto-complete based on the Django code-base (Netbeans, PyScripter, Komodo). You can then host on either Windows or Unix (Linux, Solaris, Mac).

Technical Bard
+1  A: 

If I wanted to go opensource I would go with:

RAD web development: tomcat running Railo, a Java based open source CFML implementation because CFML is a good RAD tool. Railo performs well, is capable of clustering, is able to be extended through editing the source or adding your own extensions.

DB: MySQL for a DB backend because it performs well and just works.

IDE: - Eclipse + CFEclipse because that is what's available, although I want some improvements. Since CFML is a dynamic language you don't have Intellisense, just context help for the api.

OS: Any opensource unix based OS. Probably Ubuntu.

MVC Frameworks: Mach-II or Model-Glue because I'm familiar with them, although I'm open to checking out ColdBox.

Jayson
+1  A: 

I build web apps with:

  • PHP
  • Zend Framework
  • ExtJS toolkit
  • Aptana IDE

Disadvantages are the typical ones: lack of integration between the tools, weakness of debugging tools, complexity of deployment (although the deployment issue is true for pretty much anything except ASP when you're talking about windows servers).

I'm not too aware of ASP.NET, having only marginal experience with it, but the advantages as I would see them are cross-platform support, cheap hosting ability, architectural control (PHP is more low level, and Zend Framework is easy to buy into one module at a time, so you can more strictly control the behavior of each page).

Joeri Sebrechts