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.

Reply via email to