[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