Pylons пројекат

Pylons пројекат
Веб-адресаwww.pylonsproject.org
КомерцијалностНе
Тип
Пајтон Фрејмворк Веб Аликације Развој софтвера
РегистрацијаНема
Доступан наЕнглески
ВласникОтворни код
Покренут27. 12. 2010.
Тренутни статусАктиван

Pylons Пројекат је пројекат отвореног кода који доноси сет фрејмворкова веб апликација написаних у Пајтону. Иницијално пројекат је био мало више него један веб фрејмворк али са спајачем repoze.bfg фрејмворком под новим именом Pyramid, Pylons пројекат сада се састоји из вишеструких фрејмворкова веб апликација.

Pylons Фрејмворк

[уреди | уреди извор]
Pylons Фрејмворк
Програмер(и)Бен Бангерт, Џејмс Гарднер
Прво издање09.2005.[1]
Стабилно издање
1.0.2[2] / 21.07.2015.
Написан уПајтон
Оперативни системCross-platform
ТипФрејмворк Веб Аликације
ЛиценцаBSD licence
Веб-сајтwww.pylonsproject.org/projects/pylons-framework/about

Pylons Фрејмворк је фрејмворк веб апликације отвореног кода написан у Пајтону. Чини вишеструку корист од WSGI стандарда да промовише могућност поновног коришћења и да раздвоји функционалност у посебне модуле.[3] Јак утицај је имао од Ruby on Rails: двеју његових компоненти, Routes и WebHelpers, су Пајтон реимплементације Rails могућности.

Структура

[уреди | уреди извор]

Pylons је познат по томе што има скоро-потпуну гомилу алатки трећих лица, избегавајући "није-осмишљено-овде" феномен.

Инсталација, зависности, и поставка

[уреди | уреди извор]

Званични метод инсталације Pylons-а је кроз EasyInstall преко Python Package Index (pypi), и већина додатних алатки је типично инсталирано на исти начин. EasyInstall такође сноси зависност пакета када је то потребно. Неке дистрибуције такође могу садржати Pylons и Paste, али је врло могуће да би било који дистрибуцијски пакет имао недостатак званичне дистрибуције. Pylons може такође бити инсталиран ручно преименовањем његовог .egg фајла у .zip и вађењем садржаја.

Paste се користи за поставку пројекта, тестирање, и распоређивање. Коришћењем честог INI конфигурационог формата, Paste дозвољава за вишеструке "профиле", тако да програмери могу покретати поставку развоја и распоређивања из исте базе кода без приказивања осетљивих делова Pylons-а, као што је интерактивни дебагер, продукцијским корисницима.

URL депеша

[уреди | уреди извор]

Тренутно једини најкоришћенији URL диспечер за Pylons је Routes, Пајтон реимплементација Ruby on Rails URL отпреме, иако било који WSGI-компатибилни URL диспечер може бити коришћен. Док је Routes одвојена библиотека, она је програмирана за корист у Pylons-у и његов развој остаје уско близак са Pylons-ом.

HTML генерација

[уреди | уреди извор]

Још један део Rails који се прилагодио за Pylons је WebHelpers, који обезбеђује URL мапирање базирано на Routes конфигурацији. WebHelpers такође обезбеђује неке функционалности за генерисање JavaScript кода чинећи корист од script.aculo.us и Prototype библиотека.

FormEncode и FormBuild су коришћени за HTML форме валидација и генерација; било је неко коришћење Mako-а за форме генерација коришћењем модела наслеђа Mako-а.

Шаблонирање

[уреди | уреди извор]

Myghty је био подразумевани језик шаблонирања Pylons-а, али од верзије 0.9.6 он је замењен са Mako-ом.[4] Оба језика шаблонирања су текстуална (у супротности са XML-типом), и подршка укључује, наслеђе и уградњу произвољног Пајтон кода.

Због лабабих слојева Pylons-а, други језици шаблонирања могу бити коришћени. Genshi, XML-базирани језик шаблонирања, може бити коришћен у lieu од или Mako-а или Myghty.[5]

База података апстракције и објектно-релационо мапирање

[уреди | уреди извор]

Pylons нема подразумевану библиотеку базе података. Оба SQLObject и SQLAlchemy су коришћени.

Спајач са repoze.bfg и рођење Pyramid Веб Фрејмворка

[уреди | уреди извор]

Pylons се развио у Pylons Пројекат, и стари код из Pylons-а 1.0 ће бити подржан на неограничено време. Какогод, у складу са спајачем пројекта са repoze.bfg од новембра 2010., нове верзије Pylons-а су заправо различите од оригиналног Pylons-а 1.0. Pylons програмери су у почетку планирали да напишу поново неке делове кода, али су превидели да се нови код приближавао до repoze.bfg, што је одвело спајача Pylons-а и repoze.bfg.[6][7] Ово је учинило да repoze.bfg (део Repoze Пајтон-базирани веб фрејмворк) постане поново направљен и избачен као Pyramid веб фрејмворк.[8]

