Самые популярные фреймворки python 2021

Обновлено: 03.07.2024

Что нужно программистам Python, чтобы облегчить себе жизнь? Ответ - фреймворки. Автоматизируя выполнение избыточных задач, фреймворки сокращают время разработки и позволяют разработчикам сосредоточиться на логике приложения, а не на рутинных элементах.

Поскольку это один из ведущих языков программирования , для Python нет недостатка в фреймворках . У разных фреймворков есть свои преимущества и недостатки. Следовательно, выбор должен производиться на основе требований проекта и предпочтений разработчика.

В основном существует три типа фреймворков Python : полный стек, микро-фреймворк и асинхронный. Прежде чем перейти к обсуждению лучших фреймворков Python в 2021 году, давайте сначала кратко рассмотрим различные типы фреймворков Python.

Типы фреймворков Python

1. Полностековый фреймворк

Такие фреймворки - универсальное решение для всех требований разработчика. Генераторы форм, проверка форм и макеты шаблонов обычно доступны с типичной структурой полного стека.

2. Микрофреймворк

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

3. Асинхронная структура

В последнее время набираюn популярность асинхронные фреймворки - это микрофреймворки, которые позволяют обрабатывать большой набор одновременных подключений. Как правило, асинхронная среда, созданная для Python, использует библиотеку asyncio языка программирования.

Лучшие фреймворки Python

Тип - асинхронный фреймворк

Ключевые моменты:

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

2. Bottle


Bottle создает единый исходный файл для каждого приложения, разработанного с его использованием. Это один из лучших веб-фреймворков на Python. Микрофреймворк для Python изначально был разработан для создания API. Помимо стандартной библиотеки Python, у Bottle нет зависимостей, необходимых для создания небольших веб-приложений. Одним из наиболее важных преимуществ использования Bottle является то, что он позволяет разработчикам работать ближе к оборудованию. В дополнение к созданию упрощенных приложений для личного использования, Bottle отлично подходит для изучения организации веб-фреймворков и создания прототипов.

Ключевые моменты:

3. CherryPy


CherryPy - популярный объектно-ориентированный фреймворк Python с открытым исходным кодом, который следует минималистичному подходу. Микро-фреймворк - один из старейших фреймворков Python, дебютировавший в июне 2002 года.

Любое веб-приложение на базе CherryPy представляет собой автономное приложение Python со своим собственным встроенным многопоточным веб-сервером и работает на любой ОС с поддержкой Python. Такое приложение можно развернуть везде, где может работать обычное приложение Python.

Нет необходимости в сервере Apache для запуска приложений, разработанных с использованием CherryPy. Микрофреймворк позволяет разработчикам использовать любые технологии для доступа к данным, создания шаблонов и так далее.

Ключевые моменты:

4. CubicWeb


Тип - полнофункциональный фреймворк

CubicWeb, разработанный и курируемый Logilab, представляет собой бесплатный семантический веб-фреймворк с открытым исходным кодом на основе Python. На основе модели данных CubicWeb требует, чтобы она была определена для разработки функционального приложения.

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

Ключевые моменты: -

  1. Поддержка OWL (язык веб-онтологий) и RDF (структура описания ресурсов)
  2. Многоразовые компоненты
  3. Рабочие процессы безопасности
  4. Упрощает запросы, связанные с данными, с помощью встраивания RQL (Relational Query Language)
  5. Поддержка нескольких баз данных

5. Dash


Dash - это фреймворк на основе Python с открытым исходным кодом для создания аналитических веб-приложений. Это идеальный фреймворк Python для специалистов по данным, которые мало разбираются в механике веб-разработки.

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

Ключевые моменты:

  1. Приложения Dash требуют очень мало шаблонного кода для начала работы
  2. Обработка ошибок (сервер развертывания Dash)
  3. Высокая степень настройки
  4. Интеграция с LDAP (сервер развертывания Dash)
  5. Поддержка плагинов
  6. Простой интерфейс для связывания элементов управления пользовательского интерфейса, включая раскрывающиеся списки, графики и ползунки
  7. Маршрутизация URL-адресов (сервер развертывания Dash)

6. Django


Тип - полнофункциональный фреймворк

В отличие от других, бесплатная и полнофункциональная среда Python с открытым исходным кодом включает большое количество встроенных функций, а не предлагает их как отдельные библиотеки. Django использует ORM для сопоставления объектов с таблицами базы данных.

