KDE Project:
Introduction
Coffice (Calligra Office or coffee-in-office) is a new project that tries to make Calligra available on mobile platforms like Android, Blackberry 10, Jolla SailfishOS and Ubuntu Phone.
With the MeeGo-saga, where Calligra was the office suite that Nokia shipped with the N9, a huge chunk of focus went on trimming Calligra for mobile platforms, improving performance and compatibility with ISO OpenDocument (ODF) and Microsoft Office formats (binary and XML). When MeeGo got finished focus shifted to other platforms. Our always present Linux Desktop got extended with a great port to Windows and Krita Scetch, both done by KO GmbH. More then a year ago we also saw a first port of Calligra on Android that unfortunately never got polished enough to be published on Android’s app-store(s).
Meanwhile I had the luck to build up Qt on Android expertise thanks to my employer KDAB.
Enter Coffice.
The Goals
Unlikely previous attemps that always tried to bring a 1:1 port of Calligra to mobile platforms including all dependencies I defined different goals. Those are:
* Focus on a Calligra Words (word processor) ODT viewer. Since bringing a whole Office suite to another platforms is a huge task and I am a small team I had to focus. Later on I plan to add doc/docx support, editing, saving and Calligra Sheets (spreadsheets) and Calligra Stage (presentations).
* Slim! Ever since ~10 years ago now when I joined KOffice/Calligra the size of the suite is overwhelming. A huge chunk is Calligra itself, that consists of a dozend of very specialized applications. That I addressed with my focus on Words, on a selected number of plugins. The other reason for that size are the dependencies. Among them kdelibs and all it drags in. During MeeGo-times we handled that with a slim hand-modified kdelibs but decided very fast that’s the wrong way. Instead we got or will get what is commonly known yet as kdeframeworks. A much more modular kdelibs that solves the huge chunk of dependencies that are dragged on to other platforms where we (as app developers) are not particular interested in Linux Desktop integration but more into the platform that app runs on.
Work Done
* Coffice uses qmake rather then cmake. I decided for qmake cause qmake works out of the box on all mobile platforms that are supported by Qt. If cmake is too it may make sense to change to cmake (or not) – don’t have a string opinion there. Its a tool to reach the goal.
* Coffice is 100% Qt-only. For that I introduced the coffice/fake library which maps kdelibs-API direct to Qt without all the functionality, without dbus, without daemons, etc. In most cases not even with implementation at all. Its a thin-layer to get Calligra or …read more
Source: FULL ARTICLE at Planet KDE
