RkBlog

Hardware, programming and astronomy tutorials and reviews.

Wprowadzenie do Pylons

Opis frameworka www Pylons, jego zalet i wad.

Pylons to elastyczy i funkcjonalny framework bazujący na wzorcu MVC i standardzie WSGI co ogólnie jest standardowym sposobem porozumiewania się serwerów-aplikacji napisanych w pythonie z innymi serwerami (PEP 333). Pylons stawia właśnie na szeroko przyjęte standardy, elastyczność i funkcjonalność. Poniższy graf przedstawia strukturę frameworka:
Paste to zbiór komponentów umożliwiających łatwe i dynamiczne generowanie aplikacji. Paste implementuje WSGI co daje nam możliwość porozumiewania się z innymi serwerami z pomocą protokołów FastCGI czy SCGI lub też obsługiwanie Middleware - aplikacji WSGI, przez które przechodzi żądanie pobrania danej strony. Middleware może wpływać na efekt jaki żądanie wywoła (np. przeźroczysta dla kodu aplikacji obsługa stron błędów). Dodatkowo Pylons dla błędów aplikacji wykorzystuje poręczny debugger korzystający z DHTML.

Pozostałe komponenty to:

Routes

bardzo funkcjonalny maper adresów URL z kontrolerami. Umożliwia tworzenie prostych reguł określających jaka akcja ma być podjęta przy pojawieniu się określonego URLa. Routes obsługuje również subdomeny (tzn. nazwa subdomeny też jest "zmienną" dostępną przy tworzeniu reguł).

Myghty

Dobrze wykonany i skalowalny system szablonów, który nie wymyśla własnej składni a pozwala wykorzystywać kod Pythona. Obsługuje również m.in. keszowanie i dziedziczenie szablonów.

SQLAlchemy

Nie jest dostarczana wraz z frameworkiem lecz zastosowanie tego ORMa do pracy z bazami danych w aplikacjach jest zalecane. Jest do wysokiej jakości aplikacja umożliwiająca efektywną pracę z różnymi bazami danych.

Pylons opiera się na wzorcu projektowym MVC - model z kodem operującym na bazie danych, widoku czyli szablonie określającym wygląd strony oraz kontrolerze, który to wszystko spina. Daje to w efekcie czysty i łatwy do zarządzania kod. Lecz to jeszcze nie koniec. WebHelpers to zbiór pomocnych funkcji i klas ułatwiających tworzenie odnośników (zmieniających się wraz ze zmianą reguł Routes!), formularzy, czy też obsługę Ajaxa i innych efektów oferowanych przez prototype.js i scriptaculous, a FormEncode zapewnie walidację wspomnianych formularzy.
RkBlog

Pylons, 14 July 2008,

Comment article