views:

501

answers:

8

MVC is a great concept, but choosing among all the variety and flavors out there is not a simple task. Very soon we are going to start a new web development project and we want to do it in a solid, enterprise class, long lasting language. We are choosing linux friendly language. Even we know that MONO will allow us to run .NET in linux, we are trying to keep the list in the linux friendly.

So, if this question has an answer we will take this as another characteristic of the decision.

+5  A: 

If you want to go the Java route, there's Spring Framework with Web MVC. It has a huge community of developers. The framework is open source and is supported by a company that also provides training courses.

Jeff
+3  A: 

There are quite a few php mvc framworks out there, here's a list of the 'top 10' from phpzone, i've only ever used Symphony though.

http://www.mustap.com/phpzone_post_73_top-10-php-mvc-frameworks

John Boker
+5  A: 

I'm generally a fan of python flavoured answers of which django is probably the most popular, but Turbo Gears and CherryPy also generally come up.

And then of course there's Ruby On Rails which is a pretty fantastic framework if you <3 Ruby.

Both Ruby and Python are very Linux friendly (and pretty Mac OS X friendly too!) and ship by default as part of a bunch of distros.

Aaron Maenpaa
A: 

When using Java/JSP:

I have decided not to use any MVC framework, but instead build a very light-weight mechanism myself.

It works this way:

  • A single DispatcherServlet is the super-controller that chooses the Controller based on the URL (Controller is my own base class for all controllers; it holds common fields and methods)
  • the Controller does its works, i.e. processes and loads the data and saves the output to request attribute
  • it defines the View (.jsp page) to be called by the Dispatcher using getRequestDispatcher().forward

I find this very flexible because there is no need to bend my app design around any framework.

Dan
Why build a wheel out of wood when there are plenty of Goodyear tires around?
djangofan
+3  A: 

A loaded question IMO, but as far as "largest number of developers" the different Java EE frameworks would probably win, based on their popularity with enterprises.

But if you want "enough developers", good infrastructure, and a good framework, a system based on Java EE like Grails is worth checking out (full access to any Java component or app server), as well as the PHP frameworks (Zend Framework, Symfony), the Ruby frameworks (RoR, Merb - soon to be combined), and the Python frameworks (Django, Pylons, TurboGears).

If you want an open source solution, a responsive community and good tutorials will probably be much more important than sheer numbers.

orip
+2  A: 

The biggest number of developers may not be the best indicator to use... Friendliness is important too and the Ruby on Rails (and things like Merb too) is built on top of the RUby one, known as one of the easiestgoing one. Ruby on Rails, while not being the first web framework to come, has nonetheless paved the way and many of the other frameworks are just rewriting Rails in another language (with more or less success as Ruby is particularely suited to such a task whereas other languages are not).

If you can ignore the hype (yes Rails has shortcoming but it has competitors and they have been listening to them -- just look at the impeding Rails - Merb merge!), Rails is a fine framework to use, with many plugins and extensions to help working with boring things like RESTful auth and many others.

Keltia
+1  A: 

First "solid, enterprise class, long lasting language " and "highest amount of developers" have nothing to do with each other.

The most popular language is Java. Is java "solid, enterprise class and long lasting"? Who knows?

COBOL is provably "solid, enterprise class, long lasting language "

So, you have have solid (COBOL) or you can have developers (Java).

For more information on language popularity (which usually means number of developers), see http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

S.Lott
A: 

As Joel says, use whatever language your team already knows.

bpapa