• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

Zend Framework oder nicht?

Zend Framework oder alternative

  • Zend Framework

    Votes: 7 36.8%
  • Alternative

    Votes: 4 21.1%
  • keins

    Votes: 8 42.1%

  • Total voters
    19

Jammy

New Member
Hallo,

Mich würde mal Interessieren ob ihr für Große Projekte das Zend Framework nutzt oder alternativen.
 
Wer sich bei grösseren Projekten von externen Frameworks abhängig macht, kann das Projekt bereits in der Planungsphase einstampfen. Externe Frameworks stinken, denn man muss langfristig immer mehr Workarounds für die Unzulänglichkeiten des externen Frameworks basteln und kommt kaum noch dazu eigenen Code zu entwickeln. Eigenen Code muss man nur anpassen oder erweitern, externen Code muss man nehmen wie er ist.

Für Wegwerf-Projekte sind externe Frameworks ganz nett, aber für ernsthafte Projekte sind sie ein No-Go.
 
Ich teile hier die Meinung von Joe nicht.
Auch in großen Projekten, gerade mit hohem Personal-Aufwand, ist ein externes Framework gut geeignet. Die klare Trennung zwischen Framework (seiner Funktionsweise, Aufbau und Nutzen), helfen dabei "Eigenentwicklungen" oder "Eigenbrödelei" entgegen zu wirken. Wie oft kam es bei mir schon in selbstgestrickten Projekten vor, das ein anderer Entwickler eine Funktion im Framework erweitern wollte ohne alle anderen abhängigen Stellen raus zu suchen und zu testen. Hier sind bei mehreren gleichzeitigen Entwicklern die Problematik vorprogrammiert.

Vorteile des ZF gegen andere Frameworks: Das ZF ist beharrlich moderat und Update freundlich.
Falls wirklich ein Workaround gebraucht wird kann jede Klasse schnell überschrieben werden ohne das andere Module das selbe Erbe teilen müssen.
Das mitgelieferte Unit-Testing-Framework ist sehr Hilfreich um fehlerhafte Auswirkungen von solchen Änderungen abzufangen. Man muss es nur einsetzten. ;)

huschi.
 
HiHo,

Erstmal Danke für eure Antworten.
Also im Grunde Arbeite ich alleine an den Projekten. Das währen zurzeit IRC Webinterfaces (Anope und Orion Services komplett aus dem Browser verwaltbar) und ein Hosting Panel.

Sind zurzeit nur 2 Projekte, aber die aussmassen des Codes und die Anzahl der Datein ist jetzt schon ziemlich Groß.
Das Hosting Panel welches dazu dienen soll Bestellungen entgegenzunehmen, Serienrechnungen zu schreiben und VServer zu verwalten hat bereits jetzt eine Größe von 6MB und knapp 700 Files.

Wie lange dauert die einarbeitungszeit in das ZF?
Habt ihr da Erfahrungen?
 
Wenn ich ein Framework benutze dann FLOW3.

Es ist zwar noch Alpha, die Beta kommt jetzt die Tage es läuft aber dennoch sehr stabil bei mir und ist bereits jetzt extrem mächtig. Außerdem bietet es einige schöne Funktionen wie z.B. Caching usw.

http://flow3.typo3.org/
 
Ich habe bisher immer CodeIgniter genutzt und bin dabei mir Yii näher anzusehen.

Ich bin ein Fan von Frameworks, da es viel Arbeit abnimmt und bereits einiges an KnowHow drin steckt, das ich für mich nutzen kann.

Zend ist mir zu gross, schwer und überladen. Ich kenne es allerdings nicht näher.

Meine Empfehlung: Schau dich auf dem Framework-Markt um und wähle eines mit aktivem Support und entsprechender Entwicklung. Eintagsfliegen sind für Entwicklungen auf Frameworkbasis nicht gut.
 
