I have tons of experience with both Rails and Django. I now have some spare time to do some learning. Which emerging web development framework I should learn? Thanks!
asp.net mvc.
Will get you some perspective from the strongly typed world...
Zend seems to be the choice in the PHP world. Not that I'd recommend anyone to learn PHP, mind you...
Php is the most used programming language on the internet and ZEND framework is the most mature framework for PHP.
To be honest: Just pick one. There is no right way to learn such stuff. The web is evolving in a chaotic way, what is good today might be bad tomorrow.
And no one can give you the answer as everyone has different experiences and preferences.
May advice would be: Pick one you have heard of and evaluate it against those you already know. What are the weaknesses, what are the strengths? What are advantages and disadvantages for you as programmer if you use it? If this involves to learn a new language, even better. Maybe this language follows other concepts/paradigms. It will "widen your horizon".
In the end, what makes you a good programmer is not, that you know as much frameworks, languages, whatever as possible, but that you understand the concepts and that you can apply them easily to the new/unknown.
To get to know which frameworks are available in general, this is not the right places to ask IMHO (-> Wikipedia).
Nobody than you can decide what you should learn, it heavily depends on your background and interests. You don't have to be afraid of learning something "wrong". Every bit of knowledge is useful in the end and will contribute to your overall understanding of the techniques.
Here are two "low-level" frameworks, that I found really interesting to do stuff with:
web.py, which claims to be the "Pythonic" way of doing web related stuff in Python (has even a positive quote from Guido van Rossum)
Node.js, that uses Google Chrome's V8 JavaScript engine for serverside JavaScript
Both are "low level" in the sense that they don't provide as much features as Django or Rails but leave you with a maximum of freedom to code your way in the respective language.
Instead of looking at yet another server-side framework, how about a client-side framework? Web development is gradually moving towards the client. Being able to build web apps that run in offline mode will be a required skill before you know it.
Try building a web app with dojo or extjs, using the server only for hosting index.html, a bunch of js files, and a few web services. Make the entire page generation happen in javascript. For bonus points, skip server-side logic entirely, and build an app that stores data locally, using the server only as a static file store.
Take a look at the Agile Platform by OutSystems. You can download the free version at http://www.outsystems.com/download and follow the interactive tutorials.
Cheers Michel
Disclaimer: I work at OutSystems