Это позволяет коду работать в разных базах данных, а также упрощает перенос из одной базы данных в другую. Хотя Django имеет встроенную поддержку MySQL, PostgreSQL, SQLite и Oracle Database, он может поддерживать другие базы данных через сторонние драйверы.

Ключевые моменты: -

  1. Множество готовых к использованию библиотек
  2. Поддержка аутентификации
  3. Миграция схемы базы данных
  4. Объектно-реляционный преобразователь (ORM)
  5. Поддержка веб-серверов
  6. Движок шаблонов
  7. Маршрутизация URL

7. Falcon


Согласно тесту, проведенному Sanic, Falcon может обрабатывать большинство запросов с тем же оборудованием, что и все его современники. Фреймворк Python нацелен на 100% покрытие кода. Falcon используется крупными игроками, такими как LinkedIn, OpenStack и RackSpace.

Ключевые моменты:

8. Flask


Flask - еще один популярный фреймворк Python, доступный по лицензии BSD. Микрофреймворк, созданный на основе среды Sinatra Ruby, требует шаблона Jinja2 и инструментария Werkzeug WSGI. Благодаря легкому и модульному дизайну Flask легко адаптируется.

Flask позволяет разработчикам создать прочную основу веб-приложения, на которой можно использовать любые необходимые расширения. Микро-фреймворк совместим с Google App Engine.

Ключевые моменты:

9. Giotto


Тип - структура полного стека.

Основанная на шаблоне контроллера представления модели, Giotto представляет собой платформу приложения для Python. Чтобы веб-дизайнеры, веб-разработчики и системные администраторы могли работать независимо друг от друга, Giotto разделяет элементы модели, представления и контроллера по порядку.

Giotto включает в себя модули контроллеров, которые позволяют пользователям создавать приложения поверх Интернета, IRC (Internet Relay Chat) и командной строки.

Ключевые моменты: -

  1. Автоматическая маршрутизация URL
  2. Сохранение базы данных с помощью SQLAlchemy
  3. Чрезвычайно лаконичный код
  4. Функциональные шаблоны CRUD
  5. Общие модели и представления
  6. Встроенный кеш с поддержкой Memcache и Redis (доступный API для расширения поддержки других движков)
  7. Jinja2 для шаблонов HTML (API доступен для поддержки других движков шаблонов)
  8. Несколько подключаемых контроллеров
  9. Интерфейс RESTful с обычным CRUD-сайтом «браузер POST»

10. Growler

Тип - асинхронный фреймворк, вдохновленный фреймворками NodeJS и Express / Connect, Growler - это микро-веб-фреймворк, написанный на основе библиотеки asyncio Python.

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

Growler - лучший выбор среди фреймворков Python для простого и быстрого внедрения сложных приложений. Первоначально Growler был разработан его автором, чтобы просто научиться использовать библиотеку asyncio на самом низком уровне.

Ключевые моменты:

  1. Легко увидеть ход программы из-за отсутствия необходимых обратных вызовов и правильных блоков try / except
  2. Поддержка множества пакетов с открытым исходным кодом
  3. Используйте декораторы для написания чистого, многоразового кода
  4. Модуль Ziapp позволяет заархивировать все приложение в один исполняемый файл.

Дополнительные фреймворки Python

11. Hug

Hug разработан, чтобы позволить разработчикам Python разработать API один раз, а затем использовать его где угодно. Фреймворк Python упрощает разработку API, предлагая несколько интерфейсов. Он отмечен как самый быстрый веб-фреймворк для Python 3.

Ключевые моменты:

  1. Проверка на основе аннотаций
  2. Встроенное управление версиями
  3. Поддерживает автоматическую документацию

12. MorePath

Обозначенный как «Веб-фреймворк Python Super Powered», MorePath обеспечивает минимальные затраты на установку. Он разработан специально для быстрого развертывания и запуска большинства типичных сценариев использования, в том числе для создания стандартных структур данных Python в веб-службах RESTful.

Микрофреймворк MorePath - это очень гибкий веб-фреймворк, управляемый моделями. Уникальная функция, доступная фреймворку Python, заключается в том, что он автоматически превращает пути, определенные в фреймворке, в ссылки при создании приложений с наиболее чистыми URL-адресами.

