om

Please ask the channel first, not @dnolen directly!
itamar 2018-02-06T07:36:36.000172Z

Hey, We are using Om for a 3 years old app. the app has thousands on lines of code in Om, and we are looking for a way to update the library to Om-Next to enjoy latest features. what is the transition path we should follow?

claudiu 2018-02-06T07:51:28.000021Z

@itamar as far as I know. Om-next is different altogheter not just a new version of the old om 🙂

itamar 2018-02-06T07:54:24.000193Z

I know

itamar 2018-02-06T07:54:37.000270Z

this is the reason im asking for an idea of migrating to Next

itamar 2018-02-06T07:54:54.000281Z

can Om and Om-next run alongside each other?

claudiu 2018-02-06T07:59:33.000218Z

haven't tried. But that could be tricky. Also worth considering if you want to go with om-next, fulcro or qlkit 🙂

itamar 2018-02-06T08:07:41.000011Z

đź‘Ť\

itamar 2018-02-06T08:34:19.000129Z

will Om be updated with a new react version, or is it deprecated?

rarous 2018-02-07T08:47:44.000216Z

beta2 is React 16

briantrice 2018-02-06T18:16:54.000678Z

Yeah, I’m in a similar position. Considering reagent or something similar; not interested in giving up the abstraction benefits.

claudiu 2018-02-06T20:03:09.000664Z

@briantrice Why not fulcro ? 🙂

đź’Ą 1
3
briantrice 2018-02-06T21:01:36.000750Z

@claudiu anything promoted that acutely feels like a scam.

justinlee 2018-02-06T21:04:59.000779Z

i think its being promoted because there’s a guy who is actually trying to earn his living off it

briantrice 2018-02-06T21:07:15.000192Z

I appreciate that, but the marketing language around it is exactly the sort I’ve seen oversell frameworks and kill small startups like the one I’m in right now.

wilkerlucio 2018-02-06T21:17:02.000507Z

@briantrice I would suggest you try to learn beyond the market, Fulcro is the community work (in great part lead by @tony.kay) from some of the people who actually put Om.next to test. I've been following/using it since it was born (when it was still called Untangled), the project has grown and evolved a lot, it's been years of effort development on it. so if you are considering the options for your next go, this should at least deserve a proper look, it's by far the most mature current option for graph driven UI's available in CLJS at this moment

claudiu 2018-02-06T21:20:32.000420Z

@briantrice hmmm never thought about that. Been using it since it was named untangled (mostly because of: initial app state & built-in read parser). The amount of work that's been put into it is just crazy, apart from library arhitecture & supporting libs.... support on slack, the docs, videos are really awesome etc. For my startup it's just perfect since it reduces crazy amounts of complexity from the UI. My only pain point with it so far is that I wish it would get more community adoption 🙂

briantrice 2018-02-06T21:38:00.000101Z

Yeah, I’m just too burned by market-speak frameworks.

tony.kay 2018-02-06T21:38:03.000403Z

@briantrice marketing language? I wonder what you’re seeing that is turning you off? The fact that I think the model reduces incidental complexity??? That’s what the Om Next/data-driven model, combined with Clojurescript does

tony.kay 2018-02-06T21:38:37.000388Z

It’s a library. It’s a few thousand lines of open source code. But, to each his own I guess.

briantrice 2018-02-06T21:38:41.000620Z

When I hear nothing but positives, it’s nothing but alarm bells that the person involved hasn’t been confronted with the limits of their own vision.

tony.kay 2018-02-06T21:38:53.000269Z

Ah, I see.

tony.kay 2018-02-06T21:39:15.000374Z

“too good to be true”

briantrice 2018-02-06T21:39:21.000054Z

I’m the sort of person who reads an essay on how to avoid burnout and laughs at how naive the author is at their level of burnout.

briantrice 2018-02-06T21:39:36.000175Z

I own a Lisp machine, if that helps you understand my mental frame.

briantrice 2018-02-06T21:39:46.000226Z

Actually, that’ll probably make you ignore me.

briantrice 2018-02-06T21:40:15.000692Z

I’ve seen this language before, and it ends badly.

tony.kay 2018-02-06T21:40:36.000136Z

Everything has its pain points. The single-atom database brings lots of advantages, but it can be a pain to look at. Clojurescript is still immature on using js deps (shadow-cljs is better), etc. Lots of down-sides…but I see those as more apparent

briantrice 2018-02-06T21:41:23.000349Z

Whatever. What I want is an honest appraisal of what the hot new framework does not address. And I mean a painful, hard-won wisdom.

tony.kay 2018-02-06T21:41:52.000273Z

good luck on that

briantrice 2018-02-06T21:41:59.000175Z

Marketing that speaks to me acknowledges that everything ends in frustration or failure. Meet that failure honestly, and I’ll go with you.

briantrice 2018-02-06T21:42:35.000566Z

There are frameworks that do this. Or at least manage not to oversell themselves. At least don’t smell like you’re overselling.

briantrice 2018-02-06T21:42:48.000327Z

Core Om does not oversell itself, and I appreciate that.

briantrice 2018-02-06T21:43:54.000023Z

Here’s an example of an honest appraisal (of GraphQL): https://antoniogarrote.wordpress.com/2016/11/23/graphql-is-for-silos/

tony.kay 2018-02-06T21:44:49.000502Z

sure, but it isn’t by the author of graphql, is it?

briantrice 2018-02-06T21:45:14.000559Z

Nope. And GraphQL stinks of the author’s self-esteem, which is why I didn’t touch it.

tony.kay 2018-02-06T21:45:34.000555Z

ok. Well, like I said. To each his own 🙂

tony.kay 2018-02-06T21:46:25.000580Z

seems you’re pre-shooting yourself in the foot to avoid others doing it for you instead of doing the (admittedely hard work) of actually evaluating things by studying them.

briantrice 2018-02-06T21:46:29.000214Z

That’s not what this is about

briantrice 2018-02-06T21:46:52.000677Z

I’ve been around a few blocks and know how adoption cycles go. I have experience.

briantrice 2018-02-06T21:47:05.000657Z

I can evaluate these much faster than someone with a decade less experience.

tony.kay 2018-02-06T21:50:10.000682Z

I appreciate the feedback. I’m not much of a marketing guy…suck at it to be honest.

tony.kay 2018-02-06T21:51:02.000777Z

Guess it might be better to just have documentation, and say a lot less.

justinlee 2018-02-06T21:52:01.000049Z

the irony about all this is that from what i’ve seen @tony.kay seems super up front with what fulcro is not good at. just the other day somebody asked about a use case for it and tony immediately told him that’s not the best use of the framework. the fulcro-datomic repository says straight up “this isn’t high on the list of things to maintain”. i really appreciate that personally.

claudiu 2018-02-06T22:08:59.000587Z

@briantrice Interesting approach. Think I'm a bit younger than you, had my share with nice ideas that seemed perfect at the time and after I experimented on my project, dropped them really fast: php frameworks, python, immutablejs, flux of the month, redux, graphql etc...

claudiu 2018-02-06T22:09:10.000538Z

My approach is usually "I know it after trying it out on a small prototype", that's pretty much how I got into clojure without any FP background and given this ugly/alien syntax (first encounter with lisp), just decided to give clojure 1 month of my time. 🙂

claudiu 2018-02-06T22:09:29.000274Z

For me, js & redux are not it, nor is re-frame, rum, keechma, om-next (although it came close, model is brilliant). Closest thing was om-next so if not for fulcro would have probably tried to build "my own fulcro" on top of om-next or just give ELM a try.

briantrice 2018-02-06T22:19:47.000073Z

Yeah, and honestly Fulcro may be the right thing, but I have to sift through enthusiastic language and get some buy-in across the team and a plan.

briantrice 2018-02-06T22:21:25.000242Z

I’ve used CL since the mid-90s and only adopted Clojure/Script in the last 6 months and dig it. But I had to learn a bunch of coding patterns to optimize Om usage that weren’t obvious up-front and would never appear in a small demo app.

briantrice 2018-02-06T22:22:19.000356Z

Our apps have so many features on one screen that interact with each other that interdependency management is key to whether something is worth adopting.

briantrice 2018-02-06T22:22:40.000421Z

I’m grateful the examples are better than TODO-MVC at least.

briantrice 2018-02-06T22:23:21.000239Z

As a reference point, the most complicated web app I’ve shipped to the public is Tableau Web Authoring which was pretty daunting at the time and used in-house reactive-like frameworks.

claudiu 2018-02-06T22:25:17.000473Z

The biggest downside for me with om-next & fulcro, was the mental shift (felt a bit like learning clojure coming from python, js). The re-frame like stuff just clicked since its very familiar to me.

claudiu 2018-02-06T22:28:17.000397Z

But the active slack channel, book & videos make the shift as easy as possible, but yep requires a bit of getting used to the mental model thats not familiar, but is pretty darn easy.

claudiu 2018-02-06T22:30:09.000452Z

Might be just me not being a quick learner though :)