untangled

NEW CHANNEL: #fulcro
tony.kay 2017-01-25T01:43:37.002414Z

Just published a new tutorial video (part of a series I'm working on): Untangled/Om Next In The Large.

tony.kay 2017-01-25T01:43:38.002415Z

https://youtu.be/j-_itpXEo6w

❤️ 6
tony.kay 2017-01-25T01:44:12.002416Z

Part 1 covers the very common and popular problem of structuring your app (Union queries, including nesting them), and HTML5 routing (with params)

tony.kay 2017-01-25T01:44:28.002417Z

Source code and helper macros included and linked from the video description

claudiu 2017-01-25T07:15:06.002422Z

awesome, thank you 🙂

doddenino 2017-01-25T09:20:19.002423Z

Hi guys! I'm interested in an overview on untangled, but on the website I can only find detailed guides a videos

claudiu 2017-01-25T11:31:51.002424Z

@doddenino I found these videos really helpfull for a general overview: https://www.youtube.com/playlist?list=PLVi9lDx-4C_Qsgm8JC1VyMevV9DVj-dCh

fatihict 2017-01-25T13:21:18.002426Z

@doddenino Here you can find the documentation for Untangled: http://untangled-web.github.io/untangled/docs.html. The Developer's guide was really helpful for a quick overview for me, especially the Quick tour.

doddenino 2017-01-25T15:54:16.002432Z

Thanks guys 🙂 I will check the videos

2017-01-25T22:06:19.002437Z

@tony.kay what's the difference between your routing approach and just the 3 line secretary + html5 routing approach ?

tony.kay 2017-01-25T22:06:40.002438Z

Hey Jason

tony.kay 2017-01-25T22:06:58.002439Z

um, remind me

tony.kay 2017-01-25T22:07:17.002440Z

my approach is about tying the html5 routing to an arbitrarily large set of unions in Om

tony.kay 2017-01-25T22:07:34.002442Z

in a structured way you can easily extend

tony.kay 2017-01-25T22:07:40.002443Z

next video coming later today

2017-01-25T22:07:54.002444Z

@tony.kay in our app, we make links <a href=/foobar> when the user clicks that link secretary dispatches our route handler which in turn calls transact!

tony.kay 2017-01-25T22:08:13.002445Z

right, no difference there, and I think mine is 2-3 lines for that part

tony.kay 2017-01-25T22:08:29.002446Z

the rest of it is about large applications

2017-01-25T22:08:33.002447Z

ok gotcha

tony.kay 2017-01-25T22:08:49.002448Z

the fact that you want your queries to end up small, which means lots of union queries...which in turn are finiky

tony.kay 2017-01-25T22:09:23.002449Z

so, a macro or two and some invented functions the help make the overall structure/union switching declarative

tony.kay 2017-01-25T22:09:47.002450Z

such-and-such a route switches this set of well-known union (routers) to the correct spot

2017-01-25T22:09:54.002451Z

ok, i'll take a deeper look at your solution, our app is structured like your TabUnion recipe

tony.kay 2017-01-25T22:10:03.002452Z

yep, like that, but bigger

2017-01-25T22:10:05.002453Z

one giant Root agg TabUnion agg everything else

tony.kay 2017-01-25T22:10:07.002454Z

thus "In The Large" 🙂

2017-01-25T22:10:11.002455Z

kk

tony.kay 2017-01-25T22:10:12.002456Z

oh. I see

tony.kay 2017-01-25T22:10:16.002457Z

yes, you can do it that way

tony.kay 2017-01-25T22:10:52.002458Z

Is that composing well for you? Don't you have sub-screens that come in and out of view...or did you flatten everything?

2017-01-25T22:11:02.002459Z

everything is flattened

2017-01-25T22:11:10.002460Z

for better or for worse

tony.kay 2017-01-25T22:11:20.002461Z

Ah. That seems less ideal for a large app in terms of composition

2017-01-25T22:12:00.002462Z

yes perhaps i'm glad you fixed that nested Union bug, it's definitely nice to have this option on the table

tony.kay 2017-01-25T22:12:12.002463Z

yeah, sorry about that...did that bite you?

tony.kay 2017-01-25T22:12:19.002464Z

perhaps that is why you felt you needed to leave it flat

tony.kay 2017-01-25T22:12:22.002465Z

😕

2017-01-25T22:12:54.002466Z

I don't think we hit the bug yet, I haven't trained the others on the team in Unions yet which is probably why lol

2017-01-25T22:13:08.002467Z

but had the known they probably would have used it as our app is growing quite complex

tony.kay 2017-01-25T22:13:10.002468Z

well, the macro makes it much nicer. Check out the video and source

2017-01-25T22:13:14.002469Z

kk

2017-01-25T22:14:34.002470Z

we use the same approach: a macro which generates one big flatten union query - router component (like the tabunion example)

2017-01-25T22:15:08.002471Z

yes we also generate the union query

tony.kay 2017-01-25T22:15:30.002473Z

the big flat is fine for a lot of cases...I was assuming though that people might have complicated screens that needed to compose in sub-screens..e.g. which include part of the parent

tony.kay 2017-01-25T22:15:34.002474Z

which indicates a tree

2017-01-25T22:16:11.002475Z

kk

tony.kay 2017-01-25T22:16:23.002476Z

side-by-side things that can change independently, etc

2017-01-25T22:16:32.002477Z

complex applications is why we picked untangled so happy to see solutions like this even if i don't need them yet

2017-01-25T22:16:46.002478Z

for sure

tony.kay 2017-01-25T22:16:55.002479Z

sorta like the chat section in gmail, overlays, etc

tony.kay 2017-01-25T22:17:19.002480Z

one of our apps got really laggy because complex nested screens were not using unions

2017-01-25T22:17:34.002481Z

@tony.kay - which topics are u covering in the next video?

tony.kay 2017-01-25T22:17:57.002482Z

had not decided 🙂 I've got code written to show component development and screen development. I'll probably start with component

tony.kay 2017-01-25T22:18:08.002483Z

since I have more to show there

tony.kay 2017-01-25T22:18:13.002484Z

at least so far 🙂

2017-01-25T22:18:42.002485Z

the usage of devcards -> workflow during development?

tony.kay 2017-01-25T22:19:02.002486Z

yes, but with some specific tips and workflow hints

tony.kay 2017-01-25T22:19:17.002487Z

rather: yes

tony.kay 2017-01-25T22:19:31.002488Z

I have an HTML->React converter too

tony.kay 2017-01-25T22:19:49.002489Z

makes pulling things like bootstrap examples a copy/paste exercise

2017-01-25T22:20:03.002490Z

awesome…sounds like a very promising and helpful ressource for beginners like me

2017-01-25T22:21:00.002491Z

I couldn’t find any good ressource how devcards could speedup my development workflow

tony.kay 2017-01-25T22:21:08.002492Z

I'm wanting to include @therabidbanana tips from this blog post https://medium.com/adstage-engineering/how-we-test-our-full-stack-clojure-app-b18d79ee9e00#.3v0ps49ty in somehow as well. I'll probably just refer people to his post in the description and verbally. His idea on using devcards for automated UI testing is cool

tony.kay 2017-01-25T22:21:41.002494Z

it's just visual regression testing, but it's a great combo of devcards and the general idea

2017-01-25T22:21:49.002495Z

nice