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
Stack funcional com Elm
Search
Éber Freitas Dias
February 29, 2020
Programming
0
89
Stack funcional com Elm
Éber Freitas Dias
February 29, 2020
Tweet
Share
More Decks by Éber Freitas Dias
See All by Éber Freitas Dias
Contruindo aplicações livres de erros com Elm
eberfreitas
0
58
Como começar a fazer jogos com ferramentas open-source
eberfreitas
0
42
Other Decks in Programming
See All in Programming
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
150
AIエージェント開発、DevOps and LLMOps
ymd65536
1
370
Jakarta EE Core Profile and Helidon - Speed, Simplicity, and AI Integration
ivargrimstad
0
280
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
2
270
未来を拓くAI技術〜エージェント開発とAI駆動開発〜
leveragestech
2
200
OSS開発者という働き方
andpad
5
1.6k
Langfuseと歩む生成AI活用推進
licux
3
320
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
940
私の後悔をAWS DMSで解決した話
hiramax
4
180
tool ディレクティブを導入してみた感想
sgash708
1
160
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
180
兎に角、コードレビュー
mitohato14
0
160
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Making Projects Easy
brettharned
117
6.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Bash Introduction
62gerente
614
210k
The Cult of Friendly URLs
andyhume
79
6.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Code Reviewing Like a Champion
maltzj
525
40k
Transcript
Stack funcional com Elm
Olá, eu sou o Éber! Elixir & Elm - Radify
None
None
Agradecimentos
Me interrompam!
JavaScript... é complicado
JavaScript... é complicado • dinâmica e flexível
None
JavaScript... é complicado • dinâmica e flexível • cheia de
*wats*
None
What the… JavaScript? - Kyle Simpsons https://youtu.be/2pL28CcEijU
JavaScript... é complicado • dinâmica e flexível • cheia de
*wats* • ecossistema populado
None
JavaScript... é complicado • dinâmica e flexível • cheia de
*wats* • ecossistema populado • as coisas estão melhorando...
Alternativas
Alternativas • CoffeeScript, PureScript, Dart, Reason, Haxe…
language Hipster
Alternativas • CoffeeScript, PureScript, Dart, Reason, Haxe… • TypeScript
Alternativas • CoffeeScript, PureScript, Dart, Reason, Haxe… • TypeScript •
LiveView
Alternativas • CoffeeScript, PureScript, Dart, Reason, Haxe… • TypeScript •
LiveView • Lumen
None
Uma linguagem agradável… … para webapps confiáveis … sem exceções
em tempo de execução … com mensagens de erro amigáveis
Elm • Evan Czaplicki, 2012 • Puramente funcional • Fortemente
tipada • Haskell, OCaml, F# • Compila para JS • Compilador escrito em Haskell • 0.19.1 (Out/2019)
Linguagem & arquitetura
Linguagem • Funcional
Linguagem • Funcional • Sintaxe
None
None
None
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs)
None
None
None
None
None
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs) • Fortemente tipada
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs) • Fortemente tipada • Alias types
None
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs) • Fortemente tipada • Alias types • Union types
None
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs) • Fortemente tipada • Alias types • Union types • Maybe
None
None
[ 1, NaN, NaN ]
None
None
None
Linguagem • Funcional • Sintaxe • Compiler (runtime exceptions &
error msgs) • Fortemente tipada • Alias types • Union types • Maybe • Funcional² (sem efeitos colaterais)
Arquitetura • The Elm Architecture (MVU)
https://elmprogramming.com/model-view-update-part-1.html
Arquitetura • The Elm Architecture (MVU) • Commands & Subscriptions
https://elmprogramming.com/subscriptions.html
Exemplo
None
None
None
None
None
None
Trade-offs
Quem usa? • thoughtbot • Rakuten • NoRedInk • Stone
• Cálculo Jurídico • PivotalTracker • Emirates • Vy • ...
Como aprender? • https://guide.elm-lang.org/ • https://elmprogramming.com/ • https://www.manning.com/books/elm-in-action • https://cuducos.me/2016/10/24/vamos-aprender-elm.html
• https://www.twitch.tv/eberfreitas
Dúvidas? speakerdeck.com/eberfreitas twitter.com/eber_freitas github.com/eberfreitas linkedin.com/in/eberfreitas
[email protected]