Catalyst (programvare)
Fra Wikipedia, den frie encyklopedi
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 bibloteker.
Innhold |
[rediger] Filosofi
Catalyst er basert på «Don't Repeat Yourself» (DRY)-prinsippet, som involverer 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 funksjonaliten 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 javascript bibliotek).
[rediger] Støtte for Web-tjenere
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.
[rediger] Database-støtte
Catalyst kan bruke alle databaser som støttes av Perl's 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 alikevel 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 ann på støttede funksjoner i databasen. Flere databaser er fullt støttet, bla. MySQL, PostgreSQL, SQLite, IBM DB2, Oracle and Microsoft SQL Server.
[rediger] Nettsteder som bruker Catalyst
- Abcsøk (ABC Startsiden's søkemotor.
- iusethis en software site.
- MightyV - Vinner av en konkuranse fra BBC.
- Vox (blogging platform)]
- EditGrid - Regneark på web.
[rediger] Åpen kildekode bygget med Catalyst
- Agave (software) (blog)
- Angerwhale (blog) hjemmeside for utvikling
- Devel::ebug (en perl debugger) på CPAN
- Handel (programvare) (ehandels-rammeverk) hjemmeside
- Meios
- MojoMojo (wiki)
- Sosa (software)