Catalyst Web Framework

Catalyst Web Framework
Catalyst Web Framework
Catalyst logo3.png
Maintainer Catalyst Developers
Aktuelle Version 5.80031
(31. Januar 2011)
Programmier­sprache Perl
Kategorie Web Application Framework
Lizenz Artistic License und GPL
www.catalystframework.org

Catalyst (englisch für Katalysator) ist ein freies, von Sebastian Riedel und vielen anderen in Perl entwickeltes MVC-Webframework, das dazu dienen soll, anspruchsvolle und leicht veränderbare Webanwendungen schnell zu erstellen. Es lehnt sich an bekannte, ähnliche Frameworks wie Maypole, Ruby on Rails oder Spring an, versteht sich aber als Weiterentwicklung.

Inhaltsverzeichnis

Aufbau

Catalyst ist ein MVC-Framework, das heißt, es werden die drei Schichten Model, View und Controller voneinander getrennt, um die Übersicht zu verbessern und die Wiederverwendbarkeit des erstellten Codes zu erhöhen.

  • Im Modell werden die Zugriffsmöglichkeiten auf verschiedene Datenquellen realisiert, beispielsweise zu Datenbanken (über ORMs wie DBIx::Class, CouchDB, Amazons S3, Memcached), Volltextsuchen (Plucene), Webservices (SOAP, XML-RPC), Netzwerkdiensten (LDAP, Akismet, RSS-Feeds, ...) oder auch lokalen Dateien und Programmen.
  • Im View erfolgt die Formatierung der Daten für ein konkretes Ausgabemedium und eine konkrete Situation. Für die Aufbereitung als (x)HTML stehen beispielsweise Template-Toolkit oder HTML::Template zur Verfügung. Es finden sich auch fertige View-Module für die Ausgabe als RSS-Feed, XML-Daten, JSON sowie zur Erstellung von Grafiken, Barcodes oder Dokumenten.
  • Der Controller implementiert die Programmlogik der Applikation. Catalyst sorgt dafür, dass die richtigen Controller zur angeforderten URL aufgerufen werden.

Weitere wichtige Gestaltungsprinzipien und Fähigkeiten sind:

  • Catalyst ermöglicht es, fast alles in Plugins auszulagern, die während des Betriebes geladen oder entfernt werden können.
  • Die Software bietet Vereinfachungen üblicher Control-Abläufe durch sogenannte Pattern und flexibles URL-Mapping.
  • Catalyst baut auf vielen bewährten Perl-Modulen auf. Es existieren auch viele Werkzeuge und Plugins im CPAN zur freien Verfügung.
  • Das Framework beinhaltet einen kleinen HTTP-Server, so dass bis auf eine Standard-Perl-Installation und Catalyst keine weitere Software benötigt wird, um Webanwendungen mit Catalyst zu entwickeln und zu testen.
  • Die Kombination mit Ajax oder JSON ist ebenfalls möglich.
  • Die Software-Entwicklung fühlt sich dem DRY-Prinzip (don't repeat yourself – wiederhole dich nicht) verpflichtet, einmal getroffene Festlegungen zum Modell beispielsweise müssen bei weiteren Views nicht wiederholt werden sondern werden automatisch wiederverwendet. So wird Entwicklungszeit eingespart.

Entwicklung

Catalyst kann als Weiterentwicklung von Maypole angesehen werden, das eine zeitlang von Sebastian Riedel gepflegt wurde. Sein Drang, es stärker zu überarbeiten als von einem Großteil der Nutzer gewollt war, führte im November 2004 zu einer Spaltung. Am 15. April 2005 erschien mit Catalyst 5.0 die erste öffentliche Version. Seitdem kamen Christian Hansen, Marcus Ramberg (Release Manager) und Jesse Sheidlower als Hauptentwickler dazu. Am 3. Mai 2006 gab Sebastian Riedel seinen Ausstieg bekannt, um ein neues, ähnliches Projekt zu beginnen, daß er später Mojo nannte. Die Entwicklung wird vom verbliebenen Team fortgesetzt, das am 8. Juli 2006 die Version 5.7 veröffentlichte. Aktuell ist die im März 2009 fertiggestellte Version 5.8. Version 5.8 ist eine komplette Überarbeitung aufgrund des Perl-Modules Moose, das eine zukunftsweisende OO-Umsetzung in Perl 5 einführt, die an Perl 6 angelehnt ist.Die API ist weitestgehend abwärtskompatibel. Die Plugins der Version 5.7 funktionieren uneingeschränkt.

Eine geplante Version 6.0 soll dann vollständig in Perl 6 implementiert sein.

Seit etwa 2008 entwickelte sich Catalyst zum meistverwendetsten Perl-Rahmenwerk seiner Art und wird von der Perl Foundation und Enlightened Perl Organisation als zukunftsträchtiger Standard hervorgehoben und gefördert.

Verbreitung

Catalyst ist einsatzbereit und wird bereits für einige große Internetseiten verwendet (Liste im Wiki des Projekts). Auch eine Wiki-Software namens MojoMojo basiert auf Catalyst.

Lizenz

Catalyst ist, wie bei Perl-Projekten üblich, wahlweise unter der GPL oder Artistic License verfügbar.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Catalyst — (englisch für Katalysator) steht für: ein Gerätetreiber Paket für Radeon Grafikkarten, siehe AMD Catalyst ein in Perl geschriebenes MVC Web Framework, siehe Catalyst Web Framework eine Produktbezeichnung für eine Serie von Ethernet Switches der… …   Deutsch Wikipedia

  • Django (web framework) — Django The default Django page Developer(s) Lawrence Jou …   Wikipedia

  • Nitro (web framework) — Nitro Developer(s) George Moschovitis Stable release 0.41 / December 12, 2006; 4 years ago (2006 12 12) Operating system Cross platform …   Wikipedia

  • Nagare (web framework) — Nagare Developer(s) Alain Poirier, Net ng Initial release September, 2008 Stable release Nagare 0.3.0 / December 14, 2010; 9 months ago (2010 12 14) …   Wikipedia

  • Web application framework — A web application framework is a software framework that is designed to support the development of dynamic websites, Web applications and Web services. The framework aims to alleviate the overhead associated with common activities used in Web… …   Wikipedia

  • Catalyst (framework) — Saltar a navegación, búsqueda Catalyst es una estructura de código libre para aplicaciones web escrito en Perl. Soporta la arquitectura MVC, así como soporta algunos patrones web experimentales. Está altamente inspirado en Ruby on Rails, Maypole… …   Wikipedia Español

  • Catalyst (Logiciel) —  Pour l’article homonyme, voir Catalyst .  Catalyst est un framework open source écrit en Perl, qui applique strictement le modèle de conception Modèle Vue Contrôleur (MVC), et qui supporte certains modèles expérimentaux de conception… …   Wikipédia en Français

  • Catalyst (disambiguation) — Catalyst may refer to: Chemistry * Catalyst in chemistry * Catalyst (museum), a hands on science centre and chemical industry museum in Widnes in Cheshire in England [http://www.catalyst.org.uk/index.htm] Music, television and literature *… …   Wikipedia

  • Catalyst (software) — For the ATI graphic driver software, see AMD Catalyst. Original author(s) Sebastian Riedel Stable release 5.90001 / August 15, 2011; 2 months ago (2011 08 15) …   Wikipedia

  • Catalyst (logiciel) —  Pour l’article homonyme, voir Catalyst .  Catalyst est un framework open source écrit en Perl, qui applique strictement le modèle de conception Modèle Vue Contrôleur (MVC), et qui supporte certains modèles expérimentaux de conception… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”