Wie lange dauert die einarbeitungszeit in das ZF?
Wenn Du mit dem MVC-Konzept bereits vertraut bist und ein richtiges Buch dazu in der Hand hältst, kannst Du wahrscheinlich schon nach 2-3 Tagen anfangen die Controler-Struktur auf zu bauen.
Mit Internet-Tutorials komme ich i.d.R. nicht besonders schnell voran. Entweder weil es nicht getestet wurde, die Tuts zu alt sind, oder oder oder...

Aber solche Einarbeitungszeiten erwarten Dich bei jedem Framework.
Denke daran, dass man beim ersten Projekt dieser Art häufig einige (Struktur-)Fehler macht. Entweder man lebt danach damit oder behebt die mit etwas Mehrarbeit wieder.

huschi.
 
Wie von Joe User und Huschi schon andiskutiert sind Frameworks eine ambivalente Geschichte. Ob ich ein Framework einsetze, entscheide ich von Projekt zu Projekt. Das von mir am häufigsten genutzte Framework ist (weitgehend) zu ISO/IEC 9899:1999 kompatibel :D Bei Frameworks, die eine bestimmte Norm implementieren (es gibt noch weitere) oder zumindest einem definierten Standard folgen (z. B. JSP, JSF & Co), ist die API meist sehr stabil und daher auch für längerfristige Projekte gut nutzbar.

Die ganzen Mode-Frameworks aus der RAD-Ecke (RoR, Django, Pylons, CodeIgniter, Symfony, Catalyst & Co) hingegen sind mir zu volatil, um für mehr als nur Fire&Forget-Projekte zu taugen. Das heißt nicht, dass sie schlecht sind - aber gerade im kommerziellen Umfeld wäre ich sehr vorsichtig, einem Kunden 10 Jahre Support bei einem dieser Frameworks vertraglich zuzusichern.

Irgendwo dazwischen stehen dann Frameworks wie Zend, Struts, etc., die schon über einen langen Zeitraum entwickelt werden und in ihrer Grundstruktur seit längerem weitgehend stabil sind, ein stabiles Fundament (sprich: einen solventen Sponsor) haben und mit einigermaßen großer Sicherheit auch über die nächsten Jahre noch exisiteren werden.

So, die eigentliche Frage ist immer noch nicht richtig beantwortet, aber ein eindeutiges Ja oder Nein geht halt nicht - es hängt vom Projekt ab.

P. S. Zend setze ich aber aus Prinzip nicht ein - PHP ist halt nicht meine Programmiersprache...
 
Ich habe mich seinerzeit etwa 3 Monate intensiv in das Zend Framework eingearbeitet und danach weitere 9 Monate ausschließlich damit meine Projekte erledigt. Ab dem Moment des mentalen "Klicks", dem tatsächlichen Verständnis der zu Grunde liegenden Strukturen, war die Arbeit damit das pure Vergnügen und ich würde nie wieder zu einer herkömmlichen PHP Entwicklung greifen.

2009 war ich dann an dem Punkt, wo mir das Data-Modelling des ZF (dies wurde damals im Wesentlichen dem Benutzer - oder externer SW- überlassen) nicht mehr genügte. Auf der Suche nach Inspirationen zum Thema Content-Repositories (JSR-283) stieß ich auf FLOW3. Weitere 2 Tage später - und sicherlich begünstigt durch meine Aktivitäten mit ZF - hatte ich eine kleine Anwendung mit FLOW3 erstellt und war nur noch begeistert.

Heute arbeite ich mit beiden Frameworks und entscheide projektabhängig, welches ich wähle. Durch die geniale Struktur der ZF Bausteine, die eine Nutzung auch außerhalb des Frameworks gestatten, spricht auch nichts gegen Projekte mit ZF und FLOW3 gemeinsam (z.B. Apache Zend Search Lucene, integriert in TYPO3 als Ersatz zum Performance Killer "Indexed Search").

