Table of Contents
Best Elixir Books
Elixir in Action
- Juric, Saša (Author)
- English (Publication Language)
- 416 Pages - 03/19/2024 (Publication Date) - Manning (Publisher)
Elixir in Action, Third Edition teaches you how to create distributed applications and server-side systems using Elixir and the Erlang VM. This Third Edition from Elixir expert Saša Juric is fully updated to include the latest features of Elixir 1.15. In it, you’ll master the foundations of the language, discover how the OTP framework minimizes tedious boilerplate code, and explore numerous examples that ensure you’re learning hands-on.
Thousands of developers have learned to build applications in Elixir by using Saša Juric’s Elixir in Action. You’ll 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. Inside Elixir in Action, Third Edition you’ll find:
Updates for Elixir 1.15
Elixir modules, functions, and type system
Functional and concurrent programming
Introduction to distributed system design
Creating deployable releases
Fully updated to Elixir 1.15, this book contains new coverage of working with application configuration and the latest OTP releases. It teaches you the underlying principles and functional concepts of Elixir and OTP, and how each piece fits into the bigger picture of building production-ready systems with Elixir, Erlang, and the OTP framework. This is the Best Elixir Book in 2024.
Programming Phoenix 1.4: Productive |> Reliable |> Fast
- McCord, Chris (Author)
- English (Publication Language)
- 325 Pages - 10/22/2019 (Publication Date) - Pragmatic Bookshelf (Publisher)
Don’t accept the compromise between fast and beautiful: you can have it all. Phoenix creator Chris McCord, Elixir creator Jose Valim, and award-winning author Bruce Tate walk you through building an application that’s fast and reliable. At every step, you’ll learn from the Phoenix creators not just what to do, but why. Packed with insider insights and completely updated for Phoenix 1.3, this definitive guide will be your constant companion in your journey from Phoenix novice to expert, as you build the next generation of web applications.
Phoenix is the long-awaited web framework based on Elixir, the highly concurrent language that combines a beautiful syntax with rich metaprogramming. The best way to learn Phoenix is to code, and you’ll get to attack some interesting problems. Start working with controllers, views, and templates within the first few pages. Build an in-memory context, and then back it with an Ecto database layer, complete with changesets and constraints that keep readers informed and your database integrity intact. Craft your own interactive application based on the channels API for the real-time applications that this ecosystem made famous. Write your own authentication plugs, and use the OTP layer for supervised services. Organize code with modular umbrella projects.
This edition is fully updated for Phoenix 1.3, Elixir 1.3, and Ecto 2.1, with a new chapter on using Channel Presence to find out who’s connected, even on a distributed application. Use the new generators and the new ExUnit features to organize tests and make Ecto tests concurrent. This is a book by developers and for developers, and we know how to help you ramp up quickly. Any book can tell you what to do. When you’ve finished this one, you’ll also know why to do it.
Learn Functional Programming with Elixir: New Foundations for a New World
- Almeida, Ulisses (Author)
- English (Publication Language)
- 200 Pages - 04/03/2018 (Publication Date) - Pragmatic Bookshelf (Publisher)
Elixir’s straightforward syntax and this guided tour give you a clean, simple path to learn modern functional programming techniques. No previous functional programming experience required! This book walks you through the right concepts at the right pace, as you explore immutable values and explicit data transformation, functions, modules, recursive functions, pattern matching, high-order functions, polymorphism, and failure handling, all while avoiding side effects. Don’t board the Elixir train with an imperative mindset! To get the most out of functional languages, you need to think functionally. This book will get you there.
Functional programming offers useful techniques for building maintainable and scalable software that solves today’s difficult problems. The demand for software written in this way is increasing – you don’t want to miss out. In this book, you’ll not only learn Elixir and its features, you’ll also learn the mindset required to program functionally. Elixir’s clean syntax is excellent for exploring the critical skills of using functions and concurrency.
Start with the basic techniques of the functional way: working with immutable data, transforming data in discrete steps, and avoiding side effects. Next, take a deep look at values, expressions, functions, and modules. Then extend your programming with pattern matching and flow control with case, if, cond, and functions. Use recursive functions to create iterations. Work with data types such as lists, tuples, and maps. Improve code reusability and readability with Elixir’s most common high-order functions. Explore how to use lazy computation with streams, design your data, and take advantage of polymorphism with protocols. Combine functions and handle failures in a maintainable way using Elixir features and libraries.
Metaprogramming Elixir: Write Less Code, Get More Done (and Have Fun!)
- McCord, Chris (Author)
- English (Publication Language)
- 128 Pages - 03/10/2015 (Publication Date) - Pragmatic Bookshelf (Publisher)
by Chris McCord. Write code that writes code with Elixir macros. Macros make metaprogramming possible and define the language itself. In this book, you’ll learn how to use macros to extend the language with fast, maintainable code and share functionality in ways you never thought possible. You’ll discover how to extend Elixir with your own first-class features, optimize performance, and create domain-specific languages.
Metaprogramming is one of Elixir’s greatest features. Maybe you’ve played with the basics or written a few macros. Now you want to take it to the next level. This book is a guided series of metaprogramming tutorials that take you step by step to metaprogramming mastery. You’ll extend Elixir with powerful features and write faster, more maintainable programs in ways unmatched by other languages.
You’ll start with the basics of Elixir’s metaprogramming system and find out how macros interact with Elixir’s abstract format. Then you’ll extend Elixir with your own first-class features, write a testing framework, and discover how Elixir treats source code as building blocks, rather than rote lines of instructions. You’ll continue your journey by using advanced code generation to create essential libraries in strikingly few lines of code. Finally, you’ll create domain-specific languages and learn when and where to apply your skills effectively. This book will help you learn the joy of elixir.
When you’re done, you will have mastered metaprogramming, gained insights into Elixir’s internals, and have the confidence to leverage macros to their full potential in your own projects.
Introducing Elixir: Getting Started in Functional Programming
- St. Laurent, Simon (Author)
- English (Publication Language)
- 246 Pages - 02/07/2017 (Publication Date) - O'Reilly Media (Publisher)
Sweet, powerful and small, Elixir is a great language for learning functional programming, and with this hands-on introduction, you will discover just how powerful Elixir can be. Authors Simon St. Laurent and J. David Eisenberg show you how Elixir combines Erlang’s robust functional programming with a more Ruby-like approach, and includes powerful macro functionality for metaprogramming. Updated to cover Elixir 1.4, the second edition of this how-to book helps you write simple Elixir programs by teaching one skill at a time. Once you decide on pattern matching, process-oriented programming, and other concepts, you’ll understand why Elixir makes it easy to create concurrent, resilient programs that scale easily. Learn Elixir from the best Elixir book in 2024.
Familiarize yourself with IEx, the command line interface of Elixir
Learn the basic structures of Elixir by working with numbers
Learn about atoms, pattern matches, and guards: the foundations of your program structure
Get to the heart of Elixir processing with recursion, strings, lists and higher-order functions
Create Elixir processes and send messages among them
Store and manipulate structured data with Erlang Term Storage and the Mnesia database
Build resilient applications with the Open Telecom platform
Designing Elixir Systems With OTP: Write Highly Scalable, Self-healing Software with Layers
- Gray II, James (Author)
- English (Publication Language)
- 248 Pages - 01/07/2020 (Publication Date) - Pragmatic Bookshelf (Publisher)
Sweet, powerful and small, Elixir is a great language for learning functional programming, and with this hands-on introduction, you will discover just how powerful Elixir can be. Authors Simon St. Laurent and J. David Eisenberg show you how Elixir combines Erlang’s robust functional programming with a more Ruby-like approach, and includes powerful macro functionality for metaprogramming. Updated to cover Elixir 1.4, the second edition of this how-to book helps you write simple Elixir programs by teaching one skill at a time. Once you decide on pattern matching, process-oriented programming, and other concepts, you’ll understand why Elixir makes it easy to create concurrent, resilient programs that scale easily.
Familiarize yourself with IEx, the command line interface of Elixir programming languages
Learn the basic structures of Elixir by working with numbers
Learn about atoms, pattern matches, and guards: the foundations of your program structure
Get to the heart of Elixir processing with recursion, strings, lists and higher-order functions
Create Elixir processes and send messages among them
Store and manipulate structured data with Erlang Term Storage and the Mnesia database
Build resilient applications with the Open Telecom platform
Programming Elixir ≥ 1.6
- Thomas, Dave (Author)
- English (Publication Language)
- 398 Pages - 05/28/2018 (Publication Date) - Pragmatic Bookshelf (Publisher)
This book by Dave Thomas is the introduction to Elixir for experienced programmers, fully updated for Elixir 1.6 and beyond. You want to explore functional programming, but are put off by the academic feel (tell me about monads just one more time). You know you need concurrent applications, but also know these are almost impossible to get right. Meet Elixir, a functional, concurrent language built on the rock-solid Erlang VM. Elixir’s pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. This book is the introduction to Elixir for experienced programmers.
Maybe you need something that’s closer to Ruby, but with a battle-proven environment that’s unrivaled for massive scalability, concurrency, distribution, and fault tolerance. Maybe the time is right for the Next Big Thing. Maybe it’s Elixir.
This edition of the book has been updated to cover Elixir 1.2, including the new `with` expression, the exrm release manager, and the removal of deprecated types. As a developer, you’ve probably heard that functional programming techniques help manage the complexities of today’s real-world, concurrent systems. You’re also investigating designs that help you maximize uptime and manage security.
This book is your guide to Elixir, a modern, functional, and concurrent programming language. Because Elixir runs on the Erlang VM, and uses the underlying Erlang/OTP architecture, it benefits from almost 20 years of research into high performance, highly parallel, and seriously robust applications. Elixir brings a lot that’s new: a modern, Ruby-like, extendable syntax, compile and runtime evaluation, a hygienic macro system, and more.
But, just as importantly, Elixir brings a sense of enjoyment to parallel, functional programming. Your applications become fun to work with, and the language encourages you to experiment.
Part 1 covers the basics of writing sequential Elixir programs. We’ll look at the language, the tools, and the conventions.
Part 2 uses these skills to start writing concurrent code–applications that use all the cores on your machine, or all the machines on your network! And we do it both with and without OTP.
And Part 3 looks at the more advanced features of the language, from DSLs and code generation to extending the syntax.
By the end of this book, you’ll understand Elixir, and know how to apply it to solve your complex, modern problems.
Programming Phoenix LiveView: Interactive Elixir Web Programming Without Writing Any JavaScript
- Tate, Bruce A. (Author)
- English (Publication Language)
- 450 Pages - 12/24/2024 (Publication Date) - Pragmatic Bookshelf (Publisher)
by Bruce A. Tate and Sophie DeBenedetto. The days of the traditional request-response web application are long gone, but you don’t have to wade through oceans of JavaScript to build the interactive applications today’s users crave. The innovative Phoenix LiveView library empowers you to build applications that are fast and highly interactive, without sacrificing reliability. This definitive guide to LiveView isn’t a reference manual. Learn to think in LiveView. Write your code layer by layer, the way the experts do. Explore techniques with experienced teachers to get the best possible performance.
Instead of settling for traditional manuals and tutorials, get insights that can only be learned from experience. Start with the Elixir language techniques that effortlessly marry your client templates and server-side handlers. Design your systems with the right layers in the right places so that your code is easier to understand, change, and support. Explore features like multi-part uploads and learn how to comprehensively test your live views. Roll into advanced techniques to tie your code to other services through the powerful publish-subscribe interface.
LiveView brings the most important programming techniques from the popular Elm and JavaScript React frameworks to Elixir. You’ll experience firsthand how to harness that power by working side by side with some of the first LiveView users. You will write your programs to change data on the server, and you’ll see how LiveView efficiently detects those changes and reflects them on the web page. Start from scratch, use built-in generators, and craft reusable components. Your single-purpose reducers will transform server data that your renderers can turn into efficient client-side diffs.
Don’t settle for knowing how things work. To get the most out of LiveView, you need to know why they work that way. Co-authored by one of the most prolific authors and teachers in all of Elixir, this book is your perfect guide to one of the most important new frameworks of our generation.