The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...
Kick off your book project in 2 hours! Live workshop on Zoom. You’ll leave with a real book project, progress on your first chapter, and a clear plan to keep going. Tuesday, June 16, 2026. Learn more…
This book is no longer available for sale.
Welcome to the world of functional web programming! In this book, we'll learn how to create fun, scalable, and maintainable web applications. We'll use the latest ideas from emerging languages like Elixir and Elm to craft a fun experience. Rather than focusing on theory, we'll take a practical approach and build a real-world application.
About the Book
While most programming books focus on theory, we'll take a practical approach and build an application together with Elixir and Elm. In the process, we'll use functional programming techniques as we learn how to create fun, scalable, and maintainable web applications.
The application we'll be building is a small game platform for the web. We'll use Elixir and the Phoenix web framework to power the back-end, where our users can log in and keep track of their scores. And then we'll use Elm on the front-end to create fun mini-games. We'll tie everything together so we can pass data back and forth between the back-end and front-end by syncing player scores in real-time. We'll focus on building things with a strong foundation, so that we can use these same concepts to create different web applications as well.
Why cover two programming languages in a single book?
There are plenty of great technical books available, but the Elixir and Elm Tutorial takes a bit of a different approach. Rather than covering a single language, we take a more holistic approach to building a full application. In doing so, we'll see a lot of familiar patterns that functional languages share. Not only will we be able to cover a lot more ground, but we'll have the added benefit of seeing similar concepts implemented in two separate languages.
Why Elixir and Elm?
Have you ever had a great idea for an application you wanted to build? Did it get increasingly difficult to implement as you worked on it? Have you considered that perhaps the tools you were using were making things really hard on you? Elixir and Elm are user-friendly languages that are built on top of very strong foundations. These languages make it considerably easier for us to craft scalable and maintainable applications that remain fun to work with as we continually add new features.
Should I use these languages for my next big project, or are they too young?
Although Elixir and Elm are young languages, they are also languages that solve real problems. If you're planning to build the "next big thing," you should seriously consider a strong tech stack with a solid foundation. While other startups are struggling to deploy new features because "undefined is not a function", your project will continue to be maintainable, fast, and easy to refactor.
The material for this book was also written intentionally so that readers could adapt it to their needs. Although we use examples with "players" and "games", they could easily be adapted to work with "users" and "products" and the concepts remain the same.
Which versions does this book cover?
• Elixir 1.7
• Phoenix 1.4
• Elm 0.19
Is source code available to accompany the material?
Yes. The demo application is still being actively developed, but feel free to check out the source code on GitHub and feel free to send me an email if you have ideas or suggestions.
Why LeanPub? Will the book be kept up to date?
LeanPub is amazing. It's especially important for a project like this one, because these languages are fairly new and evolving. Both Phoenix and Elm underwent big changes during the writing of this book, and LeanPub made it easy to continually update the content and push new releases. The intention is that the material will be kept up to date with the latest versions of Elixir, Phoenix, and Elm. New features for the demo application will also be added, and rewrites will help to continually improve the way the concepts are covered as well.
Any plans for future releases?
Yes. The content for this book has been completely rewritten and revised as major changes to Phoenix and Elm have been released. The book contains over 300 pages of content and also contains a "What's Next?" chapter with ideas for readers to consider or potentially feature in future iterations.
About the Author
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $15 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.