20
Elm Never get a runtime error anymore. Almost.

Elm - never get a runtime error anymore. Almost

Embed Size (px)

Citation preview

Page 1: Elm - never get a runtime error anymore. Almost

ElmNever get a runtime error anymore. Almost.

Page 2: Elm - never get a runtime error anymore. Almost

Montage

Page 3: Elm - never get a runtime error anymore. Almost

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

Elm

Page 5: Elm - never get a runtime error anymore. Almost

Has Haskell-like syntax, but thankfully it’s not Haskell

Page 6: Elm - never get a runtime error anymore. Almost

Elm• Pure language• No nulls• Everything is immutable• Compiler checks everything• Very opinionated

Page 7: Elm - never get a runtime error anymore. Almost

Elm Architecture

View

function

Model

data

Update

Action

function

EventHandlerevent

event

Page 8: Elm - never get a runtime error anymore. Almost
Page 9: Elm - never get a runtime error anymore. Almost

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
Page 11: Elm - never get a runtime error anymore. Almost
Page 12: Elm - never get a runtime error anymore. Almost
Page 13: Elm - never get a runtime error anymore. Almost
Page 14: Elm - never get a runtime error anymore. Almost
Page 15: Elm - never get a runtime error anymore. Almost
Page 16: Elm - never get a runtime error anymore. Almost
Page 17: Elm - never get a runtime error anymore. Almost

No, not really…

Page 18: Elm - never get a runtime error anymore. Almost
Page 19: Elm - never get a runtime error anymore. Almost

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

Is it ready for production?It depends…

But if you learn it,it will make you a better JavaScript developer.