Ключевые моменты:

  1. Все виды являются общими. Повторное использование представлений в представлениях
  2. Поставляется со всеми необходимыми инструментами для разработки веб-сервисов RESTful.
  3. Создание универсальных пользовательских интерфейсов так же просто, как создание подклассов
  4. Возможность расширения с помощью простого, последовательного и универсального механизма расширения и отмены
  5. Гибкие, простые и мощные разрешения

13. Pycnic

Pycnic - это объектно-ориентированный микрофреймворк, который считается самым быстрым для создания API-интерфейсов на основе JSON. Небольшой, автономный и оптимизированный для JSON фреймворк API способен прочно удерживать свои позиции среди крупных игроков. Поскольку Pycnic создает только веб-API, он занимает минимум места и, следовательно, работает быстро.

Ключевые моменты: -

  1. Встроенная обработка ошибок
  2. Возможность обработки запросов на основе JSON
  3. Обрабатывает маршрутизацию
  4. Поддержка файлов cookie

14. Pylons Framework

Тип - полнофункциональный фреймворк

Pylons Framework - это фреймворк на основе Python с открытым исходным кодом, ориентированный на быструю разработку приложений. Фреймворк разработан с использованием некоторых из лучших элементов и свойств языков, включая Perl, Python и Ruby.

Несмотря на то, что он доступен в режиме обслуживания, некоторые разработчики по-прежнему используют фреймворк Pylons из-за его способности предлагать очень гибкую структуру для веб-разработки. Для обеспечения возможности повторного использования полнофункциональная структура широко использует WSGI (интерфейс шлюза веб-сервера).

Ключевые моменты: -

  1. Проверка и генерация HTML-формы
  2. Маршруты
  3. Текстовые шаблоны
  4. Отправка URL
  5. Сопоставление URL-адресов на основе конфигурации маршрутов через WebHelpers

15. Pyramid

Тип - полнофункциональный фреймворк

Pyramid - еще один ведущий фреймворк Python. Основная цель среды веб-разработки на основе Python с открытым исходным кодом - достичь как можно большего с минимальной сложностью.

Наиболее желательным аспектом пирамиды является способность одинаково хорошо работать как с небольшими, так и с полномасштабными приложениями. Более того, существует множество доступных ресурсов для расширения его возможностей в соответствии с требованиями.

Ключевые моменты: -

  1. Гибкая аутентификация и авторизация
  2. Декораторы функций
  3. Предикаты
  4. Рендереры
  5. Однофайловые приложения
  6. Шаблоны и спецификации ресурсов
  7. Генерация URL

16. Sanic

Тип - асинхронный фреймворк.

Sanic поддерживает асинхронные обработчики запросов, что делает его совместимым с функциями async / await в Python 3.5. Это приводит к увеличению скорости, а также предлагает возможности неблокирования.

Во время теста производительности с одним процессом и 100 подключениями Sanic смог обработать 33 342 запроса за одну секунду.

Ключевые моменты: -

  1. Возможность читать и записывать файлы cookie
  2. Позволяет вести журнал различных типов, например журнал доступа и журнал ошибок.
  3. Представления на основе классов
  4. Обработчики с поддержкой простых в применении декораторов
  5. Поддержка плагинов
  6. Поддерживает схемы для суб-маршрутизации в приложении
  7. Объект конфигурации может быть изменен либо с использованием точечной нотации, либо как словарь.

17. Tornado

Тип - асинхронный фреймворк

Tornado - это фреймворк Python с открытым исходным кодом и асинхронная сетевая библиотека. Помимо решения проблемы C10k (что просто означает обработку 10 тыс. Соединений в любой момент времени), асинхронная структура использует неблокирующий сетевой ввод-вывод.

Фреймворк Python изначально был разработан для компании FriendFeed, которая была приобретена Facebook в 2009 году. Tornado - идеальный инструмент для создания приложений, требующих высокой производительности и одновременного использования нескольких тысяч пользователей.

Ключевые моменты:

  1. Позволяет реализовать сторонние схемы аутентификации и авторизации
  2. Предлагает высококачественную продукцию
  3. Услуги в реальном времени
  4. Поддерживает перевод и локализацию
  5. Поддержка аутентификации пользователей
  6. Веб-шаблоны

