mAAdhaTTah / brookjs

reactive programming tools for well-structured, testable applications
https://mAAdhaTTah.github.io/brookjs/
MIT License
15 stars 1 forks source link

PROJECT ARCHIVED #1511

Open mAAdhaTTah opened 1 year ago

mAAdhaTTah commented 1 year ago

While I do think a lot of the ideas here were really interesting, I will not be pursuing brookjs further. Building on Observables was a really interesting idea, and I love them , but I ultimately think they're too heavyweight to be embedded in rendering like this, and the control you get isn't worth the complexity. SolidJS, while not using the Observable object specifically, is doing similar work in the area, precisely controlling specific DOM nodes to be updated, although SolidJS uses a compiler to convert the expressions into functions.

Ultimately, I think the benefits of getting updates pushed, possibly, asynchronously, is less useful that it seems at first. A lot of brookjs was inspired by CycleJS but wanting to combine the DOM sink & event sources into a single "view", with a Redux-like reducer embedded in the center. As the ecosystem has evolved with Hooks, the whole reducer pattern has become a lot less common, and needing to handle everything between the deltas, reducer, & views was a lot of overhead vs something like react-query or swr. I think there is value in Observable-based side effects, but that only becomes true at scale, and most of what I do day-to-day really benefits more form the simplicity of those aforementioned libraries.

If anyone is still using this, happy to consider transferring this repo or discussing the roadmap, but otherwise, this project is getting archived.