Elm A new approach tobuilding the front endJoel Clermont @jclermont
View Slide
What to expect• Elm language tour
What to expect• Elm language tour• Application architecture overview
What to expect• Elm language tour• Application architecture overview• Tour an Elm app
What to expect• Elm language tour• Application architecture overview• Tour an Elm app• How does this fit in with my current process?
What to expect• Elm language tour• Application architecture overview• Tour an Elm app• How does this fit in with my current process?• Tooling
What to expect• Elm language tour• Application architecture overview• Tour an Elm app• How does this fit in with my current process?• Tooling• Why should I give Elm a try?
Elm as a language
Pure Functions
Immutable Data
Statically Typed
Functional Programming• higher-order functions• currying• recursion• pattern matching
All hail the pipe!
Questions?
Elm architecture
Model
Update
View
Tour a simple app
How does this fit in?
From Elm to your browser• compile to JS
From Elm to your browser• compile to JS• link JS source in your web app
From Elm to your browser• compile to JS• link JS source in your web app• Elm.fullscreen
From Elm to your browser• compile to JS• link JS source in your web app• Elm.fullscreen• Elm.embed
It’s just HTML/CSS/JS
Excellent JS interop
Tooling
Compiler
Excellent tooling• Package manager
Excellent tooling• Package manager• REPL
Excellent tooling• Package manager• REPL• Interactive debugger
Excellent tooling• Package manager• REPL• Interactive debugger• Great documentation
Why should I consider Elm?• It’s fast
Why should I consider Elm?• It’s fast• It’s safe
Why should I consider Elm?• It’s fast• It’s safe• Great tooling and ecosystem
Why should I consider Elm?• It’s fast• It’s safe• Great tooling and ecosystem• Easy to integrate gradually
Why should I consider Elm?• It’s fast• It’s safe• Great tooling and ecosystem• Easy to integrate gradually• It’s FUN
Next steps• http://elm-lang.org (live demos, debugger, REPL)• https://pragmaticstudio.com/elm• @elmlang• @czaplic• @rtfeldman• http://noredinktech.tumblr.com
Questions?@jclermont
Thank you!@jclermont