18. TurboGears

Тип - структура полного стека

TurboGears - это управляемая данными, открытая, полнофункциональная среда веб-приложений для Python. Платформа позволяет разработчикам быстро разрабатывать расширяемые веб-приложения, управляемые данными.

Помимо поддержки гибкой и мощной ORM, TurboGears имеет понятные шаблоны. Фреймворк с полным стеком использует такие компоненты, как Genshi, Repoze, SQLAlchemy и WebOb, для простой и быстрой разработки приложений, требующих подключения к базе данных.

Ключевые моменты: -

  1. Все функции реализованы в виде декораторов функций.
  2. Доступные инструменты командной строки
  3. Интеграция библиотеки MochiKit JavaScript
  4. Поддержка нескольких баз данных
  5. Архитектура в стиле MVC
  6. Шаблоны PasteScript
  7. ToscaWidgets для упрощения координации дизайна внешнего интерфейса и развертывания сервера
  8. Использует Pylons в качестве веб-сервера
  9. Поддержка валидации с помощью FormEncode

19. Web2Py

Тип - структура полного стека

Для разработчиков Python, ищущих масштабируемую структуру полного стека, Web2Py может быть ответом. Фреймворк Python с открытым исходным кодом поставляется с собственной веб-средой IDE, которая включает редактор кода, отладчик и развертывание в один щелчок.

Хотя Web2Py позволяет пользователям создавать динамический веб-контент на Python, он не поддерживает Python 3. Система продажи билетов - одна из наиболее важных функций инфраструктуры Python. Система выдает пользователю билет всякий раз, когда возникает ошибка.

Ключевые моменты: -

  1. Возможность работать на любой платформе веб-хостинга, которая обеспечивает поддержку Python или Java и Python.
  2. Обратная совместимость
  3. Встроенная защита данных для предотвращения нескольких распространенных уязвимостей, в том числе межсайтовых сценариев, ошибок внедрения и выполнения вредоносных файлов.
  4. Отсутствие требований к установке и настройке
  5. Соответствует шаблону MVC
  6. Обеспечивает поддержку интернационализации
  7. Читаемость нескольких протоколов
  8. Ролевой контроль доступа

Резюме

Чтобы оценить все (или большую часть) вышеупомянутых фреймворков Python, вам необходимо обладать хотя бы промежуточной компетенцией в высокоуровневом интерпретируемом языке программирования.

Какой из фреймворков Python должен или не должен был попасть в список? Какой ваш любимый фреймворк Python? Сообщите нам об этом в комментариях.

Топ-10 лучших веб-фреймворков Python в 2021 году

Статьи

Когда речь идет о разработке веб-приложения, то Python будет первым выбором в сознании каждого современного разработчика. Существует целый ряд фреймворков для разработки веб-приложений, которые могут сделать вашу веб-разработку простой и увлекательной!

Введение

Python имеет огромное сообщество, которое самостоятельно влияет на развитие языка.

Хоть этот язык программирования прост, он всё равно доказал свою эффективность. Структура данных в Python имеет высокий уровень, и когда она сочетается с динамической семантикой, а также простым для понимания синтаксисом, она становится подходящим вариантом для организаций.

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

Пакеты и модули из этой статьи помогут вам в написании веб-приложений без какой-либо необходимости в управлении процессами!

Django


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

Он также поддерживает базы данных Oracle, PostgreSQL, MySQL и SQLite. Поддержка этих баз данных привела к их внедрению на сайтах с высоким трафиком и различных платформах социальных сетей, таких как Instagram, Pinterest, The Washington Times, Bitbucket, Mozilla и Disqus. То есть, Django превратился в один из самых надежных и востребованных программных фреймворков, поскольку он обеспечивает невероятную эффективность, беспроблемную разработку, меньшее количество кода и повторное использование меньшего количества компонентов.

Список основных характеристик Django:

  • Огромные возможности для программирования.
  • Высокоскоростной фреймворк.
  • Отличная защита.
  • Универсальность.
  • Масштабируемость.

Bottle

Bottle framework

Вот основные характеристики Bottle:

Pyramid

Pyramid framework

Фреймворк идеально подходит для различных видов приложений, но также он отлично подходит и для создания CMS. Помимо CMS, это превосходный выбор для обработки API-проектов и прототипирования.

