Как запустить полноценный Office прямо в браузере без сервера и регистрации

06 мар 2026
1,440
184
8
5 месяцев

Представьте ситуацию: вам нужно внедрить просмотр или небольшое редактирование документов Word и Excel в свой проект. Обычно выбор невелик: либо платные тяжеловесные решения типа Google Docs API или Microsoft Graph, либо попытки поднять свой сервер с LibreOffice или OnlyOffice Document Server. А теперь представьте, что все это работает на чистом фронтенде, не отправляет файлы на сторонние сервера и не требует бэкенда вообще.

Office App Logo

Репозиторий office-website — это как раз такая попытка перенести офисный пакет в браузер, используя мощь WebAssembly.

Что это за проект

Проект представляет собой реализацию концепции local-first для офисных документов. По сути, это легкая обертка над движком Open XML, скомпилированным в WASM. Основная идея в том, что ваши .docx, .xlsx и .pptx файлы обрабатываются исключительно на стороне клиента.

Автор проекта использовал наработки OnlyOffice, но упаковал их в современный стек на Next.js 15. Это не просто «просмотровая» библиотека, а полноценное веб-приложение, которое можно развернуть на Cloudflare Pages или любом статическом хостинге за пару минут.

Реклама

Чем он интересен разработчику

Главная фишка здесь — приватность и автономность. Поскольку обработки на сервере нет, вы избавляетесь от целого пласта проблем с безопасностью данных и нагрузкой на CPU вашего сервера.

Вот что умеет этот «офис на стероидах»:

  • Полный цикл работы с файлами. Можно не только открывать готовые документы, но и создавать новые прямо из интерфейса.
  • Использование IndexedDB. Для хранения временных файлов и состояния редактора используется локальная база данных браузера. Если вы случайно закроете вкладку, данные никуда не денутся.
  • Интеграция с облаками через Uppy. Несмотря на локальную обработку, файлы можно подтягивать напрямую из Google Drive, Dropbox или OneDrive.
  • WASM-конвертация. Благодаря проекту OnlyOffice x2t WASM, сложные операции по преобразованию форматов происходят внутри браузерной песочницы.

Взгляд под капот

Технологический стек выглядит очень бодро для 2024-2025 года. Вместо старых тяжелых библиотек здесь:

  • Next.js 15+ в качестве основы.
  • Zustand для управления состоянием. На мой взгляд, это идеальный выбор для такого приложения — минимум бойлерплейта по сравнению с Redux.
  • Radix UI и Lucide Icons. Интерфейс выглядит чисто, современно и отзывчиво. Нет ощущения «привета из 2000-х», которым часто грешат опенсорсные редакторы.

Интересно, как реализована работа с данными. Автор использует библиотеку idb для удобного взаимодействия с IndexedDB. Это позволяет приложению работать практически как нативному десктопному софту в плане кэширования и сохранения прогресса.

Как это попробовать

Запустить проект локально проще простого. Вам понадобится Node.js версии 22 или выше (это важно из-за требований свежего Next.js) и pnpm.

git clone https://github.com/baotlake/office-website
cd office-website
pnpm install
pnpm dev

После этого по адресу localhost:3000 поднимется готовый редактор. Если захотите выкатить это в продакшн, проект уже преднастроен под Cloudflare Pages. Команда pnpm deploy сделает всё за вас.

Кому это пригодится

Я вижу несколько сценариев, где этот проект будет полезен. Во-первых, если вы делаете внутреннюю корпоративную систему, где безопасность данных критична и файлы не должны покидать контур браузера пользователя. Во-вторых, для учебных проектов или CRM-систем, где нужно быстро глянуть содержимое документа, не скачивая его на диск.

Конечно, стоит понимать, что это не стопроцентная замена полноценному Microsoft Office в плане сложных макросов или тяжелой верстки. Но для 90% повседневных задач — поправить текст в договоре или проверить цифры в таблице — возможностей WASM-движка хватает за глаза.

Проект сейчас находится в версии 0.1.0. Документация пока довольно лаконичная, но код открыт под лицензией AGPL v3, так что можно смело изучать внутренности и адаптировать под свои нужды. Если вы искали способ «прикрутить офис» без боли с серверной частью — это отличный кандидат для старта.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.