Integrating Elm

A free video course to help you integrate (sneak!) Elm into existing web apps

Elm 0.18

Watch Course Intro

"Once I've learned Elm, how do I introduce it into my apps?"

Once folks discover how delightful it is to program in Elm, they're eager to find ways to use it in existing applications. Not everyone has the luxury of working on a greenfield Elm project. And a big rewrite is impractical and loaded with risk.

So here's a pragmatic idea: you incrementally and strategically convert a small part of your app to Elm. Learn how in this free course!

4 Practical Examples

In this 40-minute video course we walk through several practical ways to slip Elm into an existing, larger application. This is an intermediate course that assumes you're already familiar with the basics of Elm, or have completed our Building Web Apps with Elm course.

  • Embed Elm Anywhere (4:49) Elm can be set up to render within any element of a page, so you can sprinkle in Elm to taste. It's a practical way to convert small sections of your app. Sneaky!
  • Subscribe to External Events (13:43) Using an Elm subscription, your embedded code can listen for external events and react accordingly. Just because it's embedded doesn't mean it's cut off from the world.
  • Listen to WebSocket Messages (6:22) Got a backend websocket server? We'll hook up embedded Elm code to react to websocket messages. Real-time sports scores, anyone?
  • Interop with JavaScript(12:38) Elm can communicate with any JavaScript code, whether it's your own JavaScript or a third-party library. So you can start using Elm without rewriting what you already have.

It's our hope that once you see practical ways that Elm can be integrated into larger apps you'll be inspired to give Elm a spin on your project. For more inspiration, check out this true story of how one developer successfully integrated Elm into his company.

High-Quality Videos
Access to streamable and downloadable, DRM-free videos on any device.
Notes and Exercises
Each video has a corresponding set of technical notes with bonus material, exercises, and handy tips.
Source Code
Includes starter files, stepped versions of the app for each module, and all the source for the final app.
Instant, Never-Expiring Access
No monthly subscription or time limit. Start when you want and repeat as often as you like!

Integrating Elm

4 Videos • 40 Minutes

Elm and Integrating Elm Package: Both the Elm and Integrating Elm Courses

27 Videos • 4 Hours

For Elm Developers

This isn't a beginner course intended for developers new to Elm. It's an intermediate course that assumes you're already familiar with the basics of Elm, or you've completed our Building Web Apps with Elm course where we build an Elm web app from scratch.

Meet 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…

Join other developers integrating Elm into their projects!

Pretty cool introduction to subscriptions and ports. The diagrams were a huge help in getting a feel for the mechanics behind the concepts.” Yong Bakos
Loved this detailed yet simple and digestible course. I didn't have to take a break between the videos because it wasn't boring like most online tutorials.” Tosyn Oluwafemi
“Your videos are a trove of information on using Elm to building feature-rich websites. They are concise, clear, and to the point. They cut to the chase in every single installment. Thank you!” Walther Diechmann
“I REALLY found Elm's Javascript interop to be confusing from the Elm docs, but your step-by-step walkthroughs were tremendously helpful. I would have paid for this course.” Scott Thompson
“You make Elm looks so easy.” Rafael Dourado
“As always, an absolutely clear and detailed presentation.” Mickey Vashchinsky
“I'd read about Elm ports in other places and found the descriptions confusing. Your course explained them in a way which filled in all the details. Clear and easy to understand!” Mike Solem
“This course is an absolutely fantastic follow-up to the Building Web Apps with Elm course. Each concept is introduced where and when it makes sense. Really great! Keep up the excellent work!” Gabriel Schimit Ribeiro