Flask — это микрофреймворк для создания простого и быстрого проекта на языке программирования Python с возможностью масштабирования до сложных приложений. Понятие «микрофреймворк» означает, что в комплекте нет набора инструментов и библиотек, программист может сам установить их в зависимости от задач.
Кому и когда нужен Flask
Flask используют веб-разработчики на Python. Микрофреймворк подходит для новичков. Позволяет быстро создать веб-приложение, используя только один файл Python. Flask можно использовать при разработке как тренировочных проектов или небольших сайтов, которым не нужен сложный бэкенд, так и API и сложных проектов для электронной коммерции. Ядро фреймворка можно масштабировать под разные задачи. Разработчик должен сам выбрать библиотеки и инструменты, которые хочет использовать. Для этого нужно подключить пакеты-расширения.
Пример веб-приложения, которое показывает «Hello World!»:
from flask import Flask app = Flask(__name__) @app.route(«/») def hello(): return «Hello World!» if __name__ == «__main__»: app.run()
Как работает Flask
Flask Framework использует Jinja2 — приложение для обработки шаблонов — и Werkzeug — инструмент для работы с WSGI (стандартом взаимодействия между Python-программой, которая выполняется на стороне сервера, и самим веб-сервером). Для создания изолированной среды в Python используется модуль Virtualenv.
Веб-фреймворк Flask поддерживает:
- модульное тестирование — проверку на корректность отдельных модулей исходного кода программы;
- Google App Engine — мощную платформу для создания и запуска приложения в инфраструктуре Google;
- RESTfull-архитектуру — соответствующий набор архитектурных принципов для создания гибкой и масштабируемой сети.
Flask защищен от XSS-атак, когда злоумышленник внедряет на страницу вредоносный скрипт, и работает с безопасными cookie. В инструменте Werkzeug предусмотрен простой веб-сервер.
Преимущества и недостатки Flask
Преимущества
- Считается лучшим веб-фреймворком для создания небольших статических сайтов и легковесных веб-приложений.
- Можно редактировать большую часть инструментов под задачи.
- Имеет интуитивно понятный синтаксис и простую структуру.
- Есть инструменты для отладки и тестирования — unit-тесты, встроенный сервер разработки, обработчик запросов и отладчик.
- Много подробной документации на русском языке.
- С новой версии 2.0. поддерживает асинхронность — технологию, которая помогает выполнять процессы без блокирования потока программы. Это повышает производительность и скорость работы.
Недостатки
- Для подключения к базе данных, проверки данных форм, загрузки файлов нужно использовать расширения.
0 комментариев