Catalizator (software)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Catalyst logo3.png

Catalyst este un cadru open source pentru dezvoltarea de aplicații web . Este scris în Perl și urmează îndeaproape arhitectura Model-view-controller (MVC). Catalyst acceptă o varietate de modele web experimentale și este inspirat din alte cadre precum Ruby On Rails , Maypole și Spring .

Principalul canal de distribuție al Catalyst este, la fel ca majoritatea software-urilor dezvoltate în Perl, CPAN .

Filozofie

Catalyst se bazează pe principiul DRY ( nu vă repetați ), ceea ce înseamnă că fiecare definiție din codul dvs. trebuie specificată o singură dată .

Catalyst, de exemplu prin intermediul încărcătorului DBIx :: Class , poate genera automat clasele de modele din baza de date, făcând astfel inutilă scrierea vreunui cod la nivelul bazei de date. Cu toate acestea, oferă și opțiunea de a o face manual, dacă flexibilitatea maximă este ceea ce căutați. Acest concept se aplică nu numai bazei de date, ci și multor aspecte ale Catalyst: un alt principiu al Catalyst este flexibilitatea .

  • Partea referitoare la model (Model) este rulată prin DBIx :: Class, Plucene, Net :: LDAP și alte clase de model.
  • Stratul de vizualizare (Vizualizare) este de obicei gestionat de Template Toolkit , Mason sau HTML :: Template.
  • Stratul Controller , desigur, este scris de autorul aplicației respective. Porțiuni mari ale funcționalității controlerului pot fi delegate de obicei unuia dintre multele plugin-uri Catalyst (de ex. Catalyst :: Plugin :: HTML :: Widget, Catalyst :: Plugin :: Prototype) etc.) sau moștenite de la controlerele de bază (de ex. Catalyst :: Controller :: FormBuilder).
  • În cele din urmă, Catalyst oferă un set de facilități care simplifică foarte mult controlul fluxului și maparea adreselor URL la metodele controlerului (acțiunile). Un exemplu notabil în acest sens sunt acțiunile înlănțuite .

Catalyst are o selecție bogată de pluginuri . De exemplu, există generarea de cod JavaScript pentru AJAX și RIA ( aplicație Rich Internet ) datorită modulului Catalyst :: Plugin :: Prototype.

Suport de la servere web

Pentru dezvoltare și testare, Catalyst are un server HTTP simplu inclus în distribuție. Pentru utilizare într-un mediu de producție, se recomandă Apache sau lighttpd cu suport FastCGI sau mod perl , dar orice server web cu suport CGI (mai lent) sau FastCGI va funcționa. Pe Apache, mod_perl poate crește semnificativ performanța, deși utilizarea acestuia poate crea probleme, deoarece este posibil să nu fie sigur să partajați memoria mai multor aplicații sub mod_perl.

Suport pentru baze de date

Catalyst poate interfața cu orice bază de date acceptată de interfața DBI a Perl (adică practic toate, chiar și fișierele CSV ); cu toate acestea, se recomandă utilizarea unui RDBMS bun. Accesul la baza de date este, din punctul de vedere al programatorului, complet abstract, iar Catalyst (datorită claselor de modele) gestionează automat accesul la toate bazele de date - în orice caz, dacă este necesar, puteți utiliza oricând interogări SQL direct. Acest lucru înseamnă că obțineți neutralitatea bazei de date, portabilitatea aplicației pe mai multe sisteme de baze de date și capacitatea de a utiliza baze de date vechi cât mai mult posibil pentru dezvoltarea aplicațiilor Catalyst. Sunt acceptate multe RDBMS diferite, inclusiv MySQL , PostgreSQL , SQLite , IBM DB2 , Oracle și Microsoft SQL Server .

Principalele site-uri web construite cu Catalyst

  • BBC iPlayer - Noua versiune a popularului serviciu BBC (cu vârfuri de 130 de milioane de programe difuzate pe lună) pentru distribuția în flux a programelor de radio și televiziune produse chiar de BBC .
  • Youporn - Cel mai popular site pornografic din lume, cu câteva sute de milioane de pagini difuzate în fiecare zi.
  • Rambler - Unul dintre cele trei portaluri principale din Rusia.
  • Opera mea - Rețea socială cu peste 5 milioane de abonați.
  • Magazines.com - Cel mai mare serviciu online pentru vânzarea de abonamente la reviste.
  • Picturetrail - Serviciu online de partajare și găzduire a fotografiilor.
  • TAKKLE - Rețea socială populară dedicată sportului în colegiile și liceele americane.
  • Quibblo - Teste și sondaje online.
  • iusethis - Site pe software bazat pe un model de utilizare.
  • MightyV - Site premiat care listează programe TV pentru BBC.
  • Vox - Platforma de bloguri sociale .
  • EditGrid - foaie de calcul bazată pe web.
  • Evening News - Site-ul web al celui mai popular ziar local din Marea Britanie (în afara Londrei ).

Proiecte open source scrise cu Catalyst

linkuri externe

Internet Portal internet : accesați intrările Wikipedia care se ocupă de internet