What are the best MVC web frameworks on the market

2019-03-08 20:32发布

问题:

I am looking for a Web Framework to move windows based applications to the web.

The main requirements to WF are the following:

  1. unit tests support
  2. desktop and mobile browsers support
  3. long term viability
  4. maturity of the framework

回答1:

In my opinion, with contributions from the SO community

  • Zend Fraemwork for PHP
  • Django for Python
  • Rails for Ruby
  • Merb for Ruby (for the experienced)
  • ASP.NET MVC for .NET
  • Seaside for Smalltalk
  • Catalyst for Perl


回答2:

How about the ASP.NET MVC framework? It's what this site is running on.

Another more mature option is Castle MonoRail.

I think ASP.NET MVC is probably the best choice in the long run. A year from now, it will be far easier to hire someone who knows ASP.NET MVC than someone who knows MonoRail.



回答3:

I recommend the Java based Wicket Framework.

It's a component based MVC library which is really easy to use and allows to do all the view stuff in the java code (in contrast to using JSPs or templates or whatever in other frameworks).



回答4:

I heavily prefer CakePHP for PHP, Django for Python, Rails for Ruby.

In terms of front-end, if you're looking for a desktop-esque end user experience you should look into ExtJS or YUI.



回答5:

If you are curious about Seaside (mentioned by yinkei), visit Randal Schwartz's Methods and Messages. You can start by watching his quick elevator pitch.

Seaside creator Avi Bryant's interview is also a good read/watch.

Working with Seaside was amazing for me, almost like coding a desktop app.

Visit Dabble DB and Cmsbox for real life apps built on Seaside.



回答6:

I've had surprising success using Drupal as a web app framework. It's highly extensible - pretty much every default behaviour can be overridden easily via modules, and it's a pretty blank slate to start with as well.

Drupal 7 has unit testing built-in, and earlier versions can do it easily via a plugin.



回答7:

Why haven't anyone talked about turbogears, web.py and pylons?



回答8:

I have been using Wicket for about a year and it is fantastic. It's java based, supports unit tests, and uses a very flexible templating system for display.



回答9:

if you're a java progammer, check out the Struts framework by the Apache folks.



回答10:

Rails is still ahead of the competitors as a complete stack with large community driving it forward.



回答11:

The Spring projects WebMVC framework is very good, more so than Struts. I've also heard very good things about Grails which uses Groovy on top of Spring and is modeled after Ruby on Rails.



回答12:

No-one seems to have mentioned Perl, and the Catalyst framework available for it. It ticks all the boxes in your requirement list.

http://catalystframework.org



回答13:

I have been using Struts from Jakarta (Apache group) for java, and it's really good. Good separation of the layers, which allows you use any othe library/framework in any layer, for example Hibernate for object-relational mapping or even any template framework like Velocity in the view layer.

I recommend you give a look at their website



回答14:

Another alternative would be SproutCore, which is entirely client-side. The project is still in its infancy, however.



回答15:

ASP.NET MVC will probably be the de facto standard on the .NET platform. Also, MonoRail has been around for quite a while and still doesn't support caching. It seems like a very difficult thing to do, and is a major drawback if you ask me.



回答16:

For Python, I recommend Pylons (docs) (book)



回答17:

Honestly if you want an MVC framework for asp.net I would pick Castle Monorail. I think it is more mature then the current MVC framework from microsoft.



回答18:

For Java, I recommend the open source framework: (µ)Micro. The code is on Github and this is the web site containing the docs: http://micro-docs.simplegames.ca/, a work in progress.

I am the author of this framework and I welcome your feedback, thanks!



回答19:

If we're talking "Best" I'm throwing in Sinatra for Ruby and Nancy for .Net. Based 100% on my subjective opinion and personal preferences. They are my best based on their ease of use and "happiness factor".