Комментарии 10
Как бы архитектурные решения тут не шли бы со времен StarOffice.
Вы взяли для рассмотрения чуть ли не самый плохой пример. Ленточный интерфейс делал в свое время студент, сейчас он работает на Коллабору и сам признает, что там надо все с нуля переписать.
Ну и я не уловил посыла статьи. Что в итоге плохо или хорошо или что?
хорошо что проект все таки работает во всей своей крос-платформенности, то что идеи не прослеживаются до задач предметной области не хорошо. Это заметки на полях.
то что идеи не прослеживаются до задач предметной области не хорошо
о каких идеях вы говорите?
ну во первых вы правильно заметили про ленточный интерфейс, и соответственно способ описания объектов в XML-е, способ парсинга (в рантайме) с захардкоженными строками по разным файлам. Но даже без ленточного интерфейса одни и те же группы функций в разных приложениях многократно реализованы и конечно "немного" по разному (например рисование 2д примитивов). Еще меня поразило что даже поддержка видео забита гвоздями в куче подпроектов, а не компилируется как отдельная динамически линкуемая библиотека, хотя вроде не дожно быть проблем с динамической линковкой и отдельной компиляцией при наличии UNO интерфейсов, получается фактически дискредетация идеи, идея есть но мы ее не используем на практике, почему функции видео нельзя было реализовать и вызывать из совершенно отдельно скомпилированного UNO компонента-вопрос риторический. Тот же самый вопрос применим фактически к любой более менее специфической функции.
Хотя документация про FCM - это действительно документация для разработчика приложений для LibreOffice, но она в большой мере отражает и внутреннее устройство Офиса так как все перечисленные классы активно применяются внутри в коде Офиса, там все есть: и фреймы и контроллеры и view, документы которые модель и через шелл-ы доступны, ... и все работает через UNO интерфейсы и хелперы.
У меня стойкое ощущение, что "разбираясь" с проектом (не вполне понятно, что именно вложено в этот термин), Вы не разобрались, что документация про FCM (ссылку на которую Вы приложили, и по которой сразу можно прочесть "It assumes that you have read the chapter First Steps, and that you are able to connect to the office and load documents") - это документация для разработчика приложений для LibreOffice, и она не имеет ничего общего с описанием того, как LibreOffice устроен внутри - там описана архитектура UNO API.
это документация для разработчика приложений для LibreOffice
если бы вы ссылку дали на документацию как LibreOffice устроен внутри я бы был вам очень благодарен, а так приходится довольствоваться тем что есть, это как бы тоже проблема.
Анализ реального исходного кода OpenSource проекта. Заметки на полях