Блог "Школы программной инженерии"
Python

ТОП-8 инструментов для разработки на Python

Python - один из наиболее популярных языков программирования среди специалистов по анализу данных разработчиков ввиду доступности большого числа библиотек и инструментов. Согласно индексу TIOBE на июль 2020 года, Python занимает 3-е место в ТОП-20 языков программирования, используемых инженерами-разработчиками во всем мире.

Одно из исследований AIM показало, что 53.3% специалистов по анализу данных предпочитают язык Python так как он помогает им развивать аналитические способности и навыки в сфере анализа данных (data science). В этой статье мы рассмотрим ТОП-8 инструментов для разработки на языке Python.

1. BeeWare - это коллекция инструментов и библиотек для разработки и распространения нативных приложений на Python. Набор инструментов и библиотек помогают разработчикам создавать кросс-платформенные нативные приложения на языке Pyton с графическим интерфейсом (GUI). BeeWare включает в себя:
- Toga - нативный (с точки зрения языка Python и операционных систем) кросс-платформенный инструментарий для GUI.
- Briefcase - инструмент для упаковки проектов на языке Python в распространяемые артефакты для доставки к конечным пользователям продукта.
- Rubicon ObjC - библиотека для работы с библиотеками на языке Objective C на iOS и macOS с использованием кода на языке Python.
- Rubicon Java - библиотека для работы на языке Python с Java-библиотеками.
- Скомпилированные интерпретаторы языка Python для платформ, для которых отсутствуют соответствующие инсталляторы языка Python.

2. Bottle - быстрый и простой микро-фреймворк для небольших веб-приложений. Он распространяется как модуль из одного файла и не имеет зависимостей кроме Python Standard Library. Он предлагает диспетчеризацию запросов с поддержкой параметров в URL, встроенный HTTP-сервер, адаптеры для множества сторонних WSGI/HTTP-серверов и многое другое.

3. CherryPi - объектно-ориентированный веб-фреймворк на языке Python. Он позволяет разрабатывать веб-приложения аналогично тому, как разрабатываются любые другие ООП-приложения на Python. Вот некоторые из функций этого фреймворка:
- простой одновременный запуск нескольких HTTP-серверов
- мощная система конфигурирования для разработки и развертывания приложений
- гибкая система плагинов
- встроенные средства для кэширования, кодирования, сессий, аутентификации, статического контента и многого другого.
- встроенная поддержка профайлинга, покрытия кода и тестирования
- работает на Python 2.7+, 3.5+, PyPy, Jython и Android.

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

5. Falcon - надежный и производительный веб-фреймворк на языке Python для создания крупномасштабных бэкэнд-приложений и микросервисов. Приложения Falcon работают с любым WSGI/ASGI-сервером и работают под управлением CPython 3.5 и PyPy. Некоторые из его функций:
- Высокооптимизированная расширяемая кодовая база
- Falcon выполняет интуитивную маршрутизацию через URI-шаблоны, основанные на REST-подходе классы ресурсов и т. д.
- Он обеспечивает легкий и удобный доступ к заголовкам и телам запросов и ответов через соответствующие классы.
- Поддерживает юнит-тестирование через WSGI-хелперы
- Обработка запросов в соответствии с принципом DRY (Don’t Repeat Yourself) через компоненты промежуточного программного обеспечения, а также через хуки.

6. Flask - один из наиболее популярных легких фреймворков на языке Python для веб-приложений с WSGI. Фреймворк разработан с поддержкой масштабирования для сложных приложений.

7. Kivy - библиотека на языке Python с открытым исходным кодом для быстрой разработки приложений, использующих инновации в пользовательском интерфейсе (например, мультитач-приложения). Она кросс-платформенная, с поддержкой GPU-ускорения, и дружественная к разработке бизнес-приложений. Kivy имеет зависимости от множества Python-библиотек, таких как GStreamer, PIL, Cairo и др.

8. Pyramid - небольшой и быстрый фреймворк на Python 2 и 3. Он предназначен для легкого создания веб-приложений. Pyramid предоставляет только основные инструменты, необходимые почти для всех веб-приложений: мэппинг URL-адресов в код, безопасность и обслуживание статических ресурсов, например, таких файлов, как JavaScript и CSS. Pyramid поддерживает стандартные методы разработки Python с поддержкой инструментов упаковки, виртуальных сред, логировании и т.д.

Источник