JSON API на базе Bun.WebView из Bun 1.4: прототип и требования к памяти¶
7.0/10
Контекст¶
Саймон Уиллисон рассказывает о выходе Bun 1.4 — первого стабильного релиза после переписывания рантайма с Zig на Rust. Среди множества новых функций его особенно заинтересовала Bun.WebView, которая добавляет в Bun встроенную поддержку автоматизации браузера через macOS WebKit или управление локальным Chromium по протоколу CDP. Автор хотел проверить, сколько оперативной памяти потребует такой сервис.
Суть¶
Уиллисон описывает прототип веб-API, вдохновлённый его инструментом shot-scraper javascript: сервис загружает веб-страницу и выполняет против неё произвольный JavaScript. Реализация написана на TypeScript и использует новую Bun.WebView. Ключевой практический результат — замеры потребления памяти: для запуска полноценного Chrome и обработки сложных страниц достаточно контейнера с 192–256 МБ ОЗУ, что было проверено с помощью cgroups. Автор приводит код сервера, но не углубляется в детали реализации или ограничения, сосредоточившись на демонстрации работоспособности и оценке ресурсов.
Вывод¶
Главный вывод автора: Bun.WebView делает браузерную автоматизацию доступной прямо в ядре Bun, и даже полноценный Chromium можно запускать в довольно скромном контейнере на 192–256 МБ. Это открывает путь к лёгким JSON-API для работы со страницами без отдельной инфраструктуры.