Популярные фреймворки для Python

1024px-Python-logo-notext.svg[1]В процессе выбора веб-фреймворка для разработки сайта есть над чем подумать. В этой статье будут кратко рассмотрены инструментарии, которые делаую работу веб-программиста легче и приятнее.

Django

Django это свободный веб-фреймворк на языке , который является наверно самым популярным веб-фреймворком на . Django следует шаблону программирования MVC (Model-View-Controller). Сайт на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Главное преимуществ Django, отличающие его от своих конкурентов является хорошая документация в том числе и на русском языке.

Django поддерживает работу с основными базами данных — MySQL, PostgreSQL и Oracle. Он предоставляет уровень абстракции, который избавляет от необходимости писать SQL-запросы для получения/сохранения данных в базу данных. Все таблицы, использующиеся сайтом, описываются в виде классов в отдельном файле models.py. Далее при помощи методов этих классов, происходит манипуляция с содержимым таблиц. Таким образом, работа с базой данных становится полностью объектно-ориентированной.

Так же в Django есть встроенный интерфейс администратора, через который в удобной форме можно работать с контентом сайта.

Наверно поэтому он имеет самое крупное сообщество среди веб-фреймворков на Python.

TurboGears

Так же, как и Django, TurboGears был разработан для быстрого создания новостных сайтов. TurboGears это Python веб фреймворк, который состоит из нескольких составляющих компонент, таких как:

  • CherryPy для диспетчеризации url;
  • MochiKit для работы с Javascript;
  • SQLObject для работы с базой данных;
  • Kid для работы с шаблонами.

Из недостатков можно отметит — плохая совместимость 1.x и 2.x версий и не самая хорошая документация.

Pylons

Pylons представляет собой легкий веб-фреймворк который делает упор на гибкость и быстроту разработки. В настоящее время развитие Pylons завершено на версии 1.0 и дальнейшего существенного изменения не планируется.

Pylons один из первых проектов который начал использовать стандарт WSGI и ориентирован на то чтобы сделать веб-разработку быстрой, гибкой и как можно более простой.

Что касается документации, то Pylons ею абсолютно не занимается.

Zope

Zope представляет собой сервер веб-приложений, написанный на Python и предназначенный для создания систем управления контентом, интранет-приложений, порталов и прочих проектов. Zope расшифровывается как «Z Object Publishing Environment» (Среда Публикации Объектов Z). Особенностью Zope является объектно-ориентированность. Все данные представляются в виде компонентов, занимающих определенное место в общей иерархии и хранящихся во встроенной объектной базе данных — ZoBD. И поэтому программирование в Zope сводится к проектированию иерархии компонентов.

Русскоязычной документации по Zope практически нет.

Twisted

Twisted является фрэймворком для написания сетевых приложений на Python. Основывается на парадигме событийно-ориентированного программирования. Пользователь пишет функции обратного вызова, которые затем вызываются фреймворком. Он поддерживает множество протоколов, имеет модули для создания web-серверов, чат-клиентов и серверов, почтовых серверов, ssh-серверов.

Web2py

Бесплатный и с открытым кодом, полноценный фреймворк уровня предприятия для гибкой разработки веб-приложений для доступа к БД. Web2py позволяет создавать и разрабатывать приложения прямо в онлайне. В целом он очень похож на Django.

Webware

Webware для Python представляет собой набор Python пакетов для разработки объектно-ориентированных веб приложений.

CherryPY

CherryPy это объектно-ориентированный HTTP фреймвокр. Он представляет собой надстройку над http-протоколом и может выступать в качестве самостоятельного веб-сервера или работать под управлением другого серверного приложения, поддерживающего протокол WSGI. CherryPy не занимается обработкой шаблонов д, доступ к базе данных и авторизация пользователя.

Porcupine

Porcupine это Python сервер веб-приложений представляющий собой объектно-ориентированный фреймворк для быстрой разработки Богатых Интернет приложений (Rich Internet Applications).

Karrigell

Karrigell это фреймворк для работы с БД в среде Python. Он работает как веб-сервер и база данных Python (PyDbLite), но может работать и с другими базами данных.

Flask

Микро веб-фреймворк на языке Python построеный на Werkzeug и Jinja2

Bottle

Ещё один быстрый и простой микро веб-фреймворк для Python.

Pysi

Как пишет автор фреймворка: Pysi — это фреймворк «для себя». Если кодите на заказ, увидите лишь «ещё один фреймворк».
Основное качество pysi — производительность.
Второе по важности — простота.

Запись навигация

Top