| Author here. Glad to see the blogpost on HN! CodeMirror improved Replit's performance by a lot and by extension our retention. In fact, after releasing it to mobile in July[1] our weekly retention rate on mobile increased by a whopping 70%. That said, solve a lot of mobile usability issues so it's not all due to performance. On desktop however, it's a different story, we made sure to just have parity with Monaco and it still improved retention by %25, almost all due to performance! If you like working on performance come work at Replit, we want people that care about the performance of our systems! Adopting CodeMirror pushed us to write more in a more functional style that makes the code more fun and simple (not easy) in the shortrun, and more maintainable in the long run! My teammates write CodeMirror extensions for kicks and giggles, sometimes they end up releasing some "bret victor shit"[3]. If you like CodeMirror and end up using it in production, try to get your company to fund the project[4] and open-source as much as you can! [1]: https://blog.replit.com/codemirror-mobile
[2]: https://blog.replit.com/codemirror
[3]: https://blog.replit.com/kaboomdraw
[4]: https://marijnhaverbeke.nl/fund/ |
I had a similar kind of good experience with code-mirror. I was writing my first proper compiler, and making a total dogs dinner of it. As a distraction, I decided to try put together an editor with syntax highlighting with CodeMirror. In the process of just fitting my compiler to the CodeMirror recursive descent parser I ended up bringing my compiler back from the brink of disaster. It feels really nice when a framework/API has enough good-taste/-engineering built into it that it improves code that uses it :)
I'll be interested in seeing how the upgrade to 6 goes - I'll wait until it's officially released, though...
(People've been using said compiler + IDE for about ten years now)