Сравнительный анализ back-end разработки на python

Сравнительный анализ back-end разработки на python

Целью данной работы является проведение сравнительного анализа фреймворков языка pyhton для разработки серверной части web-приложений.

Авторы публикации

Рубрика

IT-Технологии

Журнал

Журнал «Научный лидер» выпуск # 28 (73), июль ‘22

Дата публицакии 11.07.2022

Поделиться

В настоящее время любое web-приложение состоит из множества технологий, каждая из которых реализует одну из основных структурных частей проекта: frontend-внешняя оболочка приложения, backend- серверная часть и специальное api для взаимодействия между ними.

Так как серверная часть является основным элементом разработки, реализующим внутри себя все логические и бизнес процессы, выбор средства разработки является существенной частью web-разработки.

В настоящее время для разработки back-end части приложения используются специальные фреймворки - библиотеки, написанные на языках программирования, предназначенные для реализации определенного ряда задач.

Основными фреймворками, использующимся в современной backend разработке на python являются Django, Flask и FastApi. Рассмотрим подробнее каждую из перечисленных технологий.

Django - это бесплатная платформа веб-разработки на Python с открытым исходным кодом, используемая при создании веб-сайтов. Он был создан  в 2003 году c использованием шаблона Model-Template-View. Он популярен благодаря своей надежной и простой природе. Это один из самых популярных фреймворков во всем мире. Основными плюсами Django являются:

  1. Эффективная структура кода, позволяющая разработчикам добавлять большое количество функций на свои веб-сайты.
  2. DjangoRestFramework, являющийся гибким набором инструментов для разработки WebAPI для Django проектов.
  3. Разработка WebAPI достаточно проста, в связи с модульностью и настраиваемой архитектурой библиотеки.
  4. Высокая степень безопасности, включающая защиту от SQL-инъекций и DDos-атак

Однако Django имеет ряд минусов:

  1. В связи с громоздкой архитектурой Django  проекта, скорость разработки может быть ограничена из-за множественного повторного использования одних и тех же модулей.
  2. Отсутствие миксинов в моделях.
  3. DjangoORM  хуже чем SQLAlchemy

Основные способы использования Django – разработка веб-проектов любого размера, таких как:

  1. Механизмы бронирования с высокой нагрузкой
  2. Торговые платформы
  3. Приложения для мобильных устройств, поддерживающие веб-приложения
  4. Помимо этого django позволяет реализовывать различные функции, такие как панели администрирования или отправка электронных писем.

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

  1. Высокая степень гибкости. Большинство структурных частей Flask могут быть изменены.
  2. Возможность проведения модульного тестирования.
  3. Данный фреймворк очень удобен для начинающих, ввиду своей простоты.

Однако можно выделить следующие минусы:

  1. В связи с тем, что Flask включает в себя набор внешних модулей,могут возникнуть сложности с обеспечением безопасности.
  2. Отсутствие асинхронной обработки запросов.

Основной способ использования Flask - разработка простых комерческих проектов, таких как:

  1. Системы электронной коммерции
  2. Боты
  3. Статические сайты

Следующий фреймворк FastAPI - это современный, быстрый и высокопроизводительный веб-фреймворк Python с открытым исходным кодом, используемый для создания веб - API.

Можно выделить следующие плюсы в данном фреймворке:

  1. FastAPI проверяет тип данных разработчика даже в глубоко вложенных запросах JSON.
  2. FastAPI построен на таких стандартах, как JSON Schema (инструмент, используемый для проверки структуры данных JSON), OAuth 2.0 (это стандартный отраслевой протокол для авторизации) и OpenAPI (общедоступный интерфейс прикладного программирования)
  3. FastAPI упрощает создание API GraphQL с помощью библиотеки Python, называемой graphene-python.

Минусы:

  1. Поскольку FastAPI является относительно новым, сообщество разработчиков невелико по сравнению с другими фреймворками, и, независимо от его подробной документации, внешних образовательных материалов очень мало.

С  помощью FastAPI Netflix управленяет внутренними кризисами. Он также отлично масштабируется при развертывании готовых к производству моделей машинного обучения, потому что модели ML лучше всего работают в производстве, когда они обернуты вокруг REST API и развернуты в микросервисе.

 

Таким образом данные фреймворки можно сравнить с помощью следующих критериев:

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

Размер сообщества: у Django самое крупное сообщество из-за его широкого использования и популярности после Flask, у которого также есть большое сообщество.

Производительность: по производительности FastAPI является лидером, потому что он ориентирован на скорость, затем следует Flask и, наконец, Django, который не очень быстрый.

Гибкость: Flask более гибкий, чем Django. С другой стороны, Fast API является гибким с точки зрения кода и не ограничивает компоновку кода. Таким образом, мы можем сказать, что Flask является наиболее гибким среди всех трех.

Вакансии: несомненно, в веб-экосистеме Python есть больше вакансий с требованиями Django, далее идет Flask и, наконец, Fast API, у которого гораздо меньше возможностей, поэтому, если вы стремитесь быстро получить работу, тогда Django должен быть вашим кандидатом.

Образование: Django более сложен в освоении, но имеет много онлайн-материалов и ресурсов. Flask прост и понятен, а также содержит множество онлайн-материалов и ресурсов, в то время как Fast API является самым простым, если вы начинаете с веб-разработки, но у вас наименьшее количество онлайн-ресурсов.

Таким образом Django идеально подходит, для создания надежных веб-сайты, потому что он имеет множество функциональных возможностей и очень хорошо работает в производстве. Flask идеально подходит для инженеров по машинному обучению или разработчиков, которые хотят быстро создать прототип веб-приложения и легко и быстро создавать API. В то же время FastAPI идеально подходит, если основными критериями являются  скорость или масштабируемость. 

Список литературы

  1. Владимир Дронов Django: практика создания Web-сайтов на Python / Владимир Дронов. - М.: БХВ-Петербург, 2016. - 328 c. - 214 c.
  2. Владимир Дронов HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов / Владимир Дронов. - М.: БХВ-Петербург, 2020. - 1156 c.
  3. С.В. Черников Dreamweaver CS3. Строим Web-сайты (+ CD-ROM) / С.В. Черников, Ф.А. Резников. - М.: 100 книг, Триумф, 2019. - 256 c.

Предоставляем бесплатную справку о публикации,  препринт статьи — сразу после оплаты.

Прием материалов
c по
Осталось 6 дней до окончания
Размещение электронной версии
Загрузка материалов в elibrary