Elm Europe 2017 - Richard Feldman - Scaling Elm Apps

preview_player
Показать описание

Рекомендации по теме
Комментарии
Автор

That feeling when the video is zoomed in on the speaker and multiple slides go by that you CANT SEE.... arghhhh!!! Why oh why don't the people that film these talks learn not to do that?!?!?

chrisanderson
Автор

Great talk!

side note: please just leave the view where I can see the slides. You can change which camera angle is present on the side, but missing information in the slides when he is referencing it is really frustrating.

sbditto
Автор

Tips in talk :

* Organize bigger functions into smaller functions.
* Helper functions.
* Narrow your types in functions.

Scaling Model:
* Write functions taking extensible records.

Views:
* Have reusable components : Html.map and Cmd.map

* Use simplest api possible.

AshishNegi
Автор

Great talk. It's definitely helpful if you want to force your elm app to scale ;-)
53:50 That's not right. You can end up with the same kind of bugs in Elm if your model had "dropdownOpen" as a flag for each component. And on the other side, it would be theoretically impossible to get the error in React/Redux as well if you also had one single flag in the model instead of having it in the local-state. So it's actually the same. Feel free to correct me in case I got it wrong.

ASalimDoost
Автор

Such a great video, super love Elm. Excited to see how fast the Elm community is growing :):)

striker
Автор

I've been trying to tidy up an existing, large Vue codebase by adding Typescript, ESLint rules, prettier, and written programming guidelines; yet no matter how many rules I add, our programmers are to come up with the most insane patterns that makes the app hopelessly difficult to maintain. I am curious if an Elm app would scale better with a large team.

majorhumbert
Автор

React hooks is a nightmare because it introduces hidden state inside apparently "functional" component..

kahnfatman
Автор

Thank you Richard you are like the Marvin Minsky of ELM, you really make complex ideas simple.

damianjones
Автор

It looks great. But I didn't got how can you write type signature for clearUser user = clearContact user >> clearAddress user ?
In Haskell rio style there is a way to intersect type-classes. But how do you intersect extensible records in Elm?

virkony
Автор

Great talk. I learned a lot. Thank you.

dycan
Автор

What an annoying collection of camera angles.. Talk was very interesting however

syllogism
Автор

why do you have to move the camera at all ??!

samehghanmi
Автор

I wish there were more than one thumb for me to "up" on this video

noahjohnson
Автор

Disclaimer: I do not use Elm, so there might be some technical details that I overlook.

When every "component" in a large application would have different API - it would actually make thing more complex, it seems.
If every component would have a model, and an updated, and a view - it makes things simpler. Not necessarily the by reducing the number of lines of code, but in terms of overall complexity.
Exactly like it is described in the beginning of the talk, when it goes about how we should split complex model, by adding lines of code, but making things easier to understand.
And the problem with narrower types seems to be solvable, by using model and msg types special to the component.

Another thing that I noticed is that with extensible records - that is duck typing.
With increasing scale it would make name collisions more and more likely.
Especially, if we are talking about reusable components.
So, it looks like a bad design decision.

ilyabobyr
Автор

I thought the "fractal" architecture was the way to go for scaling Elm apps. This is the first time I see it described as OOP-inspired. Will have to ruminate on that...

heldersribeiro