Welcome to ElmForReactDevs
Are you a React.js developer looking to expand your skills and harness the power of Elm?
Look no further than ElmForReactDevs a series designed to help React.js developers seamlessly transition into the world of static types!
I'm offering 1:1 coaching and mentoring sessions through Patreon
Starting in 2017, I experienced first hand the journey of switching from React development to Elm fulltime.
And it completely changed the way I think about programming.
Most recently I was challenged with hiring Elm engineers to help rewrite a React app in Elm.
Finding Elm developers was tough!
I want to help more React developers better understand elm and static typed purely functional languages.
I saw again and again some of the same stumbling blocks and lightbulb moments 💡
Those of which I hope to cover here in a series of articles and videos.
And along the way learn functional programming concepts and patterns
If you like to learn more, checkout my Patreon.
You can help support the project by subscribing to theYouTube Channel.
In my experience, there are 3 pillars to Elm mastery:
Basics Syntax -Understanding type signatures, operators, 'let in' blocks, currying, using custom types, writing Html, structuring modules.
The Elm Architecture -How `Msg`,`Cmd Msg`,`Html Msg`,`Sub Msg`,are all connected.
The Model View Update cycle, storing state, and responding to internal and external events
The Compiler -Reading compiler errors, walking through refactors.
Here I will share the tools and techniques I've acquired over the years working with Elm at various startups across industries from HealthTech saving lives to music and live streaming, and more.
Hopefully this content helps you start to think in Elm and you can begin to use it in your personal and professional lives
By nature Elm is very different from React.
But some things are also very similar.
And both are great at creating declarative UI's
Paired with Redux, there are even more parallels like: unidirectional data flow, data normalization and centralized state
- Single source of truth
- read-only state
- updates from pure functions
Thankfully it's a rather small language and you can learn the basics quickly and build robust applications with a handful of patterns
"What the heck is a Msg?"
"What's a functor?"
"What is point-free style?"
"How do you make reusable components?"
"What do you mean we don't use components?"
"How do you do multipage routing?"
"How does ajax and fetch() work in Elm?"
Elm is very idiomatic and pattern heavy.
So once you learn some of these patterns and practices you'll be well on your way to being effective.
I'm here to help you bridge the gap.
You've been using functors this whole time!
I'm not saying "Elm will make you a better programmer", but I'm not not saying it either. ;)
Hi I'm Dwight
Elm and functional programming changed my life.
I've been making web applications for nearly a decade, and Elm makes the process of building robust and reliable applications easier.
It's been my pleasure to work with such a friendly language, and to learn from many talented people across different industries.
Functional programming is fun!
You can help support the project by becoming a Patron.
As well as by subscribing on YouTube.
I'd love to help you on your functional journey!