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
0
440
Elm - A new approach to building the front end
As delivered at True North PHP 2015
Joel Clermont
November 06, 2015
Tweet
Share
More Decks by Joel Clermont
See All by Joel Clermont
How to get unstuck
jclermont
0
170
Level Up Your Code Quality
jclermont
0
360
How to Save Time
jclermont
0
38
F# Type Providers
jclermont
0
96
Give Elm a Chance! (that conference)
jclermont
0
320
Give Elm a Chance (newCodeCamp)
jclermont
0
310
Give Elm a Chance!
jclermont
0
320
Property-based testing: work harder, not smarter
jclermont
0
460
Elm: A new approach to building the front end
jclermont
0
110
Other Decks in Programming
See All in Programming
Java 25, Nuevas características
czelabueno
0
120
Python札幌 LT資料
t3tra
7
1.1k
Go コードベースの構成と AI コンテキスト定義
andpad
0
150
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
300
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
470
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
470
Navigating Dependency Injection with Metro
l2hyunwoo
1
200
AtCoder Conference 2025
shindannin
0
790
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
420
Patterns of Patterns
denyspoltorak
0
380
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
32
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
71
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
99
Game over? The fight for quality and originality in the time of robots
wayneb77
1
67
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
410
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
40
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
150
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
190
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
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