Он собрал целый редактируемый PowerPoint — слайды, графики, живое совместное редактирование — в один HTML-файл

Bento — это один .html-файл, который открывается, редактируется и синхронизируется как полноценное приложение для презентаций: читаемый блок JSON со слайдами, сжатая оболочка приложения под ним и совместное редактирование в реальном времени через Cloudflare — и всё это без единого серверного приложения.

Вкратце

Bento упаковывает полный эквивалент PowerPoint — редактирование слайдов, живой просмотр, встроенные данные, совместное редактирование в реальном времени — в один HTML-файл, который открывается в любом браузере: без установки, без аккаунта, без серверного приложения.

Автор пришёл в тред объяснить внутреннее устройство: сверху читаемый JSON со слайдами, ниже — сжатая оболочка приложения, разворачивающаяся в браузере, и сквозное шифрованное совместное редактирование через Cloudflare Durable Objects.

Один точный вопрос в треде: почему на главной странице AI упоминается более двадцати раз, обёрнутый в стены обфусцированного base64 — справедливая претензия к маркетинговому шуму вокруг по-настоящему изобретательной инженерии.

Один файл, без сервера, целое приложение для презентаций

Bento: запись на Show HN, набравшая 747 очков: самодостаточный инструмент для презентаций, где всё приложение (редактор, просмотрщик, модель данных и слой совместной работы) живёт внутри одного файла .html. Открываешь его в любом браузере — и получаешь работающий эквивалент PowerPoint; без установки, без создания аккаунта, без развёртывания бэкенда. Это часть небольшого, но растущего жанра, который комментаторы называют «однофайловыми веб-приложениями»: софт, который ведёт себя как настоящее приложение, но поставляется и путешествует как один переносимый, читаемый документ.

Как это устроено на самом деле — со слов создателя

Автор, публикующийся под ником starfallg, объяснил архитектуру прямо в треде: файл разделён на две части. Ближе к началу лежит обычный, читаемый блок JSON с данными самих слайдов, то, что можно grep-нуть, сравнить diff'ом или скормить автоматизированным инструментам, не касаясь бинарного формата. Ниже расположена оболочка приложения, упакованная как blob base64, разворачивающийся в браузере на лету через API DecompressionStream, что позволяет избежать внешних запросов файлов. Редактирование и просмотр построены на базе reveal.js, анимацией занимается GSAP/Flip, хотя автору в итоге пришлось переписать оригинальную библиотеку визуализации данных (echarts) заново после проблем с размером и поведением при интеграции в однофайловую модель.

Самая интересная с технической точки зрения часть, совместная работа: редактирование в реальном времени несколькими пользователями идёт через небольшой релей на Cloudflare Durable Objects, который видит от клиентов только зашифрованные данные: сам релей не может прочитать, что редактируется. Совместная работа по умолчанию выключена и включается для каждого документа отдельно через генерацию и отправку файла-приглашения, с гибким управлением доступом вплоть до пользователей только для чтения и возможностью отозвать право редактирования в реальном времени у конкретного человека. File System Access API отвечает за запись изменений обратно в тот же .html-файл на диске, с откатом на обычное скачивание в браузерах без поддержки API, а каждая запись криптографически подписана через ECDSA.

Претензия, которая всё же попала в цель

Не вся реакция была чистым инженерным восторгом. Один комментатор жёстко прошёлся по маркетинговой поверхности: «Почему на главной AI упоминается больше 20 раз? Зачем вообще упоминать AI? Почему бо́льшая часть страницы абсурдно длинный и обфусцированный base64, который выглядит как бинарные данные?» Справедливая претензия, отдельная от технических достоинств самого инструмента: посадочная страница, набитая AI-баззвордами поверх по-настоящему новаторской однофайловой архитектуры, читается как маркетинговый перебор поверх реальной инженерии, и несколько ответов согласились, что AI-обёртка добавляет шум, а не ясность о том, что инструмент на самом деле делает.

Это трение в сторону, приём по существу оказался в основном положительным. «Это потрясающе. Обожаю, что это одно приложение — один файл», написал один комментатор, назвав это «глотком свежего воздуха в эпоху, когда всё арендуешь и ничем не владеешь»: реакция на самое отличительное свойство Bento: нет подписки, нет привязки к вендору и нет серверной зависимости между пользователем и его собственным файлом презентации. В том же треде всплыл ещё один Show HN, не связанный проект инфраструктурной автоматизации, тоже названный «bento», — совпадение, которое автор отметил с пожатием плеч, а не ребрендингом.

Получайте такие разборы каждый день

Главные истории Hacker News — на email, в Telegram или RSS.

Следующая новость · 12 из 18 Читать дальше
🌍Other

Он перепробовал Google, DuckDuckGo, Brave и свой SearxNG — и вернулся к платному поисковику

Блогер, ушедший от Kagi проверить рынок — включая собственный инстанс SearxNG, — оформил подписку обратно. Причина оказалась не только в качестве результатов: дело в том, что интерфейс Kagi можно переписать своим CSS, а такого никто больше не давал повторить даже через юзерскрипты.

★ 235 · 💬 184 · blog.melashri.net · 4 мин