Elm - never get a runtime error anymore. Almost.
-
Upload
anton-astashov -
Category
Software
-
view
324 -
download
2
Transcript of Elm - never get a runtime error anymore. Almost.
![Page 1: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/1.jpg)
ElmNever get a runtime error anymore. Almost.
![Page 2: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/2.jpg)
Montage
![Page 3: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/3.jpg)
Secret techniques for reliable projects
• Use pure functions• Avoid nulls• Immutability everywhere• Powerful type system• One global state• View is just a pure function of state
![Page 4: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/4.jpg)
Elm
![Page 5: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/5.jpg)
Has Haskell-like syntax, but thankfully it’s not Haskell
![Page 6: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/6.jpg)
Elm• Pure language• No nulls• Everything is immutable• Compiler checks everything• Very opinionated
![Page 7: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/7.jpg)
Elm Architecture
View
function
Model
data
Update
Action
function
EventHandlerevent
event
![Page 8: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/8.jpg)
![Page 9: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/9.jpg)
Elm Architecture is a fractal
EventHandlerevent
event
Model
UpdateView
Model
UpdateView
Model
UpdateView
ModelUpdate
View
Action
![Page 10: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/10.jpg)
![Page 11: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/11.jpg)
![Page 12: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/12.jpg)
![Page 13: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/13.jpg)
![Page 14: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/14.jpg)
![Page 15: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/15.jpg)
![Page 16: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/16.jpg)
![Page 17: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/17.jpg)
No, not really…
![Page 18: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/18.jpg)
![Page 19: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/19.jpg)
Cons• Very opinionated• Tooling• Dead Code Elimination• Immaturity• Runtime errors are still possible• Some things are hard to do• Almost no libraries for “production”• Poor coverage of modern browser APIs
![Page 20: Elm - never get a runtime error anymore. Almost.](https://reader035.fdocuments.in/reader035/viewer/2022062902/58ee21201a28ab290d8b4711/html5/thumbnails/20.jpg)
Is it ready for production?It depends…
But if you learn it,it will make you a better JavaScript developer.