Django или Flask?

Опубликовано 28 December 2015 в Python

Решил восстановить свой сайт о настольных играх - VseNastolki.ru. Когда-то там был интернет-магазин, но поскольку теперь на столь серьезный проект меня не хватит, я буду делать всего лишь базу настольных игр. Оформив идею, я как настоящий программист взялся за выбор фреймворка: Flask или Django.

Другие фреймворки я не рассматривал. Причина проста: у меня нет опыта работы с ними. Проект хочется закончить. Так что использовать неизвестный фреймворк для этого не хочется. Так что в кандидатах остались только Flask - наш текущий фремворк на работе - и Django - фреймворк из-за которого я попал в мир Python.

На Flask и Django можно сделать практически любой сайт или веб-приложение. И даже не так важно, какой из-них будет выбран. Но все-таки есть области, где Django предпочтительнее, а есть и такие, где Flask подойдет лучше.

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

Flask - это гибкость. Практически все элементы фреймворка не обязательны. Это плюс, если нужно делать что-то уникальное. Но скорее минус, если вы делаете обыкновенный сайт с большим количеством однородных по структуре документов. Слишком много придется писать руками. С другой стороны, если проект требует что-то переделать в Django, то трудозатраты будут в разы больше, чем реализовать аналогичную фичу на Flask.

А какой фремворк предпочитаете вы?

---
Возник вопрос? Мне всегда можно написать в Twitter: avkorablev