Book description
Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web applications. For decades OTP has helped developers create incredibly robust, scalable applications with unparalleled uptime. Make the most of them as you build a stateful web app with Elixir, OTP, and Phoenix. Model domain entities without an ORM or a database. Manage server state and keep your code clean with OTP Behaviours. Layer on a Phoenix web interface without coupling it to the business logic. Open doors to powerful new techniques that will get you thinking about web development in fundamentally new ways.
Elixir and OTP provide exceptional tools to build rock-solid back-end applications that scale. In this book, you'll build a web application in a radically different way, with a back end that holds application state. You'll use persistent Phoenix Channel connections instead of HTTP's request-response, and create the full application in distinct, decoupled layers.
In Part 1, start by building the business logic as a separate application, without Phoenix. Model the application domain with Elixir functions and simple data structures. By keeping state in memory instead of a database, you can reduce latency and simplify your code. In Part 2, add in the GenServer Behaviour to make managing in-memory state a breeze. Create a supervision tree to boost fault tolerance while separating error handling from business logic.
Phoenix is a modern web framework you can layer on top of business logic while keeping the two completely decoupled. In Part 3, you'll do exactly that as you build a web interface with Phoenix. Bring in the application from Part 2 as a dependency to a new Phoenix project. Then use ultra-scalable Phoenix Channels to establish persistent connections between the stateful server and a stateful front-end client.
You're going to love this way of building web apps!
What You Need:
You'll need a computer that can run Elixir version 1.5 or higher and Phoenix 1.3 or higher. Some familiarity with Elixir and Phoenix is recommended.
Publisher resources
Table of contents
- Acknowledgments
- Introduction
- 1. Mapping Our Route
- Part I. Define the Functional Core in Elixir
- Part II. Add OTP for Concurrency and Fault Tolerance
- Part III. Add a Web Interface with Phoenix
- A1. Installing System Dependencies
- Bibliography
Product information
- Title: Functional Web Development with Elixir, OTP, and Phoenix
- Author(s):
- Release date: January 2018
- Publisher(s): Pragmatic Bookshelf
- ISBN: 9781680505443
You might also like
video
Getting Started with Elixir
Elixir is a dynamic, functional language designed to build scalable and maintainable applications. Elixir leverages the …
book
Learn Functional Programming with Elixir
Elixir's straightforward syntax and this guided tour give you a clean, simple path to learn modern …
book
Metaprogramming Elixir
Write code that writes code with Elixir macros. Macros make metaprogramming possible and define the language …
book
Property-Based Testing with PropEr, Erlang, and Elixir
Property-based testing helps you create better, more solid tests with little code. By using the PropEr …