4 ms·
I used to work on Sheets. We built the “engine” of Sheets in Java. Then we used GWT to transpile to JS (probably switched to J2CL by now). We built Android ve
by timmg 5y ago
I used to work on Sheets. We built the “engine” of Sheets in Java. Then we used GWT to transpile to JS (probably switched to J2CL by now). We built Android version by compiling the Java code against different libraries. And we were the first (or one of?) teams to launch an iOS app using J2ObjC.
I was amazed that we were able to pull it off, tbh. The biggest issue that I remember was that the Java collection classes didn’t transpile well to JS. So we made an abstraction over them. Java code used the native collection classes, JS code used native JS arrays, etc.
- maybeOneDay 5y agoThis may be a noob question - how do you go about filling in the other side of that abstraction in the JS (presumably) post transpilation? Is it just that you had a set of files in JS developed separately and the build/deployment system could inject those files in specific expected areas?
- timmg 5y agoYes, you have it exactly right. We basically had three different hand-coded implementations of the same classes, each in a different language.