Though docs are not finished yet, I have updated the getting started section and commented out all the other docs I haven't gone through yet: https://biff.findka.com I also merged to master, so the new release is technically out now (though planning to do the main announcement next week after the docs are finished/more finished)
Hi everyone π I was literally reading the docs last night (Tokyo time) before I tried installing Biff on my local machine and then woke up to find thereβd been a rewrite!
heh, surprise!
I did have a question which is perhaps better answered by simply waiting for the rest of the documentation but that I'll ask now anyway. In earlier discussions of Biff, the fact that the framework can be decomposed was something I thought especially attractive. In my particular case, I'm pretty happy with most of the choices but I think I'd prefer Reagent to Rum. Will that still be something that's possible with the rewrite?
yep, that's still a thing. switching to reagent should be pretty easy.
Do I just need to write my own equivalent of biff.rum
?
Mainly just biff.rum/defderivations. The rest of that namespace is just used server-side. You almost don't even need to replace defderivations because you could just use reagent's reaction
macro. The only problem is that reagent's reactions won't update if they haven't been deref'd inside a component, and the subscriptions have to be kept up-to-date.
I think it would work to simply deref the subscriptions atom inside of the root component (but not display them in the UI or anything).
*so if you wanted to also replace rum server-side, than yeah you'd want to replace the other fns too
also at some point I would like to see if I can replace defderivations with https://github.com/oakes/odoyle-rum, since defderivations is a little inefficient and can result in subtle bugs (see https://news.findka.com/p/a-macro-im-proud-of, and discussion at https://www.reddit.com/r/Clojure/comments/ikz2d6/a_macro_im_proud_of/). I haven't looked into odoyle much yet, so I don't know if it's tightly coupled to rum or if it'd be easy to also make an odoyle rules wrapper for other libs like reagent.
Oh, thanks for all the detail. A bit for me to read up on, I think. Truth be told perhaps I should stick to Rum as I've only used Reagent once (to make https://github.com/pyrmont/pondent) :P
nice! I am a big fan of rum in general.
Yeah, I really like the conception of it.
Reagent was the first time I'd ever used React and it felt like a bit of an easier place to start but perhaps I need to give Rum a fair shake :)