ios/GEN2.txt | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+)
New commits: commit 38ea7a44b74c60e72ceb3dbdfd7fd8567b227f08 Author: Tor Lillqvist <[email protected]> AuthorDate: Wed Jul 1 15:43:11 2020 +0300 Commit: Tor Lillqvist <[email protected]> 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. _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
