From Elixir in Action, Third Edition by Saša Jurić

Learn to build production-quality distributed applications and highly available server-side systems using Elixir. This new edition is fully updated with the latest versions and features of the language.


Thousands of developers have learned to build applications in Elixir by using Saša Juric’s Elixir in Action. Now in its third edition and fully updated to Elixir 1.14, this authoritative bestseller reveals how Elixir tackles problems of scalability, fault tolerance, and high availability. Skip the programming basics or 101 introductions; this book builds on your existing knowledge to get you quickly writing real Elixir code. Along the way, you’ll develop an appreciation for, and considerable skill in, functional and concurrent programming.

It’s been four years since the second edition of this book was published, and Elixir has moved forward in that period. This edition discusses some new language features, updates the deprecated parts, and polishes the example code, so it’s more idiomatic and aligned with the latest best practices.

In this new edition, you will find:

  • Updates for Elixir 1.14
  • Elixir modules, functions, and type system
  • Functional and concurrent programming
  • Introduction to distributed system design
  • Creating deployable releases

This book is ideal for anyone who wants to learn this programming language, from beginners to experienced developers looking to expand their knowledge. Whether you’re building web applications, working on distributed systems, or just interested in learning a new programming language, Elixir in Action, Third Edition is the perfect resource for mastering this powerful and versatile language.

A lot of work has been invested into making the contents approachable, and the learning process incremental. The first part of the book discusses the functional aspect of the Elixir. Going forward, in the second part you’ll learn about concurrent Elixir, and how it can help you improve the scalability and fault-tolerance of your systems. Finally, the third part of the book deals with production-related topics, such as distributed systems and deployable releases.

By the end of the book, readers will have a solid understanding of language’s core concepts, as well as the ability to build high-performance, fault-tolerant applications using OTP. They’ll also learn how to leverage the power of Elixir’s ecosystem, including tools like Phoenix, Ecto, and Nerves.

Who this book is for

To fully take advantage of the material, you should be a software developer with intermediate experience. It is not expected that you know anything about Elixir, Erlang, or functional programming, but you should be skillful in at least one programming language, such as Java, C#, Ruby, JavaScript.

If you want to learn more about the book, check it out here.