Что это такое?
hapi (@hapi/hapi) — это веб-фреймворк для Node.js, который позволяет создавать мощные и масштабируемые приложения с минимальными накладными расходами и полной функциональностью «из коробки» — в духе «ваш код, ваши правила».
Это полноценный фреймворк или набор библиотек, которые нужно самому собирать воедино?
Это полноценный веб-фреймворк: вы подключаете @hapi/hapi как зависимость через npm, и он сам берёт на себя HTTP-слой — маршрутизацию, обработку запросов и ответов, — хотя внутри собран из модулей @hapi/*, которые поставляются вместе с ним.
Как запустить сервер на hapi?
Установите его командой npm install @hapi/hapi (нужен Node.js 14.15.0 или новее), затем создайте сервер, определите маршруты и запустите его; на портале hapi.dev есть учебные материалы и полная справка по API.
Что нужно установить заранее, чтобы пользоваться им?
Только Node.js версии 14.15.0 или новее. Всё, что нужно hapi, поставляется в комплекте в виде модулей @hapi/* (кэширование, маршрутизация, обработка MIME, форматы ошибок), поэтому ни компиляция нативного кода, ни база данных не требуются.
Что hapi даёт «из коробки» помимо маршрутизации?
Многое: кэширование через @hapi/catbox, обработку MIME-типов через @hapi/mimos, стандартизированные форматы ошибок через @hapi/boom и серверные события через @hapi/podium — всё это поставляется в комплекте. Именно это README называет «полной функциональностью из коробки».
hapi платный? Есть ли платные тарифы?
Нет. Это бесплатный проект с открытым исходным кодом, и учебные материалы с документацией на портале разработчиков hapi.dev тоже доступны бесплатно.
Which topics is it in?
scaling, scalable, web-application, apis, application, minimal, routing, web-server, script, caching, web-framework, node