I am looking for a Web Framework to move windows based applications to the web.
The main requirements to WF are the following:
- unit tests support
- desktop and mobile browsers support
- long term viability
- maturity of the framework
I am looking for a Web Framework to move windows based applications to the web.
The main requirements to WF are the following:
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.
In my opinion, with contributions from the SO community
if you're a java progammer, check out the Struts framework by the Apache folks.
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
Rails is still ahead of the competitors as a complete stack with large community driving it forward.
Another alternative would be SproutCore, which is entirely client-side. The project is still in its infancy, however.
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).
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.
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.
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.
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.
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.
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.
No-one seems to have mentioned Perl, and the Catalyst framework available for it. It ticks all the boxes in your requirement list.