⭐️ New Developing With Elixir/OTP Course - Get early access!
Building Web Apps with Elm
Learn the latest version and cutting-edge techniques!
Build Web Apps In A Delightful Functional Language
Elm is rapidly changing the front-end game! This course will quickly get you up to speed on a modern, reliable way to create web apps. Using the latest version of the Elm functional programming language, we'll incrementally build a reactive web app so you see how everything fits together. Discover the joy of writing reliable front-end code that stays well-factored and easy to maintain as your web app grows.
Go From a New Project to Talking to a JSON API Since we build an app from scratch, the course outline isn't organized around Elm's syntax or libraries. For example, you won't find a module named "Strings" that shows you everything you can do with a string. Boring!
Instead, the course outline follows the timeline of a project as we incrementally add new features. Syntax and libraries are introduced progressively when we need them to actually get something done. How's that for being pragmatic? :-)
Each module includes a short, focused video that either uses a new aspect of Elm to accomplish a task or reinforces something we learned in a previous video but in a slightly different way. You can watch all the videos this afternoon or savor a few each day over lunch or on your commute!
22 Videos • 3.5 Hours • Exercises
- 1. Introduction and Setup (1:49) free
- 2. Hello, Elm! (6:35) free
- 3. Compiling and Running (4:16) free
- 4. Calling Functions (7:32)
- 5. Defining Functions (8:07)
- 6. Rendering HTML (9:41)
- 7. Not Your Father's Type System (11:38)
- 8. Currying (5:50)
- 9. Modeling Application State: Records (5:07)
- 10. Type Aliases (6:12)
- 11. Mapping Over HTML Lists (7:28)
- 12. Updating the Model via Messages (11:31)
- 13. The Elm Architecture (7:33)
- 14. Summing Points: Fun with Lists (4:42)
- 15. Intro to Effects and Commands (12:13)
- 16. Fetching Data From a Backend API (12:50)
- 17. Decoding JSON (11:29)
- 18. Failures, Maybe? (11:56)
- 19. Posting JSON To a Backend API (11:53)
- 20. Reacting To Input Fields (11:54)
- 21. Organizing Code (11:13)
- 22. Designing Around Concepts (15:23)
Learn The Pragmatic Way
Build a Real Project with Real Code In the Studio, our focus is always on helping you build real applications. Each new topic or technique in the progression of the course is motivated by the next feature we want in the app we're building.
Learning in the context of building a real application makes a huge difference. By following a project-based approach, you see how all the pieces fit together. You gain a deeper understanding of both the "how" and the "why". Learning this way makes everything "click"... and it's just more fun!
Here's another difference: We respect your time. In the videos we get right to the point and pace things to keep you engaged. You don't have to suffer through rambling commentary and annoying typos! We stay on topic and post-produce the videos to the highest quality so you get a streamlined, time-friendly learning experience.
For Developers New To Elm
Looking to modernize your front-end development skill set? We designed this course for you! To respect your time in the videos, we assume you're already fluent in HTML, CSS, and another programming language. However, we don't assume you have prior experience with functional programming or Elm. If you're already using Elm in earnest, then depending on your experience this course may not be a good fit for you.
We aim for 100% satisfied developers, so if this course turns out not to be a good fit for you, we'll gladly issue you a 100% refund.
From Mike & Nicole
Hey, there! Mike here. I love to create stuff and teach what I've learned. Over the past 20 years I've taught and used many languages to develop real applications, but there's a quality to Elm that feels special. I discovered it in late 2014 when looking for something fresh and fun to learn over the holidays. I'm as excited about Elm now as I was back then. Elm is what finally got me into functional programming. It made me a better programmer. And so I naturally can't help but want to share it with you!
Together Nicole and I own and run The Pragmatic Studio. We'd love to have you join us in the Studio for this great course! Learn more about us…
How To Integrate Elm Into Your Apps
Once folks learn Elm, they're eager to find ways to use it in existing applications. So how do you go about introducing Elm at your company? Learn several practical ways to integrate Elm into existing applications in our free Integrating Elm course. You can then apply these same techniques on your project!
Also, check out the true story of how one developer successfully integrated Elm into his company and learn from his step-by-step approach.
What Is Elm?
Why are we so excited about Elm? First and foremost, it's designed to be fun and friendly to use. Indeed, Elm upends the notion that functional programming is only accessible to mad scientists and academics. With its clean and readable syntax, world-class tooling, and friendly compiler, Elm is truly a delightful language.
But what we love most about Elm is that you can actually build practical stuff with it quickly, which is exactly what we do in this course.
Join thousands of others who have learned Elm using this top-rated course!
“Love this Elm tutorial. Time to write front end code again since I don't need to use JS.” Mike Gehard
“...loving the course on @elmlang! finally getting my head around this awesome #WebDev language!” Ian Taylor
“A great, practical introduction to Elm. Straightforward with a great ease-in approach to new concepts.” Jake Trent
“This is a perfect, succinct introduction that helps cement the idea that Elm is a usable language for the day-to-day.” Vitor Capela
“A very practical, hands-on approach to learning Elm. Great course overall!” Matthew Machuga
“The course was practical, informative and exceptionally well-paced. I love that pretty much as soon as a question sprung into my head you answered it. If there's a better way to learn Elm out there, I've not found it. Fantastic work!” Alan Gardner
“Mike Clark is an excellent teacher. He explains the concepts clearly and concisely... He introduces everything incrementally and at no point did I feel overloaded. Quite the opposite, there were a number of times when he displayed the uncanny ability to read the questions arising in my mind while going through the material...” Philip Poots' Full Course Review