Вы также можете использовать другие сторонние ресурсы, чтобы максимально использовать Pyramid!

Список основных характеристик Pyramid:

  • Функциональные декораторы.
  • Однофайловые приложения.
  • Фреймворк обхода для сопоставления URL-адресов с кодом.
  • Предикаты и визуализаторы.

TurboGears

TurboGears framework

TurboGears может помочь в создании транспортильных веб-приложений, которые полагаются на различные элементы подключения к базе данных, такие как Genshi, SQLAlchemy, Repoze и WebOb. Этот веб-фреймворк Python использует структуру стиля MVC.

Вот основные характеристики TurboGears:

  • Кросс-платформенная ОС.
  • Поддержка нескольких баз данных.
  • Функциональный декоратор.
  • Поддержка Pylon.

Web2Py

Web2Py framework

Web2Py обеспечивает защиту от различных видов угроз, таких как ошибки внедрения опасных кодов, межсайтовый скриптинг и вредоносное воспроизведение файлов.

Основные характеристики Web2Py:

  • Обратное соответствие.
  • Несколько читаемых протоколов.
  • Защита от различных ошибок.
  • Поддержка переносимости веб-приложений.
  • Модифицируемая эффективность.

Grok framework

Grok поможет разработчику получить доступ к обширной сети наряду с помощью независимых сетевых библиотек. Они могут выбрать один из них в соответствии с требованиями своей задачи. Этот фреймворк поставляется с пользовательским интерфейсом, похожим на TurboGears и Pylons. Он имеет компонентную архитектуру, которая поможет разработчикам в снижении непредсказуемости разработки приложения.

Вот список основных характеристик Grok:

  • Поддержка разработки веб-пользовательских приложений.
  • Расширенная разработка веб-приложений.
  • Подъем базовой технологии.

Flask

Flask framework

Основные характеристики Flask:

  • Интегрированная поддержка.
  • Основан на Unicode.
  • Возможность подключения ORM.

CherryPy

CherryPy framework

Список основных характеристик CherryPy:

Hug framework

  • Автоматическая поддержка документации.
  • Соответствие требованиям Cython.
  • Может быть использован в библиотеке Python.
  • Встроенное управление версиями.

Falcon

Falcon framework

Основные характеристики Falcon:

  • Поддержка PyPy.
  • Полная поддержка Unicode.
  • Поддержка Cython.
  • Шаблоны URI.

Заключение

Какой же фреймворк Python можно выбрать для веб-разработки?

Только 3% разработчиков на Python продолжают использовать в 2021 году версию Python 2! Пять лет назад их доля составляла 47%.

С какой целью вы используете Python?

За последние 5 лет проведения опроса JetBrains «Экосистема разработки» основные сферы применения языка Python не изменились. Чаще всего он используется для веб-разработки и анализа данных — эти направления назвали примерно по 50% респондентов.

Лишь 4% пользователей Python разрабатывают игры, из них 77% занимаются этим в качестве хобби.

Язык программирования Python используют 75% респондентов, занятых научными исследованиями, — это самый популярный язык в данной сфере.

Какие веб-фреймворки/библиотеки вы используете в дополнение к Python?

Какие фреймворки для анализа данных вы используете в дополнение к Python?

Python и JavaScript — те языки, которые респонденты чаще всего изучают: почти 30% участников опроса изучали их в течение прошедших 12 месяцев.

Мы спросили, на каких платформах открытых онлайн-курсов люди чаще всего изучают Python, если они вообще пользуются такими платформами. Чаще всего респонденты называли Udemy, Coursera и edX. Если сравнивать с другими языками, интересно, что Udemy обычно мене популярна, в то время как Coursera и edX используются значительно чаще.

Компания JetBrains запустила собственную образовательную платформу — JetBrains Academy. Для изучения Python и обучения этому языку можно использовать специальную IDE PyCharm Edu.

Какие фреймворки/библиотеки вы используете в дополнение к Python?

Половина разработчиков, участвовавших в опросе, изучали Python, когда получали образование.

Какие еще технологии вы используете совместно с Python?

Доля разработчиков на Python, которые работают в очень крупных компаниях (свыше 5000 сотрудников), составляет 20% — это больше, чем среди других разработчиков (15%). Что касается компаний других размеров, соотношение примерно такое же, как и у остальных разработчиков.

