Fork me on GitHub
#re-frame
<
2023-09-20
>
lwhorton00:09:44

here’s a fun anecdote: every once in a while i peek my head back into js land to see if anything interesting has happened. this time, i read through the svelte manuals front to back. it seemed kind of cool in the first few chapters; then more complex in the next few chapters; then egregiously complex by the time i reached the svelte-“kit” chapters. i figure i would give it a week of my time to see if i could learn something new, and maybe pickup a few tricks. just an hour or two into earnest fiddling revealed that there have been major breaking changes from svelte 2 to 3 to 4. each release caused a bunch of barely-new supporting libs and pluggable alternatives to sveltekit to break in basically irreparable ways. the fragmentation of tooling was immediately confusing, and the majority of the projects seem abandoned in the upgrade transition, with dozens (or hundreds) of ghissues essentially complaining about a lack of keeping up with the churn. i just want to drop a huge kudos for the reframe team. i’ve been using it for ~6 years at this point with great success. it’s always paid off in dividends to just go all-in with reframe from the start. every app seems to inevitably grow into something requiring rich client side interactivity eventually. the ideas and their implementation have held up so well, i don’t know if there’s a more straightforward and resilient way to build a “sufficiently complex” web app.

🙌 8
1
gratitude 2
Omar05:09:13

Wow interesting to know, like another AngularJS situation. I've also been using re-frame a long time, since ~2015 and I've never had an issue with complexity crushing progress in any of the things I've built.

djanus12:09:52

That, plus re-frame codebases tend to be very approachable! As a newcomer to the code, you can just pop open rf-10x, interact with the app, have a look at what events there are and how they modify app-db, and get up to speed very quickly. Never enough singing songs of praise for re-frame, I guess. 😄

schpa22:09:21

Just to chime in, I use gadget-inspector, a plug-in for chrome, with great success, only for monitoring what is inside of app-db. Just wanted to share

Quentin Le Guennec08:09:46

Hey, is there a doc somewhere that describes how re-frame handlers should be set up, specifically, should we set up generic handlers (like based on a path that should be updated), or specific ones (like, with the name based around the action that triggered it)

p-himik08:09:01

The official docs strongly prefer the latter since they're conveying user intent. Some people prefer the former. I don't have handlers that accept paths themselves but I do have some more or less generic handlers that deal with CRUD data, for example I have a generic handler "update an instance of model X with particular ID and set key K to value V". Anything that doesn't fit this pattern gets an intent-based event ID and handler.

Quentin Le Guennec08:09:27

I see, thank you. I also agree with this.