Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elm - A new approach to building the front end
Search
Joel Clermont
November 06, 2015
Programming
450
0
Share
Elm - A new approach to building the front end
As delivered at True North PHP 2015
Joel Clermont
November 06, 2015
More Decks by Joel Clermont
See All by Joel Clermont
How to get unstuck
jclermont
0
190
Level Up Your Code Quality
jclermont
0
380
How to Save Time
jclermont
0
50
F# Type Providers
jclermont
0
120
Give Elm a Chance! (that conference)
jclermont
0
340
Give Elm a Chance (newCodeCamp)
jclermont
0
330
Give Elm a Chance!
jclermont
0
340
Property-based testing: work harder, not smarter
jclermont
0
480
Elm: A new approach to building the front end
jclermont
0
120
Other Decks in Programming
See All in Programming
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
260
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
170
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
130
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
net-httpのHTTP/2対応について
naruse
0
410
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.4k
Oxlintのカスタムルールの現況
syumai
5
940
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.1k
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1.1k
Swiftのレキシカルスコープ管理
kntkymt
0
210
さぁV100、メモリをお食べ・・・
nilpe
0
120
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
310
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
Designing Powerful Visuals for Engaging Learning
tmiket
1
390
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
180
Docker and Python
trallard
47
3.9k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Amusing Abliteration
ianozsvald
1
190
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
230
How to Ace a Technical Interview
jacobian
281
24k
Transcript
Elm A new approach to building the front end Joel
Clermont @jclermont
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 (plus types as data)
Statically Typed (another example)
Functional Programming • higher-order functions • currying • recursion •
pattern matching
All hail the pipe!
Questions?
Elm architecture
Model
Update
View
Questions?
Tour a simple app
Model
Update
View
None
Questions?
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
Questions?
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
Questions?
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
• https://pragmaticstudio.com/blog/2014/12/19/ getting-started-with-elm • @elmlang @czaplic @rtfeldman • http://noredinktech.tumblr.com
Questions? @jclermont
https://joind.in/15744 Thank you! @jclermont