Какую IDE или редактор вы чаще всего используете для разработки на Python?

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

Сегодня Python — основной язык для Data Science. Большинство разработчиков, занятых анализом данных (54%), инжинирингом данных (54%) и машинным обучением (71%), используют Python.

Компания JetBrains разработала несколько новых инструментов для Data Science, предлагающих широкие возможности.

Datalore — эффективная среда для Jupyter Notebooks. Она доступна для любых пользователей онлайн, а также ее можно установить локально в корпоративной среде.

DataSpell — новая IDE, разработанная JetBrains для Data Science. Это высокопроизводительная среда разработки для специалистов в области Data Science, которые активно занимаются разведочным анализом данных и прототипированием моделей машинного обучения.

Подробнее о состоянии экосистемы разработки на Python можно прочитать в официальном Отчете об опросе разработчиков на Python, подготовленном совместно с Python Software Foundation.

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

Django

Django — один из самых популярных фреймворков

Django — один из самых популярных фреймворков

Один из наиболее распространенных фреймворков, который подходит разработчикам разного уровня: от новичков — до профессионалов. Django помогает сэкономить время написания кода и увеличить его эффективность.

  • Аутентификация.
  • Маршрутизация URL-адресов.
  • Миграция схем баз данных.
  • Работа с базами данных: PostgreSQL, MySQL, SQLite и Oracle.
  • Поддержка веб-серверов.
  • Использование объектно-реляционного преобразователя ( ORM).
  • Интернационализация.
  • Наличие собственного движка шаблонов.

Достоинства

  • У Django понятная структура. Фреймворк прост в использовании, так что начинающие программисты смогут с ним разобраться.
  • Многие особенности фреймворка позволяют ему значительно упрощать и ускорять работу с кодом.
  • Регулярно обновляется, учитывает последние версии языка.
  • Фреймворк бесплатный и имеет открытый исходный код.

Недостатки

  • Из-за массивности и наличия собственных библиотек падает гибкость.

Где используется

  • В создании сайтов. Фреймворк поддерживает много форматов: JSON, XML, RSS и другие (например, на нем создан сайт The Washington Post ).
  • В разработке веб-приложений (например, Instagram, Pinterest).

CherryPy

CherryPy — это микрофреймворк

CherryPy — это микрофреймворк

Достоинства

  • Простой и понятный фреймворк, который легко использовать в работе.
  • Наличие специального плагина, благодаря которому можно отслеживать производительность приложения.
  • Фреймворк бесплатный и имеет открытый исходный код.
  • Приложения, разработанные с помощью CherryPy работают в любой операционной системе, которая поддерживает Python (например, Windows, MacOS, Linux).

Недостатки

  • Не подойдет для решения сложных многочисленных задач.

Где используется

  • Фреймворк подходит для разработки приложений для Android.
  • Идеален, когда необходимо создать приложение с не слишком длинным кодом.
  • Если возникает потребность в отслеживании производительности приложения.
  • Видеосервисы Netflix и Hulu используют этот фреймворк.

Flask

Flask — фреймворк с модульным дизайном

Flask — фреймворк с модульным дизайном

Еще один микрофреймворк. Flask обладает модульным дизайном. Его также можно использовать при разработке приложений. Он удобен и позволяет выбирать расширения.

  • Наличие встроенного дебаггера, собственного сервера и множества шаблонов.
  • Может подключаться к любой ORM.
  • Для Flask существует собственный движок Jinja2, но при этом фреймворк может работать и с другими.
  • Создан на основе Unicode.
  • Соответствие WSGI 1.0.
  • Совместим с Google App Engine.

Достоинства

  • Настройка и установка Flask требует меньше времени, чем других фреймворков.
  • Поддержка безопасных Cookies.
  • Встроенные функции ускоряют разработку.
  • Фреймворк быстро адаптируется благодаря модульному дизайну.

Недостатки

  • Фреймворк используется как дополнительный инструмент и нацелен на решение конкретных задач, поэтому не может похвастаться широкими возможностями.

Где используется

  • В создании открытых приложений.
  • При разработке бэкенд-систем.
  • Flask использовался при создании приложения видео-сервиса Netflix .

TurboGears

TurboGears

TurboGears считается альтернативой Django

