Предыдущая часть
Картина мира: почему браузер — главный блокер для «настоящего» gRPC
Если коротко, gRPC живёт поверх HTTP/2 и активно полагается на стримы. А в браузере до сих пор нет низкоуровневого API, который позволил бы JavaScript управлять HTTP/2‑стримами на том уровне, который нужен gRPC. Даже unary‑вызов в gRPC — это частный случай стрима: открыли поток, отдали запрос, забрали ответ, закрылись. Пока браузеры не дадут этот «рычаг», все WEB‑решения — это компромиссы разной степени изящности.
Чем это оборачивается на практике:
Нативные bidi‑стримы из браузера недоступны
Приходится конвертировать транспорт: HTTP/1.1 или WebSocket → что‑то «похоже на gRPC» → gRPC/HTTP2 на бэкенде
Добавляются прокси, адаптеры и слой совместимости, где теряется часть достоинств «чистого» gRPC