Derrière cette fusion se cache une reconnaissance de la ZCA : Zope Component Architecture. Pylons, comme la plupart des grosses applications, deviennent difficiles à faire évoluer avec le temps. C'était la remarque faites par les core devs de Zope2 fin 90. Ils ont donc travaillé sur Zope3, qui au lieu de faire de l'héritage, utilisé la composition : l'objectif est de faire de petits composants autonomes, monotache, qui sont "collés" ensemble au moment ou c'est utile. Dans le monde Java, cela s'appelle l'inversion de contrôle, popularisé par Spring.
Dans le monde python, cela à donné les interfaces (zope.interface) et les composants (zope.component), qui permettent de développer avec de la composition. Zope 3 est évidemment le premier gros projet à l'utiliser. Avec le temps, certaines idées étaient bonnes, d'autres mauvaises (et en 10 ans, bcp de choses changent). Le projet Repoze BFG se veut être une simplification de Zope 3, en prenant les bonnes idées (dont la ZCA) et en modifiant certains points (le ZCML reste mais il possible d'utiliser du Python, utilisation possible de Routes à la place de Traverser, etc). Le principal développeur a fait un travail fantastique, en tant de terme de code (assez clean, 100% de couverture de test...) comme de doc (livre de 700p qui sort en même temps que la 1.0, site web trés complet), notamment en rendant la ZCA "invisible" pour le dev qui ne pas souhaite le manipuler directement.
J'attends beaucoup de ce projet, car il y'a 2 responsables de haut niveau, avec beaucoup d'années de lead development derrière eux. Et le fait qu'ils bossent depuis presque un an ensemble (reprise de code de l'un mais dans le projet de l'autre) me donne envie d'y croire. Et pour reprendre le titre, cela va donner dans le paysage Python :
- Django : 100% perso
- Pyramid, Pylons, Turbogears : ZCA, Routes, WebOb... Grosses réutilisations de composants Pythons reconnus. La différence se fera sur l'intégration ou non de fonctionnalités.
Une merveilleuse nouvelle pour le monde Python je trouve.
# La validité de la ZCA
Posté par Sébastien Douche . En réponse à la dépêche Pylons et repoze.bfg fusionnent pour donner Pyramid. Évalué à 8.
Dans le monde python, cela à donné les interfaces (zope.interface) et les composants (zope.component), qui permettent de développer avec de la composition. Zope 3 est évidemment le premier gros projet à l'utiliser. Avec le temps, certaines idées étaient bonnes, d'autres mauvaises (et en 10 ans, bcp de choses changent). Le projet Repoze BFG se veut être une simplification de Zope 3, en prenant les bonnes idées (dont la ZCA) et en modifiant certains points (le ZCML reste mais il possible d'utiliser du Python, utilisation possible de Routes à la place de Traverser, etc). Le principal développeur a fait un travail fantastique, en tant de terme de code (assez clean, 100% de couverture de test...) comme de doc (livre de 700p qui sort en même temps que la 1.0, site web trés complet), notamment en rendant la ZCA "invisible" pour le dev qui ne pas souhaite le manipuler directement.
J'attends beaucoup de ce projet, car il y'a 2 responsables de haut niveau, avec beaucoup d'années de lead development derrière eux. Et le fait qu'ils bossent depuis presque un an ensemble (reprise de code de l'un mais dans le projet de l'autre) me donne envie d'y croire. Et pour reprendre le titre, cela va donner dans le paysage Python :
- Django : 100% perso
- Pyramid, Pylons, Turbogears : ZCA, Routes, WebOb... Grosses réutilisations de composants Pythons reconnus. La différence se fera sur l'intégration ou non de fonctionnalités.
Une merveilleuse nouvelle pour le monde Python je trouve.