Многие веб-разработчики в наши дни будут использовать фреймворки для ускорения достижения целей своих проектов, будь то создание административной страницы с помощью React или использование Express для маршрутизации в бэкэнде и шаблонов их HTML. Однако, когда дело доходит до серверных фреймворков для создания общей структуры моих сайтов, я выбираю Flask, и не только потому, что я знаю его лучше всего. Flask требует минимальной настройки для запуска полнофункционального веб-приложения или веб-сайта и очень прост в использовании, так как написан на языке Python и использует Jinja для создания шаблонов, что очень удобно.

Например:

{% for book in books: %}
<li>{{book['title']}} by {{book['author']}}</li>
{% endfor %}

Это простой цикл for в Jinja, использующий знакомый синтаксис Python, заключенный в скобки {% %} или {{ }}. Этот конкретный фрагмент относится к базовому проекту виртуальной книжной полки, над которым я работаю, и является отличным примером того, почему Jinja так хорош; он удобочитаем, прост в написании и использует синтаксис Python, не более того, кроме команды «endfor», которая просто завершает блок операторов.

Jinja — не единственная причина, по которой Flask так хорош, учитывая, что есть и другие фреймворки, использующие Jinja. Flask также имеет чрезвычайно простую настройку по сравнению с такими фреймворками, как Express или Django, например, вот что говорится в официальной документации, вам нужно настроить минимальное приложение Flask:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"

Так что же это делает? Если вы раньше не использовали Flask, это может выглядеть немного странно. Сначала скрипт импортирует Flask, а затем устанавливает переменную app в качестве сервера Flask. Наконец, сценарий определяет маршрут к «/», который используется по умолчанию, и функцию, которая возвращает абзац HTML с надписью «Hello World». Если бы вы запустили этот скрипт и использовали «flask run» в своей командной строке, веб-сервер запустился бы на порту 5000 или любом другом, который вы установили, и переход к этому порту в вашем браузере отобразил бы Hello World! В течение минуты вы можете запустить простой веб-сервер, и оттуда вы можете добавить столько маршрутов и страниц, сколько вам нужно.

Обычное приложение Flask будет иметь папку шаблонов, как и Express, которая содержит ваши файлы шаблонов HTML, статическую папку для хранения вашего CSS и статических изображений, файл базы данных, если вы используете БД в своем проекте, и ваш main.py файл. Flask поддерживает sqlite3 и даже имеет собственную библиотеку SQLAlchemy, чтобы помочь с поддержкой базы данных, если она вам понадобится, что подводит меня к третьей вещи, которая мне нравится во Flask: библиотекам.

У Flask есть избыток библиотек, доступных для обработки любых функций, которые нужны вашему веб-сайту. Нужны формы? WTForms поддерживается Flask, что позволяет легко создавать шаблоны в формах и даже повторно использовать компоненты форм без необходимости изменения какого-либо HTML. Нужен REST API? Flask-RESTful делает свою работу быстро. Я мог бы продолжать и продолжать рассказывать о различных простых в использовании библиотеках во Flask, но вы должны попробовать их сами в своем следующем проекте и сами убедиться, насколько они эффективны. Я лично сэкономил кучу времени, используя их, вместо того, чтобы делать это вручную, время, которое я использовал вместо того, чтобы заниматься видеоиграми, а не продуктивно (спасибо, Flask!).

В целом, Flask — отличный фреймворк для серверной веб-разработки, и он отлично работает с популярными интерфейсными фреймворками, такими как React, поэтому, если вы боитесь бэкенда, но хороши во внешнем интерфейсе, Flask — это фреймворк для вас. Удачной разработки!