Live data from Hacker News

Re-Frame: Build web apps in ClojureScript and React

day8.github.io

51–57 of 57 posts

Re: Re-Frame: Build web apps in ClojureScript and React

#51

Earlier quoted context omitted.

The re-frame docs and "marketing" speak, like on its front github page, would do very well to remove a lot of the self-congratulatory tone, frankly. A lot of it reads like someone very impressed with themselves rather than text about how to use an actual tool.

Thanks, I'll keep that in mind.

I really like the re-frame docs, thank you very much for putting so much effort into them. They've helped me grow as a programmer. For context, I first stumbled across the readme in ~2015-16 in college before working professionally. As someone looking to learn I enjoyed the didactic bent, I felt like I got the big picture. It tied together a lot of Clojure kool-aid.

The vibe I get from the tone of the docs isn't really juvenile or self-congratulatory. The humor is mature, references made show that material therein have been considered. It's not memes and emojis and WOW! It's somewhat unprofessional, has a few in-jokes, but I like those signals. If the docs haven't succumbed to design-by-committee lowest-common-denominator then neither has the code. It gives me the feeling that someone took the slow road, thought about a lot of things, came out with something simple, and is likely to work hard to preserve that simplicity.

The docs tell me that re-frame is focused on the craft. That means a lot more to me than sprinting to see how do I do x in y quickly.

Re: Re-Frame: Build web apps in ClojureScript and React

#52
post #25

Earlier quoted context omitted.

> In my experience, this an unusual opinion It can't be too unusual; I've seen this critique shared in forums, to which you've replied, for years. I've seen developers remark how turned off they got by reading stuff like this on its front page, which is frankly just noise and undermines the goals of a serious project: > re-frame is lucky enough to enjoy an unfair advantage...When we use Lisp, we get to leverage 50 ye…

> It can't be too unusual; I've seen this critique shared in forums, to which you've replied, for years. In this thread, I was responding to someone saying the concepts were simple but explained with too many buzzwords. I certainly have no recollection of someone of someone saying that before. On the other hand, I have heard some say they'd want more code examples earlier. And, just as soon as I get time I'll be doin…

My apologies again for the negative tone of my comment. I've had a bad day and I let it bleed into my remarks here.

Re: Re-Frame: Build web apps in ClojureScript and React

#53
post #44

Earlier quoted context omitted.

Please don’t listen to the peanut gallery. The re-frame docs are in a league of their own and most of us appreciate the enormous effort put in to make them awesome. Keep rocking.

Oh Man, it is certainly nice to hear something positive. Thanks!

The docs are great and re-frame is a pleasure to work with. It make take some time to read through the docs but it is a worthwhile endeavor as the concepts build upon each other. They reward those willing to take the time. When I was a newcomer to re-frame and cljs I did not find the re-frame docs to be pretentious or off putting in any way. If not for re-frame and the re-frame docs I'm not certain I would have continued to use Clojure or cljs. Thank you for building this excellent tool and providing high quality documentation to back it.

Re: Re-Frame: Build web apps in ClojureScript and React

#54
I enjoy working with re-frame and can't imagine building single page apps in ClojureScript without it. For some reason the docs are controversial, which is a surprise to me. I appreciate the conceptual framing in the docs and how each section builds upon the previous. I don't mind the references to star trek or statements on the greatness of Lisp.

A common complaint seems to be the docs are too verbose and people just want to jump in and use the library. If this is you, I recommend using the Luminus framework https://luminusweb.com/ to generate a new project template so you can hack on a ClojureScript project with re-frame to see if you like it.

  # Make a new project with re-frame
  lein new luminus my-project +re-frame
  # Start the clj and cljs repls
  lein repl
  lein figwheel

Re: Re-Frame: Build web apps in ClojureScript and React

#55
post #47

Earlier quoted context omitted.

I've lost track of how many times you have posted pretty much exactly the same thing. Seems slightly fixated.

It’s only because I have a lot of respect for the Clojure language and ecosystem as a whole, but I often see non-Clojure developers or only hobbyists refer to the community as pretentious and get put off by that, so I like to call out those things that are unfortunately adding to that impression. Sorry if I overdid it.

You are Tim Baldridge and I claim my five parens.

Re: Re-Frame: Build web apps in ClojureScript and React

#56
I’ve looked at re-frame for a couple of years now, since right when I started learning Clojure on my own time, and I’m quite interested but still on the fence about whether it would be helpful for my use case.

Our API calls are messy (historical limitations) and clojurescript’s robust data merging capabilities would work wonders here. In a new front-end iteration I’m trying to use the model of a single global data store, but given how many conditional API calls we have to make and how much easier and more idiomatic it is to “cheat” with mutability in JS, it’s hard to convince my team to be rigorous about keeping to this pattern for everything. There are real difficulties and tradeoffs there: ES6 spreads more than one level deep are hard to read, we may want to display a view before its drop down entries are resolved, etc.

The essentials are that we have to handle retrieving the following:

1. A model that represents some global concerns (auth, network/system errors, websocket messages) plus the data required by the current view.

2. A template that determines how to display the current view. This can be a full-page display with nav tree links to other views plus the display form that a given field should use (input, drop down, button, etc.), or it can be a modal view, n layers deep, and also may or may not contain a nested nav tree of its own. (Yep, we have to keep the lower-layer models ourselves and still merge errors/websocket stuff.)

I’m already confident that cljs can turn the messy model reconciliation into something easier to read and maintain. I’m less certain about re-frame’s idea of how to subscribe to its db data, especially since I’d like to reuse some custom components in deeply-nested data. For example, “sticking a drop down inside of a grid column“ is an expected feature in the view template.

Transforming it from js react to cljs reagent seems like a pretty straightforward exercise—famous last words. The impression I get from re-frame is that it’s “a more robust redux with less boilerplate,” and the dev tools look great. But any proof-of-concept app I develop will be a spare-time if not my-own-time exploration. It’s something I want to do, because I think it’ll save us loads of time later and just be more fun to work with. It’s also an uphill battle to sell using Clojure at my org anyway, and I want to make a good pitch of it without spending too much time in the weeds.

Does anyone have experience with a system like this in re-frame, or in cljs more generally, who is willing to give me some feedback?

Re: Re-Frame: Build web apps in ClojureScript and React

#57

Earlier quoted context omitted.

I’m another person, but: when I initially read an old version of it (about 4 years ago) I liked the comprehensiveness but disliked the tone. Perhaps due to not being a native english speaker, it distracted me and made it harder to get the point. Quickly peering it it seems that it has been improved, although some things there remind me of what I felt, such as: McCoy might report "It's MVC, Jim, but not as we know it"…

Well, I'm glad to hear it might have improved. After taking a battering in this thread, I'll take any possible small win. What you reference is an attempt at a joke which requires certain cultural knowledge (Early Star Trek). On this point, I'm probably unlikely to change, and will just have to ask for your forgiveness. I like my docs to have an occasional joke, whether I'm the reader or the writer. But I am aware th…

Well I tried to write a balanced comment and try not to hurt but it seems I failed. As I said, the content was good; and I did not say it but I would kill for that level of docs in every open source project. So sorry if I hit your emotions and thanks for your work!!
Post reply on HN