hyper (hyperium/hyper)
Searching Database…
Что это такое?
hyper — это HTTP-библиотека для Rust. Она предоставляет и клиентский, и серверный API с поддержкой HTTP/1 и HTTP/2.
Это фреймворк, на котором я мог бы построить приложение, или что-то более низкоуровневое?
Это библиотека, а не фреймворк — намеренно низкоуровневая, задуманная как строительный блок для других библиотек и приложений.
С чего мне начать с ним работать?
Отправная точка в README — это его руководства; на практике нужно добавить hyper как зависимость в свой Cargo.toml и следовать им.
Нужно ли мне что-то ещё, кроме Rust?
Только инструментарий Rust — hyper это крейт для Cargo, и других предварительных требований (системных библиотек или сервисов) в README не упоминается.
Стоит ли мне использовать hyper напрямую, или есть что-то более удобное поверх него?
Часто второе: в README предлагается reqwest как удобный клиент и axum или warp как сервер — оба построены поверх hyper. Сам hyper выбирайте, когда нужен низкоуровневый контроль.
Мне, как разработчику приложений, стоит этим пользоваться, или это в основном для авторов библиотек?
И то и другое: для разработчиков приложений, которым нужен HTTP в Rust, и для авторов фреймворков и библиотек, которым нужна проверенная низкоуровневая основа для построения.
Можно ли использовать его в коммерческих проектах?
Да — hyper распространяется по лицензии MIT, так что свободен и для личного, и для коммерческого использования.
Почему важна асинхронная архитектура?
Асинхронный ввод-вывод позволяет одному процессу работать с очень большим числом соединений без отдельного потока на каждое — на этом механизме основано заявление hyper о ведущей производительности.
Он достаточно проверен для продакшена?
Да — в README приводятся примеры широкого использования в продакшене, библиотека описывается как протестированная и корректная, и заявляется лидирующая производительность.
hyper всё ещё активно поддерживается?
Да — проект ведётся с 2014 года, у него более 16 000 звёзд на GitHub, а в репозитории работают CI, бенчмарки и workflow с cargo-audit.
Which topics is it in?
web-server, http-client, protocol, low-level, async, http, benchmark, developers, backend, networking, performance, rust