Поради щодо вибору Python фреймворку

Python є прекрасним та не дуже складним у вивченні мовою програмування. Якщо ви веб-розробник, якому необхідно створити сайт, рекомендую придивитися до Python і вибрати його як скриптову мову.

Час розробки сайту допоможе скоротити вибір Python-фреймворку. Саме поняття "фреймворк" добре відоме PHP-програмістам, т.к. саме цією мовою програмування написано їх велику кількість (Zend Framework, Yii, Symfony, Kohana, CodeIgniter і т.д.).

У цій статті ми розглянемо декілька популярних фреймворків Python і вкажемо на їх особливості.

Django

Є, мабуть, найпопулярнішим веб-фреймворком на Python. Django був розроблений восени 2003 року веб-програмістами газети Lawrence Journal-World під час створення її сайту. Було випущено під ліцензією BSD у липні 2005 року. Свою назву отримав на честь гітариста Джанґо Рейнхардта.

Відмінною рисою Django є використання шаблону проектування MVC, ORM, API доступу до БД із підтримкою транзакцій, вбудована у фреймворк панель адміністрування, механізми аутентифікації, кешування, валідації форм та модульне тестування (unit testing).

Django дозволяє швидко створювати веб-сайти, які потребують постійного оновлення контенту (наприклад, сайти новин). Приклад такого сайту є netgadget.ru. Також при розробці можна використовувати великий вибір компонентів, які також називаються програмами.

Ці додаток включає моделі та уявлення, які можуть бути повторно використані в інших проектах. Наприклад, можна створити програму, за допомогою якої з'явиться можливість додавання коментарів. Далі цю програму можна використовувати повторно в інших ваших проектах.

Flask

Flask є одним із представників мікрофреймворків на Python. На відміну від Django, Flask більше підходить для розробки простих сайтів, яким не потрібний складний функціонал. Створити невеликий сайт за допомогою Flask можна кількома рядками коду.

У ньому використовується стиль побудови архітектури розподіленої програми REST. Для маршрутизації використовують декоратори route(). Коли сервер отримує запит, він надсилає запит на метод, який було вказано у декораторі. Якщо ви знайомі зі світом Ruby, то Flask дуже схожий на програмний каркас Sinatra, тоді Django на Rails.

TurboGears

Попередником Django був фреймворк TurboGears, який досі використовується багатьма Python-розробниками. Він може бути використаний для створення сайтів та веб-додатків, яким потрібна база даних.

З цією метою служить об'єктно-реляційна бібліотека SQLAlchemy. Розробники можуть використовувати декілька баз даних та виконувати їх поділ (секціонування). Також є підтримка AJAX як на стороні клієнта, так і сервері.