ONLYOFFICE або Libre: про битві форматів і у співавторстві

Цей день настав: ми відкрили вихідний код десктопних редакторів ONLYOFFICE. Тепер вони абсолютно безкоштовні для домашнього і комерційного використання. Ліцензія AGPLv3, скачати на сайті код GitHub.

A у цій статті ми просто наведемо кілька аргументів на користь того, щоб при відмові від Microsoft Office з економічних чи ідеологічних причин переходити на ONLYOFFICE, а не на Libre. Читайте далі, щоб відчути біль.

Ви напевно чекаєте, що зараз ми будемо мерятся функціональністю і сперечатися з піною у рота, у кого що краще реалізовано. Не-а. Звичайно можна знайти те, що у нас реалізовано краще, і те, що зроблено краще. Що-то ми не допиляли, десь у них баги. Та й взагалі все це дуже суб'єктивно. Давайте краще розглянемо фактичну сторону справи.




Причина №1. ONLYOFFICE коректно відкриває більшу кількість документів

Найкоротша історія форматів

Давним-давно в далекій-далекій галактиці головні формати документів були бінарними. І звали їх doc, xls і ppt. Світом документів правила Імперія Microsoft. Але з'явилися відважні повстанці OpenOffice, які хотіли звільнити галактику від гніту Імперії і створити власні редактори документів.

Складність полягала в тому, що формати Microsoft були закритими, і пізнати їх таємниці можна було лише забороненим кодексом джедаїв методом реверс-інжинірингу. І відважні повстанці OpenOffice зробили свій відкритий формат XML і назвали його ODF (odt, ods, odp). У них вийшло дуже добре! Це зрозуміли навіть представники імперії, які просто скористалися ідеєю кмітливих повстанців і в 2007 році випустили нову версію свого офісу, збереженні документи у новий формат — OOXML (до болю знайомі нам docx, xlsx і pptx). А далі сталося ось що: у Microsoft виявилося більше ресурсів і програмістів і вони просто зробили свій формат крутіше — поліпшивши і розширивши його. До речі, старі двійкові формати Microsoft теж відкрили, знявши завісу таємниці, щоб розробники, не володіли достатньою кількістю мидихлорианов, теж могли їх законно використовувати.

Треба сказати, що начебто родинні формати ODF і OOXML виявилися абсолютно несумісні між собою. В одному є об'єкти, яких немає в іншому, а в другому є такі властивості, яких немає в першому. Загалом, щоб перегнати один в іншій простим XSLT-перетворення не обійдешся.

Майже всі документи зберігаються в doc або docx

