Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Functional Web Development with Elixir, OTP, and Phoenix

Rethink the Modern Web App

Paperback Engels 2018 1e druk 9781680502435
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

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!

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.

Specificaties

ISBN13:9781680502435
Taal:Engels
Bindwijze:paperback
Aantal pagina's:200
Druk:1
Verschijningsdatum:20-2-2018
Hoofdrubriek:IT-management / ICT

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

Acknowledgments
Introduction
Who This Book Is For
Who This Book Is Not For
About This Book
Online Resources

1. Mapping Our Route
Lay the Foundation with Elixir
Add a Web Interface with Phoenix
Functional Web Development
The Game of Islands

Part I. Define the Functional Core in Elixir
2. Model Data and Behavior
The Benefits
Let’s Build It
Discover the Entities and Model the Domain
Transforming Data
Putting the Pieces Together
Wrapping Up

3. Manage State with a State Machine
A Quick Look at State
A Bit of History
State Machines
A Functional State Machine for Islands
Working Through the States
Wrapping Up

Part II. Add OTP for Concurrency and Fault Tolerance
4. Wrap It Up in a GenServer
A Look at Micro-Services
OTP Solutions
Getting Started with GenServer
Initializing GenServer State
Customizing GenServer Behavior
Naming GenServer Processes
Wrapping Up

5. Process Supervision for Recovery
Fault Tolerance
Linking Processes
Introducing the Supervisor Behaviour
Supervision Strategies
The Child Specification
A Supervisor for the Game
Starting the Supervision Tree
Starting and Stopping Child Processes
Putting the Pieces Together
Recovering State After a Crash
Wrapping Up

Part III. Add a Web Interface with Phoenix
6. Generate a New Web Interface with PhoenixGenerate a New Web Interface with Phoenix
Frameworks
Applications
Generate a New Phoenix Application
Adding a New Dependency
Call the Logic from the Interface
Wrapping Up

7. Create Persistent Connections with Phoenix ChannelsCreate Persistent Connections with Phoenix Channels
The Beauty of Channels
The Pieces That Make a Channel
Let’s Build It
Establish a Client Connection
Converse Over a Channel
Connect the Channel to the Game
Phoenix Presence
Authorization
Wrapping Up

A1. Installing System Dependencies
Elixir
Erlang
Phoenix
Node.js and NPM

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Functional Web Development with Elixir, OTP, and Phoenix