Команда LibreOffice работает над переносом на WebAssembly, размещенную в браузере, и надеется, что к лету 2021 года появится рабочая демонстрация. «Так развивается отрасль», — сказал член правления Document Foundation Торстен Беренс.

Браузерные версии офисного пакета с открытым исходным кодом уже существуют в виде Collabora Online и LibreOffice Online (LOOL), в основном разработанная Collabora.

The Document Foundation, управляющий проекта LibreOffice, сказал что компания «не планирует разрабатывать и финансировать облачное решение, подобное существующим продуктам Google и Microsoft», потому что это «не соответствует первоначальной миссии проекта».

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

Выступая на FOSDEM 2021 Мероприятие для разработчиков с открытым исходным кодом в начале этого месяца, Беренс сказал, что LOOL основан на элементе HTML5 Canvas, который отображает документ, но что «весь рендеринг, все взаимодействие с документом, все редактирование» происходит на сервере.

Эта демонстрация Qt Mandelbrot была успешно построена с помощью системы сборки gbuild LibreOffice; это единственное, что пока работает

Эта демонстрация Qt Mandelbrot была успешно построена с помощью системы сборки gbuild LibreOffice; это единственное, что пока работает

Это имеет то преимущество, что клиентский код является легковесным, а документ находится на сервере, что хорошо для безопасности и для совместного редактирования, поскольку существует только один экземпляр документа. Недостатки? Нет «автономного режима, его относительно дорого размещать, и нет однорангового редактирования».

По словам Беренса, масштабирование LOOL нетривиально, если вы хотите использовать его «за пределами горстки пользователей».

Читайте также:
Бизнес автоматизированного вождения считает, что автоматизированное вождение безопаснее, чем позволить вам сесть за руль • Реестр

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

2015 год был слишком ранним … но сейчас технологии более развиты

Беренс заметил, что технологический прогресс означает, что современный смартфон мощнее обычного ПК в 90-х годах, когда большая часть кода в ядре LibreOffice (первоначально Звездный офис) был впервые разработан.

Он должен знать — его биография утверждает, что «Торстен был частью проекта OpenOffice.org почти с самого начала, когда он присоединился к тогдашней команде разработчиков Sun Microsystems еще в начале 2001 года».

В таком случае почему бы не запустить LibreOffice «в браузере, и все это, используя эту изящную технологию под названием WebAssembly? Это то, куда движется индустрия», — сказал Беренс.

Идея состоит в том, чтобы использовать API-интерфейсы браузера там, где это возможно, удалить код из самого LibreOffice и скомпилировать основной код в WebAssembly (Wasm). LibreOffice использует библиотеку Qt и Qt для Wasm существует с использованием компилятора Emscripten, причем в документации указано, что «этот формат почти такой же быстрый, как собственный машинный код, и теперь поддерживается всеми основными веб-браузерами».

В бета-версии LibreOffice 7.1 представлены новые функции, включая сворачивание контура в Writer

Бета-версия LibreOffice 7.1 может похвастаться впечатляющим набором функций, которые разочаровывают отсутствие доработки и слабые мобильные устройства.

ПРОЧИТАЙТЕ БОЛЬШЕ

По словам Беренса, команда пробовала это раньше в 2015 году, но не смогла заставить это работать. «Это было слишком рано, технология была слишком молодой, Emscripten не мог даже правильно делать исключения», — сказал он. «Теперь кажется, что звезды гораздо более выровнены. Больше ничего не пропало, даже поддержка потоковой передачи есть».

Читайте также:
Университет Ноттингема ищет новое программное обеспечение для управления персоналом и финансами всего через 18 месяцев после масштабного обновления системы Unit4 °

Существует проблема с совместным использованием памяти между потоками, поскольку браузеры отключают JavaScript SharedArrayBuffer, используемый для этой цели, из-за спекулятивных проблем безопасности выполнения, но есть обходные пути с использованием рабочих служб и передачи сообщений. Writer, который является начальной целью команды, изначально был написан как однопоточное приложение. Также есть проблемы с размером кода. Невозможно загрузить сотни мегабайт двоичного файла Wasm, поэтому цель состоит в том, чтобы сжать Writer до 20–30 МБ Wasm.

Команде удалось скомпилировать код, но, к сожалению, он в основном не работает, — сказал Ян-Марек Глоговски из Мюнхена, который работает над проектом. «Единственное, что можно запустить, — это демонстрация Qt5, которую я перенес на gbuild», — сказал он (gbuild — это система сборки LibreOffice, основанная на инструменте GNU Make.)

YouTube видео

Подробности того, что не сработало, можно найти в беседе Беренса и Глоговски. здесь и в документе readme здесь. «Невозможно скомпилировать динамические модули, код плагина вызывает проблемы, скомпилированный двоичный файл все еще слишком велик, и отладка затруднена», — сказал Глоговски.

«Сейчас мы все еще на начальной стадии», — признал Беренс. Несмотря на эти проблемы, Беренс сказал, что «мы надеемся запустить vcldemo в ближайшее время» — это демонстрация библиотеки Visual Class LibreOffice, которая отображает виджеты, используемые пакетом. Он также стремится к тому, чтобы к лету Writer интерактивно отображался на холсте HTML5. Беренс сказал, что одним из преимуществ будет сквозное шифрование, которое невозможно с LOOL, и сказал, что команда надеется продемонстрировать это до конца года.

Читайте также:
Microsoft пытается переманить Android-пользователей новым приложением

Версия LibreOffice WebAssembly будет удовлетворять другие потребности, чем текущий LOOL, и, в принципе, позволит использовать этот пакет на разных платформах без установки программного обеспечения и без громоздкого серверного приложения — все функции будут в браузере.

Мнения о том, является ли Wasm будущим браузерных приложений, различаются, но надежные способы запуска LibreOffice вне контекста ПК или Mac потенциально могут иметь важное значение для будущего проекта. ®