На прошедшей в выходные конференции FOSDEM, Майкл Микс (Michael Meeks), входящий в управляющий совет организации Document Foundation, выступил с докладом (PDF, 7.2 Мб), в котором продемонстрировал прототип версии офисного пакета LibreOffice для платформы Android и наработки в области создания серверной версии LibreOffice Online, работа с которой осуществляется через web-бразуер.

Интеграция поддержки доступа к интерфейсу LibreOffice через web-браузер открывает широкие возможности для экспериментов с работой офисного пакета на стороне сервера, которые можно использовать для создания сервисов для организации удалённой работы с офисным пакетом через Web. Доступ к интерфейсу через браузер основан на задействовании штатного HTML5-бэкенда библиотеки GTK+ 3.2, предназначенного для отрисовки вывода 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 и для устройств с небольшим экранным разрешением, таких как смартфоны. При создании порта использованы наработки Тора Лилквиста (Tor Lillqvist), работающего в SUSE и известного своей работой по портированию Gimp для Windows. Порт для Android пока находится на ранней стадии развития и в основном пока ограничивается малопригодной для реального использования демонстрацией, ещё предстоит большая работа по переработке интерфейса с учетом специфики сенсорных экранов.

С целью упрощения поддержки принято решение не создавать отдельных веток продукта, а адаптировать общую кодовую базу для различных систем, обеспечивая максимальное совместное использование кода различными сборками. Практика показывает, что попытка обеспечить поддержку переработанных отдельных веток таких объемных продуктов как офисных пакет, обычно приводит к провалу, что можно наблюдать на примере Microsoft Pyramid и варианта Corel Office на Java. Совместное использование одной кодовой базы не только позволит упростить поддержку продуктов и гарантирует полную совместимость, но и будет стимулировать оптимизацию работы обычной настольной версии пакета. Например, при создании версии для мобильных устройств потребуется внесение значительных оптимизаций, касающихся как снижения нагрузки на CPU, так и уменьшения потребления памяти. Так как мобильная версия будет основана на общем коде, внесённые улучшения положительно скажутся и на работе других редакций офисного пакета.

Варианты офисного пакета LibreOffice для Android и Web интегрированы в основную кодовую базу LibreOffice, на основе которой формируется и версия для обычных ПК. Желающие протестировать новые варианты LibreOffice могут воспользоваться стандартным Git-репозиторием проекта. Все наработки по поддержке сборки для платформы Android и организации доступа к интерфейсу через браузер доступны из основного набора исходных текстов LibreOffice 3.5. Инструкции по сборке могут быть найдены в файлах README.Android и README.cross.

Источник: http://www.opennet.ru/opennews/art.shtml?num=33021