biff

A web framework + self-hosted deployment solution for Clojure. Repo: https://github.com/jacobobryant/biff. Docs: https://biff.findka.com
2021-05-15T01:05:56.036300Z

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)

πŸ‘ 2
pyrmont 2021-05-15T02:34:51.039500Z

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!

2021-05-15T03:31:52.040300Z

heh, surprise!

πŸ˜„ 1
pyrmont 2021-05-15T03:36:39.044500Z

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?

2021-05-15T03:39:11.044700Z

yep, that's still a thing. switching to reagent should be pretty easy.

pyrmont 2021-05-15T03:40:08.045800Z

Do I just need to write my own equivalent of biff.rum?

2021-05-15T03:46:34.046Z

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).

2021-05-15T03:48:03.046200Z

*so if you wanted to also replace rum server-side, than yeah you'd want to replace the other fns too

2021-05-15T03:52:51.046400Z

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.

pyrmont 2021-05-15T03:55:42.049100Z

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

2021-05-15T04:03:40.049400Z

nice! I am a big fan of rum in general.

pyrmont 2021-05-15T04:14:54.050300Z

Yeah, I really like the conception of it.

pyrmont 2021-05-15T04:15:22.051300Z

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 :)