Удобный фреймворк с открытым кодом, которым пользуются разработчики для создания веб-приложений, которые работают с данными. Подходит и начинающим специалистам, и профессионалам. Фреймворк считается альтернативой Django.

  • Элементы командной строки.
  • Структура полного стека.
  • Поддержка Genshi, Repoze, SQLAlchemy, SQLObject и WebOb.
  • Поддержка валидации с помощью FormEncode.
  • Интеграция библиотеки MochiKit JavaScript.
  • Использование ToscaWidgets (это упрощает координацию дизайна внешнего интерфейса и развертывания сервера).

Достоинства

  • Поддержка гибкой и мощной ORM.
  • Простые и понятные шаблоны PasteScript .
  • Поддержка большого количества баз данных.
  • Возможность расширять фреймворк путем создания плагинов или дополнения существующих.
  • TurboGears — очень гибкий фреймворк, поэтому его возможно использовать в качестве микрофреймворка для создания прототипа либо как фулстек-фреймворк при работе с крупными проектами.

Недостатки

  • Небольшое количество возможностей для расширений.

Где используется

  • В Tracim — сервисе, нацеленным на помощь в работе с разными типами документов и данных.
  • В создании сайтов (например, сайте турецкой версии вокального шоу The Voice).
  • В создании баз данных (например, в BisQue — системе, разработанной для биологов, чтобы создавать 5D-изображения).

Pyramid

Pyramid

Pyramid — полезный фреймворк, который может помочь в решении многих задач, если научиться с ним работать. Он представляет собой простой и минималистичный каркас, на основе которого можно создавать как маленькие, так и большие приложения.

  • Предикаты и рендереры.
  • Генерация URL.
  • Гибкая схема аутентификации и авторизации.
  • Поддержка SQLAlchemy.
  • Декораторы функций.

Достоинства

  • Открытый исходный код.
  • Много функций.
  • Благодаря SQLAlchemy есть возможность работать даже со сложными запросами.
  • Существование декораторов помогает легко отправлять XHR-запросы.
  • Гибкость фреймворка: можно заменять компоненты.
  • Фреймворк бесплатный.

Недостатки

  • При создании сложных приложений придется глубоко изучить фреймворк и научиться с ним работать, поскольку он имеет определенные алгоритмы, отступить от которых будет проблематично.

Где используется

  • В создании крупных сложных приложений.
  • Идеален для разработки однофайловых приложений.
  • При масштабировании сайтов под возросшую нагрузку.
  • В создании прототипов.
  • Используется в разработке API.
  • В тестировании.
  • В идентификации.
  • В маршрутизации.
  • В среде разработки веб-приложений Substance-D.

Web2Py

Web2Py

Это особенный фреймворк. В первую очередь он хорош тем, что его не нужно устанавливать. Он легко запускается с любого электронного носителя — флешки или жесткого диска.

  • Cобственный IDEwhich с редактором кода, дебаггером, деплоем.
  • Трекер ошибок.
  • Функция обратной совместимости, благодаря которой возможна работа с прежними версиями фреймворка.

Достоинства

  • Может работать на разных платформах и с разными протоколами.
  • Не требует установки или настройки.
  • Качественная защита данных.
  • Исходный код открытый.
  • Гибкий.
  • Бесплатный.

Недостатки

  • Необходимо работать с последней версией языка Python.

Где используется

  • Web2py разработан для разработки быстрых, масштабируемых, безопасных и портируемых веб-приложений на основе баз данных.
  • С помощью фреймворка разработана платформа Instant Press .

Bottle

Bottle

Завершает эту подборку минималистичный фреймворк Bottle, который может использоваться в разных мелких и средних проектах. Интересно, что исходный код фреймворка состоит из всего одного файла.

Достоинства

  • Удобный доступ к данным.
  • Фреймворк прост и понятен в использовании.

Недостатки

Где используется

  • В разработке небольших приложений.
  • В создании прототипов.
  • В библиотеке для структурирования проектов Decanter.

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

Что такое индексы в Mysql и как их использовать для оптимизации запросов

Основные понятия о шардинге и репликации

Примеры ad-hoc запросов и технологии для их исполнения

Настройка Master-Master репликации на MySQL за 6 шагов

Как создать и использовать составной индекс в Mysql

Анализ медленных запросов (профилирование) в MySQL с помощью Percona Toolkit

Читайте также: