Observable is conceptually quite simple. Each cell is a bit of JavaScript, and cells are run reactively, i.e. when their free variables change. That is basically it. It's not actually necessary to know much JS to become productive in Observable and it's fairly close to being orthogonal to D3, believe it or not.
Having said that, Observable is not a mature system and there are some traps for the unwary: https://observablehq.com/@tmcw/observable-anti-patterns-and-...
This kind of thing would certainly make me think twice about depending on Observable as a platform for a major project. There's a certain confidence in the act of name "anti-patterns" and "code smells" which belies the slightly ad hoc, provisional status of the platform.
The idea that Observable makes life more difficult for people (in the service of building a profitable platform) doesn't ring true to me, though. To return to what I said in the first paragraph: Observable is conceptually simple (and most parts of it already have third party open source implementations). D3 is as intimidating as it's ever been, but I think the complaint "now I seem to have to learn Observable as well as D3" is not based on a good faith assessment of the complexity of learning Observable, and shouldn't be seriously entertained. It's in the "petulant" category of complaints about software.
Having said that, Observable is not a mature system and there are some traps for the unwary: https://observablehq.com/@tmcw/observable-anti-patterns-and-... This kind of thing would certainly make me think twice about depending on Observable as a platform for a major project. There's a certain confidence in the act of name "anti-patterns" and "code smells" which belies the slightly ad hoc, provisional status of the platform.
And not everything is taken care of elegantly in Observable: making an animation tends to involve more JS control-flow tricks than would be ideal: https://observablehq.com/@mbostock/animation-loops
The idea that Observable makes life more difficult for people (in the service of building a profitable platform) doesn't ring true to me, though. To return to what I said in the first paragraph: Observable is conceptually simple (and most parts of it already have third party open source implementations). D3 is as intimidating as it's ever been, but I think the complaint "now I seem to have to learn Observable as well as D3" is not based on a good faith assessment of the complexity of learning Observable, and shouldn't be seriously entertained. It's in the "petulant" category of complaints about software.