30 ms·
Hi, I'm the author of the post. At Nextjournal, it won't stop with server side rendering. For example we're using ProseMirror as the rich text editor in the br
by kommen 7y ago
Hi, I'm the author of the post.
At Nextjournal, it won't stop with server side rendering. For example we're using ProseMirror as the rich text editor in the browser. For real-time collaboration on notebooks, we want to use ProseMirrors out of the box support for it: http://prosemirror.net/docs/guide/#collab http://prosemirror.net/docs/guide/#collab
This means our server has to provide the "central authority". This leaves us again with the choice of:
1) expose this central authority in a nodejs service via http to our Clojure/JVM app (which manages also the websocket connections and database persistence)
2) rewrite the central authority and applying the transformation functions in Clojure/Java and maintain compatibility with the Javascript implementation
3) leverage the polyglot abilities from GraalVM to just call ProseMirror's transformation functions from our Clojure code
Here, 3) seems to be the obvious choice, as throughput is much higher than for occasional server side rendering and the http overhead for the nodejs-service approach would be a deal breaker.
- davnicwil 7y agoAh, ok, really interesting thanks. With this type of deep integration & communication needed between the two, I can see why running everything in the same JVM is a better solution.