Aura Framework: Ist totale Entkopplung wirklich nötig?
Kommentare

Nachdem wir mit Paul Jones über sein Aura Framework gesprochen haben, begann eine brennende Diskussion zwischen Vertretern unterschiedlicher Frameworks. Lukas Smith und Dave Marshall sprechen dort für

Nachdem wir mit Paul Jones über sein Aura Framework gesprochen haben, begann eine brennende Diskussion zwischen Vertretern unterschiedlicher Frameworks. Lukas Smith und Dave Marshall sprechen dort für Symfony und Matthew Weier O’Phinney sowie Ralph Schindler verteidigen Zend Framework. Nate Abele, Mitgründer des Lithium-Frameworks, argumentiert gegen alle Parteien. Es ging heiß her!

Den ersten Schlag teilte Lukas Smith aus: Er versteht nicht, warum Komponente vollkommen entkoppelt sein müssen. Vor allem Komponenten, die wahrscheinlich gemeinsam verwendet werden, können auch Abhängigkeiten voneinander haben. Als Beispiel nennt er die Routing-Komponente in Symfony, die sich nur mit der HttpFoundation zusammen testen lässt, weil sie auch in der Praxis nur zusammen sinnvoll einsetzbar ist. Dave Marshall schließt sich an und kann auch nicht nachvollziehen, warum Entkoppelung unbedingt sein muss. Auch müsste Jones der Fairness halber erwähnen, ob seine Komponenten wirklich gleichviel können wie die der Konkurrenz.

Matthew Weier O’Phinney sieht auch nicht, was Jones mit seinem Decoupling erreichen will. Zusätzlich stört er sich daran, dass es über Brücken-Interfaces bewerkstelligt wird, die die einzelnen Komponenten in ihrer Funktionalität einschränken und Entwicklern mehr Arbeit machen. ZF löst das mit Abhängigkeiten, die Pyrus oder Composer ohnehin automatisch auflösen können. Er schließt damit, dass der Input Filter von Zend Framework erheblich umfangreicher ist als der von Aura und daher der Vergleich unfair war.

Dass die Tests bei den ZF2-Paketen nicht mitgeliefert werden war eine Entscheidung, die man zugunsten geringer Dateigrößen gefällt hat. Tests liegen separat in GitHub bereit. Nate Abele hält diese Entscheidung wiederum für zweifelhaft und sie sei ein Armutszeugnis für den Zustand der Good Practice in der PHP Community.

Ralph Schindler schlichtet hier und meint, dass man Code zweigleisig verbreiten sollte:

[…] development code and consumption of code should exist in two separate channels. The consumption channel should be driven primarily by ease of use (one click installer); whereas the development channel should exist in such a way that fosters conformity in development process.

Der Rest der Debatte verliert sich in der Bedeutung von Continuous Integration für die Zusammenstellung der PHP-Pakete. Diese Diskussion könnt Ihr unter Paul Jones‘ Blog-Artikel weiter verfolgen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -