
elm-conf
2 HN recommenders · recommended in 5 months, 2020–2022
32:25 · 25K views · Oct 17, 2018
Matthew Griffith, creator of elm-ui, presents a toolkit for designing layouts in Elm as an alternative to CSS. He explains the opinionated approach to layout and styling.
HN commenters recommend it as a fresh perspective on layout and styling in CSS discussions.
5 comments from Hacker News
Not necessarily solved, and I assume you know about it, but for anyone reading this, elm-ui is definitely worth checking out for at least an exploration of an alternative to CSS. For a talk about this: this video
Given my thoughts (and recent experience) was shaped by something like Elm-UI - see: this video If you have the time to learn CSS, you have the time to learn anything else. ;)
For those who want a fresh perspective on CSS, layout and styling, check out this talk by Matthew Griffith - the creator of elm-ui this video
Elm + elm-ui[1] (dont worry about CSS so much) + generated Elm client lib from GraphQL schema + Hasura (GraphQL over Postgres) + Postgres => strong type safety from db schema to frontend with SPA-first workflow; possibly add ReactAdmin[2] to the mix if that sort of thing is needed. Rust + Actix + Yew (Rust browser framework compiling to WASM) => also verrrry nice vor SPA-first! Slightly more traditional: Kotlin and jOOQ on the server side. I also tend to let go of the HTML syntax lately, by using templating eDSLs such as in Elm, or in Rust's Maud[3], or in Kotlin's kotlinx.html or HtmlFlow. [1]: this video [2]: [LINK] [3]: [LINK] [4]: [LINK] [5]: [LINK]
Ha! Long time no see :) I'm no Elm expert, but I would say from what I've seen that mixing-and-matching (JS+Elm, CSS+Elm) as you see fit is totally fine, adopting Elm can be super incremental. When it comes to changing CSS dynamically, it's quite nice to have that in Elm code too rather than say a CSS class you toggle. The thing I'm using here is elm-ui, it takes a more opinionated approach and basically eliminates a lot of the CSS oddities: instead of numerous flex, margin etc. CSS properties you just get simple alignLeft, centerX, etc. attributes in a row/column layout. Quite nice. There's a talk[0] about it. [0] this video