We’re from the world of Zope and Plone, so we have a long history on the topic of frameworks and pluggability. We’ve helped foist the good, the bad, and the ugly on large populations of developers over the years. So we’re continuing to learn the right balance on frameworkiness.
Chris wrote a very good email yesterday on the Pylons mailing list on the topic of Pyramid’s pluggability story. The “Pylons Project” wants to have a story over the long haul. But we’re still in the mode of thinking, learning, listening, and then building.
To summarize Chris’s note (at least from my POV):
- Pyramid provides a pretty attractive extensibility story for application developers.
- Pluggability is harder, because a plug-in will need cooperating systems (storage, authentication, etc.) and Pyramid isn’t going to have opinions on all that.
- Your application will have opinions, though, thus you can provide plug points built with Pyramid’s extensibility story.
- A plugin-story’s success is directly related to the ruthlessness of the decisions and opinions being made. The more you define the surface area by making the choices, the more viable the plug point. Over-generalization is the enemy.
- The Pylons Project would like to make an application on Pyramid that has opinions, provides higher-level services, and thus has a strong plugin story.
At the end of the day, the Python world has a lot of great alternatives already for web frameworks. Anything new that tries to emerge needs fresh ideas. I feel like extensibility and pluggability are still areas ripe for new thoughts.
While many might want less (e.g. single file microframeworks) but there might be a constituency for those that want more.