Elm Europe 2017 - Richard Feldman - Scaling Elm Apps
Elm Europe2 HN recommenders · recommended in 2 months, 2019-2022
41K views · 9 years ago · talk · dated
Richard Feldman's Elm Europe 2017 talk on how to structure and scale large Elm applications, including when to nest messages.
The standard pointer for anyone asking how to organize larger Elm codebases.
31:14"Make the Back-End Team Jealous: Elm in Production" by Richard Feldman
Strange Loop Conference
36K views • 11 years ago
58:23Evan Czaplicki - Let's be mainstream! User focused design in Elm - Curry On
Curry On!
82K views • 11 years ago
47:02Elm Europe 2017 - Evan Czaplicki - The life of a file
Elm Europe
72K views • 9 years ago
55:28Erlang Factory SF 2016 Keynote Phoenix and Elm – Making the Web Functional
Erlang Solutions
23K views • 10 years ago
32:25"Building a Toolkit for Design" by Matthew Griffith
elm-conf
25K views • 8 years ago
38:26"Code is the Easy Part" by Evan Czaplicki
elm-conf
43K views • 10 years ago
25:06"Making Impossible States Impossible" by Richard Feldman
elm-conf
63K views • 10 years ago
40:55"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki
Strange Loop Conference
69K views • 12 years ago
46:18Om Next - David Nolen
ClojureTV
44K views • 11 years ago
1:18:42Web Development in Emacs, Common Lisp and Clojurescript - Emacs SG
Engineers.SG
14K views • 10 years ago
53:56Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure
jasonofthel33t
119K views • 13 years ago
52:23Nicholas Zakas: Scalable JavaScript Application Architecture
YUI Library
68K views • 15 years ago
35:32Cheng Lou - On the Spectrum of Abstraction at react-europe 2016
ReactEurope
63K views • 10 years ago
1:14:52Effective Programs - 10 Years of Clojure - Rich Hickey
ClojureTV
176K views • 9 years ago
1:19:57Simon Peyton Jones: Data Parallel Haskell
nuACM
28K views • 16 years ago
39:41Anthony Marcar - Clojure At Scale @WalmartLabs
ClojureTV
24K views • 11 years ago
46:09Why Isn't Functional Programming the Norm? – Richard Feldman
Metosin
1.6M views • 7 years ago
1:16:14Spec-ulation Keynote - Rich Hickey
ClojureTV
135K views • 9 years ago
47:52“What is Success?” by Evan Czaplicki
Elm Europe
31K views • 8 years ago
34:55"Outperforming Imperative with Pure Functional Languages" by Richard Feldman
Strange Loop Conference
98K views • 5 years ago
3 comments from Hacker News
You can write this sort of guide for literally any tech, even the ones you think are better. I've been using Elm since it came out and I use it for everything, but you could write a "Tao of Elm" that's just as in-depth as this. Just watch rfeldman's talks about how to structure large Elm projects ( ▶ this video ) or watch the community chat about how to do it, it's an open question. For example, the Tao of Elm would give pointers on what you should send over ports, how granular you should even make ports, how to pick Msg types (LogIn User | LogOut vs. SetUser User), how to build a good Model, when to nest models, (a big one:) how to build parent/child communication, what should be implemented on the JS side instead of Elm side, how to represent fetch/wait/response loop when making http requests, etc. and then the trade-offs of all of those suggestions. Being able to compile a list of best practices doesn't mean something sucks. Though the comparison to Elm isn't all that great because it doesn't even compete with Node, and if you do use it on the server with Elm.worker, you could write a whole other guide of best practices around that. Anyone who has built a massive Elm client is shimmering with trail/error knowledge that they could share in this kind of format. Anyways, be wary of developing a knee-jerk "JS sucks" response.
From early in the article: > This [flat Msg design] does work, but at some point it becomes cumbersome to support a large number of constructors. As guessed, I'd personally stick with the simpler flat approach the article acknowledges and then tries to improve on. Nesting that data structure is (according to the article) an ergonomics improvement, but then the rest of the article is about how to solve ergonomics problems caused by the very nesting that was supposed to make things nicer! Given that, surely it's reasonable to raise the question of whether this nesting was actually an improvement after all. My conclusion at the end of the article is that in retrospect nesting did more harm than good, and knowing that, I would have happily left it flat. Incidentally, "leave it flat" is not my stance in all cases. For example, I gave a whole talk that could have been titled "when to nest" - ▶ this video - and my most popular Elm project uses nesting in multiple places - link But indeed, in this case, I'd happily leave Msg flat and not bother with all the lens stuff!
You'll probably want to watch Richard Feldman's [Scaling Elm Apps]( ▶ this video ). I built [Component Result]( link ) to help with a pattern that occurs when scaling up apps. I'm not clear what you mean by or expect to be problematic with by cross-cutting concerns. Feel free to ping me, z5h, on the Elm slack.