Catalyst (programvare)

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk

Catalyst er åpen kildekode, et Webapplikasjonsrammeverk skrevet i Perl, som følger Model-view-controller (MVC) arkitekturen, og støtter en rekke nye konsepter for web-utvikling. Catalyst er sterkt inspirert av rammeverk som Ruby on Rails, Maypole, og Spring.

Catalyst er hovedsakelig distribuert gjennom CPAN, som er den offisielle distribusjonskanalen for Perl-moduler.

Filosofi[rediger | rediger kilde]

Catalyst er basert på «Don't Repeat Yourself» (DRY)-prinsippet, som betyr at du skal bare trenge å definere ting et sted.

Catalyst kan brukes med automatisk kodegenerering fra databasen gjennom en av mange «loader»-moduler, og trenger på den måte ingen kode for databaselaget. Hvis du krever fleksibiliteten til å gjøre alt manuelt, støtter Catalyst også dette. Fleksibilitet er et annet styrende prinsipp for Catalyst.

Catalyst oppfordrer til gjenbruk av eksisterende Perl-moduler som allerede håndterer vanlige situasjoner for web-utvikling godt.

  • Modell-delen håndteres via DBIx::Class, Plucene, Net::LDAP og andre modellklasser.
  • Visning-laget håndteres vanligvis av Template Toolkit, Mason, eller HTML::Template.
  • Flyt (Controller) laget skrives selvsagt av applikasjonsutvikleren. Mye av denne funksjonaliteten kan enkelt implementeres gjennom bruk av en av Catalysts «Plugins» (f.eks. Catalyst::Plugin::FormValidator, Catalyst::Plugin::Prototype eller Catalyst::Plugin::Account::AutoDiscovery).
  • Catalyst tilbyr også et sett med script for å genere kode-maler enkelt.


Catalyst har et stort utvalg plugins. For eksempel Ajax og RIA støttes gjennom Catalyst::Plugin::Prototype-modulen (Prototype er et javascriptbibliotek).

Støtte for Web-tjenere[rediger | rediger kilde]

Catalyst tilbyr en enkel web-tjener innebygd, som kan brukes til testing og utvikling. Til produksjonsbruk anbefales Apache eller lighttpd med FastCGI eller mod_perl støtte, men Catalyst virker med alle servere som støtter CGI eller FastCGI. mod_perl kan hjelpe betraktelig på ytelsen under apache, men kan føre til problemer med å kjøre flere applikasjoner i samme web-tjener.

Database-støtte[rediger | rediger kilde]

Catalyst kan bruke alle databaser som støttes av Perls DBI (Det betyr det meste, selv en CSV-fil), men det anbefales å bruke en RDBMS som lagring for databaser. Tilgangen til databasen er nesten helt abstrahert fra et utviklersynspunkt, og Catalyst håndterer database-tilgangen transparent gjennom bruk av sine modell-klasser. Om du trenger det kan du likevel utføre direkte SQL spørringer. Dette betyr at du kan utvikle database-nøytrale løsninger, som lett kan flyttes til en annen database, og gjør det lett å bruke en eksisterende database med Catalyst , selv om dette til en viss grad kommer an på støttede funksjoner i databasen. Flere databaser er fullt støttet, bla. MySQL, PostgreSQL, SQLite, IBM DB2, Oracle og Microsoft SQL Server.

Nettsteder som bruker Catalyst[rediger | rediger kilde]

Åpen kildekode bygget med Catalyst[rediger | rediger kilde]

Eksterne lenker[rediger | rediger kilde]