It is easy to give recommendations on Framework to use for projects. It would however be based on individual experience and bias. Furthermore you must recognize that there is no framework that could satisfy all needs.
For instance if you want a lot of client side validations and scripting; this could be for many reasons, including removing some activities from the server to the client. You would simply find out that some component based architectures are not client scripting friendly.
If your application is page oriented, with user interaction events and post back, you would discover that this requires a lot of work on request/response or non-component based platform. Whereas, this is the main stay of the component based frameworks.
One perspective that would serve you well is the concentration on what business solution you are trying to build first, and then worry about the framework that could deliver this solution.
One way available to achieve this, is by capturing the specification with dWebSpec
. Once the requirement is captured, you could then evaluate how it translates to various platforms using the dictionary
Some of the criteria that you already set could easily be discerned through this process.
Learning Curve and Amount of Code to Write
By flipping through the dictionary
you could verify the implementation for the various platforms. Verifying the ease of implementation, and whether there are in-built facilities for items in your specification, or whether simple or extensive custom code would be needed.
The support for AJAX could also be verified, either the retrieval of JASON, XML, etc data, or simple partial page refresh.
There is no doubt that making a commitment on which framework to invest in is not easy. Furthermore, making subsequent changes could be expensive.
However, utilizing the specification and definition of the problem domain would buy insurance for the success of this process. First, you have the benefit of platform independent specification. Then is the concrete means of platform evaluation.