Die vielfältigen Funktionen dieser beiden Frameworks konnten natürlich nur angedeutet werden, aber die wichtigsten Aspekte dürften zur Sprache gekommen sein. Die meisten Coldfusion-Entwickler werden sich nun die Frage stellen, für welches der beiden Frameworks sie sich entscheiden sollen.
Die Antwort hängt vor allem vom eigenen Programmierstil sowie den OOP-Kenntnissen ab. In vielerlei Hinsicht ähneln sich Fusebox und Mach-II. Sie bringen beide einen Satz an so genannte Core Files mit, welche das jeweilige Framework implementieren. Beide verwenden XML, um festzulegen, wie eine Anwendung auf Anfragen reagieren soll.
Es gibt allerdings auch Unterschiede: In einer Fusebox-Anwendung wird das XML auf mehrere Dateien aufgeteilt, von denen jede einen so genannten „Circuit“ repräsentiert. In Mach-II steht der gesamte XML-Code in einer zentralen Datei. Daher kann es auch von der eigenen Vorliebe abhängen (manche arbeiten lieber mit einer großen Datei, andere lieber mit mehreren kleinen Dateien), für welches Framework man sich entscheidet. Aber das dürfte nicht der wichtigste Aspekt sein.
Viel wichtiger ist, welche Version von Coldfusion man verwendet. Fusebox funktioniert auch mit Coldfusion 5, während Mach-II Coldfusion MX 6.1 voraussetzt.
Die übrigen Aspekte sind eher subjektiver Natur. Der größte Unterschied ist, dass Mach-II ein gründliches Verständnis objektorientierter Programmierung verlangt (oder zumindest dringend empfiehlt). Das Framework selber ist objektorientiert, Ereignisse, Listener und Plugins sind alle als CFCs implementiert. Auch das Geschäftsmodell besteht aus CFCs. Häufig findet man Mach-II-Entwickler, die sich in Mailinglisten über Design Pattern, Kopplung und Kohäsion austauschen. Dies sind OO-Prinzipien, mit denen man sich eine Zeit lang beschäftigen muss, um sie zu verstehen, und noch länger, bis sie in Fleisch und Blut übergegangen sind.
Ganz anders Fusebox. Das Framework ist prozedural. Die Anwendungslogik kann gänzlich ohne CFCs geschrieben werden. Ein Fusebox-Entwickler braucht nichts über Vererbung oder Polymorphismus zu wissen, um eine Anwendung zu erstellen. Man kann allerdings auch in Fusebox die komplette Anwendungslogik mit CFCs schreiben. Fusebox überlässt dem Entwickler die Entscheidung, wie weit er CFCs und objektorientierte Prinzipien nutzen will. Der Nachteil von Fusebox, wenn man sich für diesen Weg entscheidet, ist, dass man sehr gewissenhaft vorgehen muss, denn das Framework erzwingt eine solche Art der Entwicklung nicht in dem Maße wie Mach-II.
Mach-II erzwingt auch die Verwendung des MVC-Pattern (Model-View-Controller). Dieser Ansatz trennt den Controller (das Mach-II-Framework) strikt vom Model (die Listener und weitere CFCs der Geschäftslogik) und der View (den Anzeigenvorlagen). Im Unterschied dazu überlässt Fusebox diese Entscheidung dem Entwickler. Es ist möglich (und häufig empfehlenswert), mit Fusebox MVC-Anwendungen zu schreiben, aber es ist nicht zwingend erforderlich.
Wie man sieht, dürften diejenigen Entwickler, die OO-Anwendungen mit einem MVC-Ansatz erstellen wollen, sich eher für Mach-II entscheiden. Entwickler, die prozedurale Anwendungen programmieren, werden wahrscheinlich Fusebox bevorzugen. Um es noch einmal zu sagen: Auch Fusebox unterstützt OO-basierte Modelle mit einem MVC-Ansatz, setzt sie aber nicht voraus oder erzwingt sie.
In letzter Zeit kann man allerdings eine interessante Beobachtung machen. Je mehr die Entwickler – sowohl Anwender von Fusebox als auch Mach-II – über gute objektorientierte Programmiertechniken lernen, desto eher werden die beiden Frameworks austauschbar. Wenn ein Entwickler ein wohldurchdachtes Objektmodell mit CFCs geschrieben hat, ist das Ergebnis ein Modell, das gut verkapselt ist und nur begrenztes Wissen darüber hat, welches Framework verwendet wird. Mit einem solchen CFC-Modell wird es relativ einfach, das Modell unter beiden Frameworks laufen zu lassen.
Objektorientierung oder prozeduraler Ansatz?
Wer mit OOP vertraut ist oder Interesse hat, es zu lernen, sollte vielleicht zu Mach-II greifen. Wer größere Flexibilität bei der Wahl von OOP oder MVC wünscht oder einen mehr prozeduralen Ansatz wählen will, der wird mit Fusebox besser bedient sein.
Neueste Kommentare
Noch keine Kommentare zu Mach-II oder Fusebox 4.1 für Coldfusion MX
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.