На прошедшей в выходные конференции FOSDEM, Майкл Микс (Michael Meeks), входящий в управляющий совет организации Document Foundation, выступил [4] с докладом (PDF [5], 7.2 Мб), в котором продемонстрировал прототип версии офисного пакета LibreOffice для платформы Android и наработки в области создания серверной версии LibreOffice Online, работа с которой осуществляется через web-бразуер.
Интеграция поддержки доступа к интерфейсу LibreOffice через web-браузер открывает широкие возможности для экспериментов с работой офисного пакета на стороне сервера, которые можно использовать для создания сервисов для организации удалённой работы с офисным пакетом через Web. Доступ к интерфейсу через браузер основан на задействовании штатного HTML5-бэкенда библиотеки GTK+ 3.2 [6], предназначенного для отрисовки вывода GTK-приложений в окне web-браузера. Значительным преимуществом использования отрисовки интерфейса через HTML5-бэкенд GTK+ является обеспечение неизменного отображения структуры документа, не отличающегося от версии для настольной системы (интерфейс LibreOffice в браузере формируется не через компоновку с использованием HTML, а через вывод готовых битмапов).
С технической стороны, содержимое окон передается клиенту в виде копий слоев и блоков, при этом передаются только изменившиеся части интерфейса. Изображения отправляются в формате PNG. Пользовательский ввод перехватывается через DOM-события и затем транслируется на сервер через WebSocket API, позволяющий организовать двунаправленный обмен данными с сервером. Утверждается, что однопользовательский вариант LibreOffice Online в основном уже готов для использования и будет представлен как штатная возможность LibreOffice 3.5. Из планов на будущее отмечается работа в направлении создания облачных сервисов на базе LibreOffice, поддерживающих и аутентификацию и возможность одновременной работы нескольких пользователей. По расчёту разработчиков, после внесения соответствующих оптимизаций, сервер с 4-ядерным CPU сможет обслуживать 200-300 одновременно работающих пользователей.
Версия LibreOffice для платформы Android основывается на использовании инструментария Android NDK ("Native Development Kit"), позволяющего позволяющий организовать выполнение нативного Си/Си++ кода и оформить итоговый продукт в виде APK-пакета, который можно установить как обычное приложение для Android. Так как ресурсы мобильных устройств ограничены, осуществляется сборка сокращённой версии офисного пакета, содержащая только базовые элементы редактора документов, табличного процессора и системы для построения презентаций. Конечной целью является подготовка в первую очередь удобного инструмента для просмотра документов, который со временем будет расширен ограниченными функциями редактирования.
В настоящее время версия для Android позиционируется для использования на планшетах. Со временем планируется адаптировать LibreOffice и для устройств с небольшим экранным разрешением, таких как смартфоны. При создании порта использованы наработки Тора Лилквиста [7] (Tor Lillqvist), работающего в SUSE и известного своей работой по портированию Gimp для Windows. Порт для Android пока находится на ранней стадии развития и в основном пока ограничивается малопригодной для реального использования демонстрацией, ещё предстоит большая работа по переработке интерфейса с учетом специфики сенсорных экранов.
Ссылки:
[1] http://htfl.ru/cat-news-android
[2] http://htfl.ru/cat-news-libreoffice
[3] http://htfl.ru/cat-news-novosti-po
[4] /out.php?link=http://people.gnome.org/~michael/blog/2012-02-04.html
[5] /out.php?link=http://people.gnome.org/~michael/data/2012-02-04-online-in-pocket.pdf
[6] http://htfl.ru/news/reliz-gtk-320
[7] /out.php?link=http://tml-blog.blogspot.com/
[8] /out.php?link=http://cgit.freedesktop.org/libreoffice/core/
[9] /out.php?link=http://cgit.freedesktop.org/libreoffice/core/log/?h=feature/android
[10] /out.php?link=http://cgit.freedesktop.org/libreoffice/core/tree/README.Android
[11] /out.php?link=http://cgit.freedesktop.org/libreoffice/core/tree/README.cross