Spec-Zone.ru › Falcon 1.4

Введение

Совершенство достигается не тогда, когда больше нет ничего, что можно добавить, а когда больше нет ничего, что можно убрать.

- Антуан де Сент-Экзюпери

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

Приложения Falcon совместимы с любым WSGI-сервером и отлично работают под CPython 2.7, PyPy и CPython 3.3+.

Чем Falcon отличается?

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

Быстрый. То же оборудование, больше запросов. Falcon обрабатывает запросы в несколько раз быстрее, чем большинство других фреймворков Python. Для дополнительного ускорения Falcon компилируется с помощью Cython, если это возможно, и хорошо работает с PyPy. Размышляете о переходе на другой язык программирования? Сначала протестируйте Falcon + PyPy.

Надёжный. Мы прилагаем значительные усилия, чтобы избежать внесения критических изменений, а когда это происходит, они полностью документированы и вводятся (в духе SemVer) только с увеличением основной версии. Код тщательно тестируется с различными входными данными, и мы требуем 100%-й охват тестами в любое время. Единственными сторонними зависимостями являются six и mimeparse.

Гибкий. Falcon оставляет много решений и деталей реализации на усмотрение разработчика API. Это предоставляет вам большую свободу в настройке и оптимизации реализации. Благодаря минималистичному дизайну Falcon члены сообщества Python могут самостоятельно разрабатывать дополнения и дополнительные пакеты Falcon.

Легко отлаживаемый. Falcon избегает магических решений. Легко определить, какие входные данные приводят к каким выходным данным. Необработанные исключения никогда не инкапсулируются или маскируются. Потенциально неожиданное поведение, например, автоматическое разбор тела запроса, хорошо документировано и отключено по умолчанию. Наконец, когда дело доходит до самого фреймворка, мы стараемся поддерживать простоту и понятность логических путей. Всё это упрощает понимание кода и отладку граничных случаев в масштабируемых развертываниях.

Особенности

  • Высокооптимизированная, расширяемая кодовая база
  • Интуитивное маршрутизирование с помощью шаблонов URI и классов ресурсов, вдохновлённых REST
  • Легкий доступ к заголовкам и телам через классы запроса и ответа
  • Обработка запросов DRY с помощью компонентов и хуков middleware
  • Идиоматические HTTP-ответы на ошибки
  • Простое управление исключениями
  • Быстрое тестирование с помощью WSGI-помощников и моков
  • CPython 2.6-2.7, PyPy 2.7, Jython 2.7 и

Об Apache 2.0

Falcon распространяется на условиях лицензии Apache 2.0. Это означает, что вы можете использовать его в своих коммерческих приложениях, не раскрывая исходный код. Также это означает, что если кто-то внесёт код, связанный с патентом, вам предоставляется бесплатная лицензия на использование этого патента. Это довольно выгодное соглашение.

Теперь, если вы внесёте изменения в сам Falcon, рассмотрите возможность внесения вашего замечательного вклада обратно в сообщество.

Лицензия Falcon

Авторские права 2012-2017 принадлежат Rackspace Hosting, Inc. и другим участникам, как указано в отдельных файлах исходного кода.

Лицензировано по лицензии Apache 2.0 («Лицензия»); вы не можете использовать этот файл, кроме как в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу

http://www.apache.org/licenses/LICENSE-2.0

Если закон или соглашение не требуют иного, программное обеспечение, распространяемое в соответствии с Лицензией, распространяется «как есть», БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. Обратитесь к Лицензии для получения конкретных сведений об условиях использования и ограничениях.

Внося вклад в этот проект, вы соглашаетесь на лицензирование своего исходного кода в соответствии с условиями лицензии Apache 2.0, описанной выше.

© 2012–2017 by Rackspace Hosting, Inc. and other contributors
Licensed under the Apache License, Version 2.0.
https://falcon.readthedocs.io/en/1.4.1/user/intro.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API