Wie würde ich beide Frameworks unterscheiden? Mit dem ZF habe ich Bausteine, die ich zu einer beliebigen Application verknüpfen kann - und muß. Der letzte Punkt ist wichtig. Out of the Box geht erst mal gar nichts. Erst wenn man Zend Application, Layout, ACL etc.etc. sinnvoll verknüpft hat, hat man einen Rahmen, um mit der eigentlichen Applikation zu beginnen. Dies ist bei FLOW3 anders. Wenn ich will, so habe ich direkt bei Projektbeginn bereits eine fertige Oberfläche. Diese ist zwar dann nicht ganz so flexibel wie eine, die ich mit dem ZF (individuell) erstellt hätte, aber in 99% der Projekte spielt dies eben keine Rolle.
Liegt heute der Schwerpunkt eines Projekt auf Content-Delivery, so würde ich FLOW3 nehmen. Für alles andere vielleicht eher ZF. Oder eben beides :)

Die Nutzung von Frameworks birgt m.E. nur ein Risiko. Wenn man auf's falsche Pferd setzt - und ein Framework, mit dem man seit Jahren arbeitet, im Orkus der Geschichte verschwindet. Und genau dies ist sicher weder bei ZF noch bei FLOW3 zu erwarten.

Kritiker von Frameworks übersehen zumeist drei wesentliche Dinge.

1. Sie nutzen zwar kein Framework, haben aber natürlich ihre eigenen, selbst entwickelten Bausteine, die sie seit Jahren pflegen - im Sinne ihres eigenen, kleinen local Frameworks. Die Frage ist jetzt natürlich, welche Qualität der Baustein eines Entwicklers (oder gern auch einer begrenzten Gruppe) im Vergleich zur Qualität eines Bausteins eines Frameworks hat, an welchem große Gruppen von Top Spezialisten mitgewirkt haben.

2. Es gehört eine gehörige Portion Masochismus dazu, grundlegende Dinge, wie ACL, Layoutgenerator etc. selbst zu schreiben, um sich dann erst der eigentlichen Aufgabe widmen zu können. So werden 1000de schlechte Räder jeden Tag neu erfunden, obwohl es bessere Räder für lau zum mitnehmen gibt.

3. Sie kennen oft überhaupt keine Frameworks - und setzen diesen Zustand in ein "die taugen alle nix" um. Wenn sie ein Haus bauen wollten, so würden sie zuerst Formen zur Anfertigung der Lehmziegel herstellen, im Hintergrund eine geeignete Rezeptur für Zement erstellen und Jahre nach dem Ableben des Auftraggebers schließlich Richtfest feiern. Dies ist ein falsches Verständnis von Evolution.

Ich kann den Griff zu einem (geeigneten) Framework nur wärmstens empfehlen.

Beste Grüße,

Thomas
 
Vielen Dank für diesen umfassenden Beitrag. Ich kann vieles davon so unterschreiben. Du hast mich auch etwas neugieriger auf FLOW3 gemacht.

Aber ich würde in Punkt 1 die "Top Spezialisten" gegen "Entwickler" oder gar "Programmierer" tauschen. ;)

@daemotron
Ja gerade die Projektlaufzeit muss bei der Entscheidung beachtet werden.
Dies ist wiederum ein Plus für externe Frameworks in der Diskussion "von der Stange" vs. "Eigenkreation".
Denn bei 10 Jahren Laufzeit können auch die Programmierer mehrfach ausgewechselt werden. Ein Framework von der Stange ist i.d.R. gut dokumentiert und man kann sich schnell darin einarbeiten. Insbesondere da es verschiedene Quellen und Bücher gibt.
Wie gut die Eigenkreationen dokumentiert sind weiß hier wahrscheinlich jeder... :)

huschi.
 
HiHo,

Ich danke euch für eure Ausführlichen Antworten.

Nein ein Buch zu Zend habe ich nicht zur Hand. Lediglich Zend Studio.
Da wird mir wohl nix übrig bleiben als mich durch die Doku zu schlagen, ich hoffe da gibt es auch was Gutes auf Deutsch oder mir mal ein nettes Buch Bestellen.

Mal schauen was es so auf dem Markt gibt,
 
Ich rate zur Vorsicht bei Büchern zum Zend Framework. Ich habe 3 davon gelesen, um dann zu merken, dass es beim ZF einen großen Paradigmenwechsel gegeben hat - und vieles komplett anders angegangen werden sollte.

ZF ist bestens dokumentiert, und das deutschsprachige Forum bietet exzellente Unterstützung - ganz ohne das ansonsten häufig vorhandene Konkurrenzdenken, welches oft gute Information verhindert.

Und @ Huschi: Du hast natürlich vollkommen recht. Es sind "nur" Programmierer. Ich war einmal auf einer ZF Veranstaltung, und habe einiger dieser Menschen kennen gelernt. Das sind schon Top-Leute - mit sehr tiefgreifendem Verständnis von und für MVC und begleitende Architekturen. Die Entwickler sind oft nur in ihrer Nische tätig (z.B. nur Localization) und deshalb häufig auf ihrem Terrain "better than average" - bzw. auf jeden Fall: Better than me.

Aber dafür müssen die sich auch nicht mit irgend welchen dösigen vServern rumschlagen. Hätte ich mal besser was Vernünftiges gelernt :)
 
Hallo,

Ich denke mal in meinem Fall würde jedes halbwegs Gute Buch mich erstmal weiter bringen.
Viel habe ich über Frameworks noch nicht gelesen oder gar damit gearbeitet.
Wollte mir hier erstmal Infos holen ob sich dies überhaupt für meine 2 Projekte oben lohnt da ich seit Jahren mit Dreamweaver arbeite bevor ich mich ans Lesen mache und es nachher hinschmeisse.
 
@daemotron
Ja gerade die Projektlaufzeit muss bei der Entscheidung beachtet werden.
Dies ist wiederum ein Plus für externe Frameworks in der Diskussion "von der Stange" vs. "Eigenkreation".

Moin huschi,

das sollte auch gar kein Argument contra Framework sein, sondern lediglich ein Hinweis darauf, dass man bei der Wahl des richtigen Frameworks eben ein Auge darauf haben muss, wie zukunftsfähig ein Framework ist. Die Familie der RAD-Frameworks für's Web hatte ich angeführt, weil es dort in den letzten Jahren ein wahres Feuerwerk an neuen Projekten gab, und ich gerade auf der Ecke selbst mal böse auf die Nase geflogen bin.

Vor nicht ganz drei Jahren erschien mir TurbGears als prima Grundlage für eine Webapplikation - gut dokumentiert, solide Software im Unterbau und schnelle Ergebnisse. Was dann kam, war weniger schön: TurboGears hat mit Version 2 alles über Bord geworfen, vom ORM über Templates und Controller wurde alles "neu" gemacht - mit dem Ergebnis, dass eine Portierung von 1.x zu 2.x einer Neuentwicklung der Anwendung gleichkommt. Nebenher wurde TurboGears auch von anderen Frameworks deutlich überholt, was den Verbreitungsgrad anbelangt, mit dem Ergebnis, dass einige Entwickler zu anderen Projekten abgewandert sind.

Seit diesen Erfahrungen bin ich bei Frameworks ziemlich wählerisch geworden. Vorzugsweise verwende ich seither keine Full Application Stack Frameworks mehr, sondern setzte mir den App Stack aus einzelnen Komponenten zusammen, die für sich schon lange stabil entwickelt werden; bei Python beispielsweise CherryPy, Genshi und SQLAlchemy.
 
Ich denke mal in meinem Fall würde jedes halbwegs Gute Buch mich erstmal weiter bringen.

Achte bei der Wahl eines Buches darauf, das es jünger ist als Zend Framework 1.6. Mit der Release gab es die m.E. größten Umbrüche (i.e. Einführung von Zend_Application).

Ich denke, das Buch von Ralf Eggert könnte ganz nützlich sein. Ach ja, und erwarte nicht zu viele Gemeinsamkeiten mit "Dreamweaver" *g*
 
<Moderation>
Die letzten 4 Smalltalk-Beiträge wurden wegen "Thread-Verunreinigung" gelöscht.
</Moderation>

huschi.
 
Back
Top