Routing in Elm seems a bit clunky at the moment, especially if you have a 
lot of routes.

For a secured web-app, where one normally would not share or bookmark 
specific pages (and not use the back-button) -- you could consider dropping 
routing altogether.

On Monday, October 3, 2016 at 9:34:33 AM UTC+2, Peter Damoc wrote:
>
> 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] <javascript:>> 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] <javascript:>.
>> 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.

Reply via email to