Live data from Hacker News

Why We Use Om, and Why We’re Excited for Om Next

blog.circleci.com

51–60 of 74 posts

Re: Why We Use Om, and Why We’re Excited for Om Next

#51
post #50

> Om’s creator, David Nolen, likes to show off how easy this makes it to implement undo: just remember a of list old states, and you can reset! the state atom to any of them at any time. How does that work if multiple users are collaborating on the same state simultaneously?

> How does that work if multiple users are collaborating on the same state simultaneously?

The state they're talking about here is local to the client--it's stored in memory on the browser. One one user can use it at a time.

Re: Why We Use Om, and Why We’re Excited for Om Next

#53
post #50

> Om’s creator, David Nolen, likes to show off how easy this makes it to implement undo: just remember a of list old states, and you can reset! the state atom to any of them at any time. How does that work if multiple users are collaborating on the same state simultaneously?

> How does that work if multiple users are collaborating on the same state simultaneously? The state they're talking about here is local to the client--it's stored in memory on the browser. One one user can use it at a time.

[deleted]

Re: Why We Use Om, and Why We’re Excited for Om Next

#54

I was the main author of Circle's frontend (the code is open-source: https://github.com/circleci/frontend ). I went on to build Precursor ( https://precursorapp.com ), which uses Datascript ( https://github.com/tonsky/datascript ) to accomplish a lot of the things that Om Next promises. If you haven't tried Datascript, you should really take a look! It does require a bit of work to make datascript transactions trigge…

There's a typo in your datascript url (s/k are switched). Here's the corrected one: https://github.com/tonsky/datascript

Re: Why We Use Om, and Why We’re Excited for Om Next

#55
post #54

I was the main author of Circle's frontend (the code is open-source: https://github.com/circleci/frontend ). I went on to build Precursor ( https://precursorapp.com ), which uses Datascript ( https://github.com/tonsky/datascript ) to accomplish a lot of the things that Om Next promises. If you haven't tried Datascript, you should really take a look! It does require a bit of work to make datascript transactions trigge…

There's a typo in your datascript url (s/k are switched). Here's the corrected one: https://github.com/tonsky/datascript

Thanks, fixed!

Re: Why We Use Om, and Why We’re Excited for Om Next

#56

Earlier quoted context omitted.

It is pretty good, but the community never seems to form. Maybe it is just the lisp NIH culture, maybe it is the way the projects are managed, but either way it doesn't make for production-ready software. You have to be able to support it yourself if you want to use it.

Did you know that David wrote all of ClojureScript? https://github.com/clojure/clojurescript/graphs/contributors

Umm, taking nothing away from his incredible stewardship and everything, but that's not true. I believe Rich Hickey et al did the first implementation. Not to mention that contributors have added hundreds of commits.

Re: Why We Use Om, and Why We’re Excited for Om Next

#58
What's not stated in the article, re: "Why we use Om", is that much of Om's adoption was because of its high-profile creator and all the status/momentum that brings along.

But I think it's approaching a consensus already within the CLJS community that, on API alone, reagent is the React interface you want.

It's extremely elegant and performant; probably the best frontend library I've ever used in close to a decade of web development.

Re: Why We Use Om, and Why We’re Excited for Om Next

#59
Essentially this is exactly what we have with Redux and pure JS. Gaearon has led the way here:

- Redux as your single state tree/graph

- Normalizr to denormalize data and store it in a graph, including pulling nested resources out as records

- Reselect to query on your denormalized data

And the best thing is this is production ready, in JS, today.

Post reply on HN