Коа Дж.С.

Koa — это новая веб-инфраструктура, разработанная командой Express, которая призвана стать меньшей, более выразительной и более надежной основой для веб-приложений и API. Используя генераторы, Koa позволяет отказаться от обратных вызовов и значительно улучшить обработку ошибок. Koa не включает промежуточное ПО в ядро ​​и предоставляет элегантный набор методов, которые делают написание серверов быстрым и приятным.

Приложение Koa — это объект, содержащий массив функций промежуточного программного обеспечения, которые составляются и выполняются в виде стека по запросу. Koa похожа на многие другие системы промежуточного программного обеспечения, с которыми вы, возможно, сталкивались, такие как Ruby’s Rack, Connect и т. д., однако ключевое дизайнерское решение было принято для обеспечения высокого уровня «сахара» на низкоуровневом уровне промежуточного программного обеспечения. Это улучшает совместимость, надежность и делает написание промежуточного программного обеспечения намного более приятным.

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

Обязательное приложение hello world:

const Koa = требуется('koa');

const приложение = новый Коа();

app.use(ctx => {

ctx.body = «Привет, мир»;

});

приложение.слушай(3000);

Изучайте коа, если:

Как правило, вам нравится быть на шаг впереди и быть на переднем крае.

Ваш проект должен быть перспективным, долговечным и простым в обслуживании в долгосрочной перспективе.

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

Коа против Экспресса

С философской точки зрения Koa стремится «исправить и заменить узел», тогда как Express «дополняет узел». Koa использует обещания и асинхронные функции, чтобы избавить приложения от ада обратных вызовов и упростить обработку ошибок. Он предоставляет свои собственные объекты ctx.request и ctx.response вместо объектов req и res узла.

Express, с другой стороны, дополняет объекты req и res узла дополнительными свойствами и методами и включает в себя множество других «каркасных» функций, таких как маршрутизация и шаблоны, которых нет в Koa.

Таким образом, Koa можно рассматривать как абстракцию http-модулей node.js, тогда как Express — это инфраструктура приложений для node.js.

Чем Koa отличается от Connect/Express?

  • Сгенерированный поток управления
  • Нет обратного ада.
  • Лучшая обработка ошибок с помощью try/catch.
  • Домены не нужны.
  • Коа голая
  • В отличие от Connect и Express, Koa не содержит промежуточного программного обеспечения.
  • В отличие от Express маршрутизация не предусмотрена.
  • В отличие от Express, многие удобные утилиты не предоставляются. Например, отправка файлов.
  • Коа более модульный.
  • Koa меньше полагается на промежуточное ПО
  • Например, вместо промежуточного программного обеспечения «анализа тела» вы должны использовать функцию анализа тела.
  • Koa абстрагирует запрос/ответ узла
  • Меньше хакерства.
  • Лучший пользовательский опыт.
  • Правильная обработка потока.

ПЛЮСЫ

  • Поддержка генераторов с нуля. Использование генераторов (передовая функция даже для Node.js) очистит ваш код от беспорядка, вызванного всеми этими обратными вызовами; сделать ваш код более управляемым.
  • Команда разработчиков имеет проверенный послужной список
  • Koa разработан командой разработчиков широко используемого фреймворка node.js (express.js).
  • Чрезвычайно легкий
  • Koa очень легкий, всего 550 строк кода.
  • ключевые слова sync/await поддерживаются и выходят за рамки функций генератора
  • Функции генераторов, конечно, огромный плюс, но в то время команда Koa превзошла функции генерации и перешла к программированию в стиле async/await. Это сделало Koa лучшим фреймворком на рынке.

МИНУСЫ

  • Сообщество относительно небольшое.
  • Несовместимо с ПО промежуточного слоя экспресс-стиля.
  • Koa использует генераторы, которые несовместимы с промежуточным ПО Node.js любого другого типа.

Поговорите с нашими разработчиками

Другие блоги: