[Libreoffice-commits] online.git: ios/GEN2.txt

Tor Lillqvist (via logerrit) logerrit at kemper.freedesktop.org
Wed Jul 1 12:49:38 UTC 2020


 ios/GEN2.txt |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

New commits:
commit 38ea7a44b74c60e72ceb3dbdfd7fd8567b227f08
Author:     Tor Lillqvist <tml at collabora.com>
AuthorDate: Wed Jul 1 15:43:11 2020 +0300
Commit:     Tor Lillqvist <tml at collabora.com>
CommitDate: Wed Jul 1 15:48:44 2020 +0300

    Add musings about a "second generation" of the iOS app

diff --git a/ios/GEN2.txt b/ios/GEN2.txt
new file mode 100644
index 000000000..4ab55b990
--- /dev/null
+++ b/ios/GEN2.txt
@@ -0,0 +1,53 @@
+Generation 2 of the iOS app:
+
+Goal:
+
+- Simplified plumbing and largely reduced risk of things going
+  horribly wrong.
+
+Ideas:
+
+- No more FakeSockets.
+
+- No more large number of threads emulating the processes and threads
+  in web-based Online.
+
+- Still based on WebView, though, and the same Online JavaScript still
+  used.
+
+- The completely unrelated "FakeWebSocket" thing in our JavaScript is
+  not going away.
+
+- Just handle incoming messages from JavaScript and callbacks from LO
+  core as received. Either directly or by scheduling a block to be
+  executed. Do not pretend that there is a bunch of processes that
+  need to use sockets for IPC as in web-based Online. Do not pass
+  messages between threads using FakeSockets.
+
+- Reduce and simplify the use of the Online C++ code.
+
+Steps:
+
+- Rename the Objective-C files/classes to have a CO prefix. Reduces
+  risk of confusion with C++ classes.
+
+- ...
+
+Problems:
+
+Clearly this change can't be done in one step, and is not necessarily
+of high priority, but has to be done over a period of several months.
+How to make sure other changes done to Online at the same time don't
+interfere? If kept in a branch, changes from the master branch must be
+merged in on an almost daily basis.
+
+When some of the functionality in Online C++ can/should be re-used
+after all (probably things like the basic handling of messages, where
+one might guess that large chunks of code is re-usable), separate out
+such functionality into a class of its own in the master branch first,
+and use that then in the gen2 branch.
+
+What about the Android app? There hardy is interest to make similar
+changes to it, if it works fine already, and there is no need to make
+it handle multiple open documents in the same app process. Need to
+keep the FakeSocket code for it, etc.


More information about the Libreoffice-commits mailing list