NoRedInk codebase is closer to the approach described in http://elm-lang.org/blog/how-to-use-elm-at-work The Elm components are integrated in a larger app. I think they have something like 50k LOC of Elm so that approach scales quite nicely.
As for scaling TEA in an app that has 100+ routes, the architecture can scale but it might make sense to split the functionality across multiple apps due to size of the deliverable. If it is an internal app that is served from an internal server, then even this is less important. It is worth noting that the 100+ routes from the above are understood as pages with distinct functionality NOT pages that have the same functionality but different content. If the later is the case, elm can scale with ease and efficiency. On Mon, Oct 3, 2016 at 10:09 AM, Thomas Alexander Vaags < [email protected]> wrote: > There have been some attempts. Apparently NoRedInk has a large > elm-application in production. But as this is not an opensource-project > (afaik), we cannot learn from the source code. > > For me, as a beginner in Elm, it's difficult to see how TEA (the elm > architecture) can scale *nicely* into an app with, say, 100+ routes / > pages. > > On Monday, October 3, 2016 at 4:40:08 AM UTC+2, Nathan Feaver wrote: >> >> Thanks for the response Charlie. >> >> I hadn't realized that there hadn't already been attempts to make a >> larger scale SPA in Elm. Your lessons learned will definitely be of >> interest to me. I was suggesting that some rules of thumb be put into the >> guide for larger applications but I guess we haven't got rules of thumb yet! >> >> On Saturday, October 1, 2016 at 12:28:20 PM UTC-6, Nathan Feaver wrote: >>> >>> Hi everyone! >>> >>> Often it is helpful for me to hear the experience from someone who is >>> just learning how to use my software. I think the same is probably true of >>> programming languages so I thought I would share my story of learning Elm >>> with you. >>> >>> The Good Parts >>> >>> I started looking at Elm about a week and a half ago and have probably >>> spent 20 hours reading and watching Elm content and writing Elm code. I >>> found out about Elm because I have been interested in Elixir and stumbled >>> into this conference talk by Rob Martin, *Teaching functional >>> programming to noobs* (Lambda Days 2016) >>> <https://www.youtube.com/watch?v=bmFKEewRRQg>. I jumped straight into >>> writing code using Exercism.io exercises. I copied code I saw in examples >>> but couldn't get too far. I watched Richard Feldman's *Introduction to >>> Elm* <https://www.youtube.com/watch?v=zBHB9i8e3Kc> and Evan's Let's be >>> Mainstream <https://www.youtube.com/watch?v=oYk8CKH7OhE>. Those two >>> talks and occasionally looking up core library docs got me far enough that >>> I could get through a good number of the Exercism exercises. I was >>> impressed that the language was so intuitive, that error messages were sooo >>> good, that currying was easy, and that using types was both terse and >>> descriptive at the same time. >>> >>> I started working on updating a small personal project and realized I >>> needed to understand 'The Elm Architecture' so I've been working through >>> the tutorial with my remaining time in Elm. So far, the tutorial is great >>> and progresses at a good speed. >>> >>> The Rough Edges >>> >>> I had a difficult time figuring out where to go for good documentation. >>> Everything was spread out among multiple resources. My first experience was >>> looking at elm-lang.org/docs where I found a dozen or so links that >>> point to 5 different domains/subdomains. If I had come to Elm without >>> hearing strong praise from a respected programmer then I'm not sure I would >>> kept going. The disorder of the documentation gives the sense that Elm is a >>> hobby language rather than production-ready. Elixir handles these concerns >>> very well: Commonly used libraries have a consolidated guide >>> <http://elixir-lang.org/getting-started/introduction.html> and >>> documentation <http://elixir-lang.org/docs.html> within a single click >>> of the language's homepage. >>> >>> Questions I have at this point (that would help me to know if Elm is >>> worth continuing to invest in): How does 'The Elm Architecture' work with >>> larger applications? I've seen some examples like the Todo app and the >>> Flatris clone that have a high-ish number of actions that the app responds >>> to in `update`. What about an app that spans multiple pages and should >>> respond to hundreds of actions? Would you split the app into many small >>> apps? If so, would there be a parent app that delegates actions? Also, can >>> I use `The Elm Architecture` and Commands/Subscriptions outside of the HTML >>> world? I think it would be helpful to answer these questions at some point >>> in the documentation. >>> >>> >>> Hopefully this ends up being useful. Overall, I have really enjoyed >>> using the language and will continue to write Elm code in my free time and >>> look for ways to use it professionally. Thanks for listening! >>> >> -- > You received this message because you are subscribed to the Google Groups > "Elm Discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- There is NO FATE, we are the creators. blog: http://damoc.ro/ -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