А тепер повернемося від історії до теперішнього моменту і усвідомлюємо ось що: майже 99% всіх текстових документів у вивченій частині галактики зберігаються у форматах doc або docx. При чому велика частина все-таки в docx, тому що починаючи з 2007 року кожен новий створений документ редакторами MS за умовчанням зберігається у нього. В doc зберігаються в основному старі документи. (І до речі, для старих версій word'а в Microsoft запилили плагін, який дозволяє зберігати документи в docx. Їх мета — повністю піти від старого формату). При цьому текстових документів у форматі odt у світі трохи більше одного відсотка.

Ви можете сказати: ви взяли ці цифри зі стелі (ні, це не так, ми проводили дуже велику аналітичну роботу, перш ніж взятися писати наші редактори). Можливо хтось буде намагатися довести, що співвідношення 90 до 10. Але це не міняє суті, оскільки це не 50 на 50 і навіть не 60 на 40. Інакше Libre Office (як спадкоємці Open Office) вже зараз правили б світом нарівні з Microsoft. А Microsoft дійсно править: адже у форматі docx не просто велика частина документів, а МАЙЖЕ ВСІ документи на планеті.

Коли ми вибирали, який з відкритих форматів — ODF або OOXML — робити основним, ми майже не сумнівалися. Ми хотіли коректно відкривати і працювати з більшою частиною документів, а не з меншою.

Коли ми відображаємо документ, ми по суті відображаємо набір об'єктів — певну об'єктну модель. У LibreOffice об'єктна модель документа відповідає формату ODF, створеного програмістами Open Office, у нас — об'єктна модель повністю відповідає формату OOXML, створеного Microsoft. Тому файли формату docx ми відкриваємо краще, ніж Libre, а файли форматів odt — гірше. Але файлів docx набагато більше. Таким чином, ми відкриваємо велику частину існуючих на планеті текстових документів.

(Зверніть увагу: не говоримо зараз, що Libre Office гірше. Їх формат об'єктивно більш рідкісний, тому проблем і труднощів з сумісністю буде набагато більше)

А що ж з odt?

Звичайно, ми працюємо і з цим форматом. Як підтримувати його, коли наш основний формат несумісний з ним docx? Варіанта два: або розробляти окремий редактор (дорого і невигідно), або конвертить. Ми вибрали варіант з конвертацією: при спробі відкрити odt в редакторі ONLYOFFICE, odt автоматично конвертится в docx. На жаль, деякі втрати при конвертації дуже вірогідні, хоча ми, звичайно ж, прагнемо звести втрати до мінімуму.

Відредагований файл ви зможете зберегти назад в odt. Вийде схема з двома конвертациями: odt — docx — odt. Тут потрібно враховувати, що якщо конвертація — це сіно, пропущене через коня, то подвійна конвертація — це сіно, пропущене через коня двічі.

Що ми хочемо сказати цією частиною статті: нам довелося пожертвувати якістю відкриття odt. Однак ми вважаємо, що втрати якості в 1% випадків набагато менш істотні, ніж втрати якості в 99% випадків. Якщо ви розумієте, куди ми хилимо.

Причина №2. Робота в онлайні і спільне редагування

Світ рухається у хмари, і спільна робота над документами для багатьох вже не просто приємний бонус, а життєва необхідність. Libre Office теж працює над онлайн версією редакторів (Collabora Office).

Як влаштований онлайн-редактор Libre (ніяк)

Розробники обрали схему, в якій десктопний редактор крутиться на сервері, а кінцевому користувачу в браузер транслюється картинка того, що відбувається в хмарі. Дії самого користувача передаються на сервер, внесені зміни обробляються редактором, після чого користувачеві відправляється нова картинка. Таким чином, розробники вирішили не розробляти онлайн-редактор, а просто помістити свій готовий десктоп в хмару і налагодити механізм транслянции.

У такого підходу є плюси і мінуси. Плюс: c такою схемою всі функції, які є в десктопі Libre будуть доступні в онлайні. Мінус: щоб у такому онлайн-редакторі могло працювати велика кількість користувачів, доведеться підняти ДІЙСНО БАГАТО серверів. Щось підказує нам, що це буде недешево і дуже повільно.

Крім того, зараз у Libre немає спільного редагування. Взагалі. А так як їх онлайн-редактор — це десктоп, поміщений в хмару, щоб зробити хоч якусь совместку комусь доведеться залізти в його ядро (точніше, код трьох різних десктопних редакторів, які ще й писалися різними командами) і проводити там істотні зміни, оскільки вся мега-функціональність редакторів повинна бути доступна і в спільній роботі. Іншими словами, доведеться отрефакторить три редактора. Як ви розумієте, переписувати код редакторів і робити механізм ретрансляції — це досить далекі один від одного завдання. Загалом, наш прогноз — співавторства у LibreOffice не буде ще довго. Але всі функції десктопа будуть.

Десктоп ONLYOFFICE — це браузер

Ми вважаємо, що нам в цьому плані пощастило більше: ми спочатку написали онлайн-редактор, а потім переробили його в десктоп. Скажімо так, співавторство у нас є за замовчуванням, оскільки десктоп ONLYOFFICE по суті представляє собою браузер, який відкриває не всі сторінки, а тільки наші документи. Для цього ми використовуємо Chromium Embedded Framework (CEF), детальніше про це можна прочитати в нашій статті про анатомію десктопних редакторів.

З інших плюсів — ми вважаємо, що наші редактори це редактори «майбутнього», вони будуть працювати на всьому, що підтримує HTML, будь-то нова китайська операційна система або інопланетна технологія з можливістю доступу до земного інтернету (ми припускаємо, що інопланетяни все-таки вирішать налаштувати собі інтернет, щоб краще вивчити нашу цивілізацію).

(Дуже) Короткі висновки

Якщо раптом ви не змогли прочитати багато букв вище, то тут ми коротко сформулюємо основні відмінності open source редакторів ONLYOFFICE від офісного пакету Libre Office:
  • Основний формат, з яким працює ONLYOFFICE, — OOXML (docx, xlsx, pptx). Основний формат Libre — ODF (odt, ods, odp).
  • ONLYOFFICE краще відкриває docx, Libre — odt. Але більша частина існуючих на Землі документів збережена в docx.
  • Libre Office знаходиться в процесі створення онлайн-версії. Про спільне редагування мова поки не йде.
  • Десктопні редактори ONLYOFFICE зросли з онлайн-версії. Співавторство є в них за замовчуванням.


Загалом, вам вирішувати.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.