From 853691d6fce9220498073b8e10fa78c9e16f1aba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alexis=20M=C3=A9taireau?=
uMap is an “old” project. It’s been there since 2012, at a time -when ES6 [wasn’t out there yet](https://fr.wikipedia.org/wiki/ECMAScript#ECMAScript_Edition_6_(ES6)
+when ES6 wasn’t out there yetAs a result, it wasn’t possible to use JavaScript modules, nor modern JavaScript syntax.
The team has been working hard on bringing modules to the mix, and it wasn’t a piece of cake. But, the result is here: we’re now able to use modern JavaSript modules and we -are now more confident about which features of the languages we can use or not.
+are now more confident about which features of the languages we can use or notI then spent ~way too much~ some time trying to integrate existing CRDTs like Automerge and YJS in our project. These two libs are unfortunately expecting us to use a bundler, which we aren’t currently.
uMap is plain old JavaScript. It’s not using react or any other framework. The way I see this is that it makes it possible for us to have something “close to the -metal”, if that means anything when it comes to web development.
+metal”, if that means anything when it comes to web development. We’re not tied +to the development pace of these frameworks, and have more control on what we +do. It’s easier to debug.So, after making tweaks and learning how “modules”, “requires” and “bundling” was working, I ultimately decided to take a break from this path, to work on the wiring with uMap. After all, CRDTs might not even be the way forward for us.
So, I went for the deep dive into uMap internals. To be frank, I was expecting -this to be hard : there is a lot of code, some legacy, and at first I was the -head under the water, not able to understand how all this code was working together.
-After some time, I can now wrap my head around the logic of the project. As one -could expect, it’s not the complexity that was overflooding me, but the fact -that it’s sometimes not simple to get the big picture. To phrase it otherwise, -it was easy to get lost into the details.
+I was not expecting this to be easy and was a bit afraid. Mostly because I’m out of my +comfort zone. After some time with the head under the water, I’m now able to better +understand the big picture, and I’m not getting lost in the details like I was at first.
Let me try to summarize what I’ve learned.
-uMap apears to be doing a lot of different things, but in the end it’s:
+uMap appears to be doing a lot of different things, but in the end it’s: