I've been building an application to enable distributed teams to work in an agile way, and surprise surprise, I've been using Ruby On Rails. And this morning, I started thinking, why has RoR been so popular? Why have I, over the last2 1/2 years, been building all my webapps using Rails? Habit? Because it's trendy?
It's because the RoR framework enables the novice developer to pick it up and use it. Straight out of the box. The feedback loop is very short, and the rules of engagement are clearly defined - both ideal traits for novice adoption. And as the knowledge of the adoptee grows, as does the framework, opening doors (and at the same time encouraging good practice) for further learning, which in itself promotes learning.
So, to answer the question, what makes a framework rock? The framework must not only do what its intended to do, but must encourage the adoptee to want to become an expert in it, so that, with the adoptee, the framework can grow. That's how we raise the bar.