Pyramid
Лого
Лого
Програмер(и)Крис МекДоноу, Бен Бангерт
Прво издање08.07.2008.
Стабилно издање
1.5.7 / 28.04.2015.
Прелиминарно издање
1.6a2
Написан уПајтон
Оперативни системCross-platform
ТипФрејмворк Веб Аликације
ЛиценцаBSD licence
Веб-сајтwww.pylonsproject.org/projects/pyramid/about

Pyramid је веб фрејмворк отвореног кода написан у Пајтону и базиран је на WSGI. Минималистичан је веб фрејмворк инспирисан од Zope-а, Pylons-а и Django-а.[9]

Оригинално назван "repoze.bfg", Pyramid је прикупио пажњу највише у Zope-у[10] и Plone заједници као Фонд за отворено друштво KARL пројекта који је мигрирао са Plone на BFG.[11] Током 2010. најављено је да ће Pylons фрејмворк бити премештен на коришћење BFG као основу у верзији 1.5.[12] Као резултат укључења BFG у Pylons пројекат, BFG је преименован у Pyramid.[13]

Могућност

[уреди | уреди извор]

Pyramid је минималистични, платформски-зависни MVC веб фрејмворк објављивања објекта. Интегрисана је и са SQL базама података преко SQLAlchemy, али такође има интеграцију са Zope Базом Података Објекта и осталим NoSQL базама података, као што је CouchDB.[9]

Pyramid такође дозвољава да дефинишете путање које узимају регуларне изразе које мапирају у објекте, као већина других фрејмворкова. Као његов пријатељски фрејмворк Zope, Pyramid такође дозвољава траверсал хијерархијског објекта, где је сваки део URL-а објекат који садржи друге објекте, у виду сличном фолдерима.[14]

  • Comparison of web application frameworks
  • Zope: још један Пајтон фрејмворк веб апликације развојни пројекат
  • TurboGears: деривативни пројекат, направљен на врху Pylons-а
  • Django: Пајтон фрејмворк веб апликације

Референце

[уреди | уреди извор]
  1. ^ „History of Pylons”. Архивирано из оригинала 18. 05. 2012. г. Приступљено 15. 11. 2015. 
  2. ^ Pylons Changelog
  3. ^ The mod_wsgi project includes both Pylons and Pyramid in its list of supported major Python web frameworks.
  4. ^ Haas, Christoph Beginning Pylons Архивирано на сајту Wayback Machine (16. фебруар 2009).
  5. ^ Genshi Wiki Pylons with Genshi Retrieved July 5, 2007
  6. ^ Pylons Project FAQ.
  7. ^ Notes on the Pylons and repoze.bfg merger.
  8. ^ About Pyramid.
  9. ^ а б McDonough, Chris. „repoze.bfg introduction”. Архивирано из оригинала 30. 12. 2013. г. Приступљено 21. 9. 2010. 
  10. ^ Poster, Gary (17. 9. 2010). „Zope Summit, DZUG, repoze.bfg”. Приступљено 21. 9. 2010. 
  11. ^ Thomas Moroz, Chris Rossi & Calvin Hendryx-Parker (28. 10. 2009). KARL - large-scale Knowledge Management. Budapest, Hungary: Plone Conference 2009. Архивирано из оригинала 02. 06. 2010. г. Приступљено 23. 9. 2010. 
  12. ^ Bangert, Ben (18. 9. 2010). „Emails explaining the Pylons 2 structure”. Архивирано из оригинала 01. 04. 2022. г. Приступљено 21. 9. 2010. 
  13. ^ „repoze.bfg is now Pyramid”. Архивирано из оригинала 13. 11. 2010. г. Приступљено 3. 1. 2011. 
  14. ^ Wichert Akkerman (28. 10. 2009). Lessons from other frameworks. Budapest, Hungary: Plone Conference 2009. Корисна информација се налази на: 25:50. Архивирано из оригинала 18. 04. 2013. г. Приступљено 21. 9. 2010. 

Литература

[уреди | уреди извор]

Спољашње везе

[уреди | уреди извор]

Пакети коришћени у подразумеваним Pylons инсталацијама, или популарним додацима

[уреди | уреди извор]
  • Mako - Подразумевано шаблонирање за Pylons
  • Myghty - URL Депеша, Контролери, Кешовање, Шаблонирање и више
  • Python Paste Архивирано на сајту Wayback Machine (23. јул 2012) - Поставка пројекта, тестирање, и распоређивање
  • WebOb - Објекти Захтева и Одговора
  • EasyInstall - Зависности инсталације и пакета
  • Routes - Имплементација путања базирана на Rails путањама
  • FormEncode - Валидација и форма генерације
  • WebHelpers - HTML Помоћник функције
  • SQLAlchemy - Објектно Релационо Мапирање