My Account Log in

2 options

Functional web development with Elixir, OTP, and Phoenix : rethink the modern web app / Lance Halvorsen.

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Halvorsen, Lance, author.
Series:
Pragmatic programmers.
The Pragmatic Programmers
Language:
English
Subjects (All):
Web site development.
Elixir (Computer program language).
Web applications--Programming.
Web applications.
Physical Description:
1 online resource (248 pages) : illustrations (some color).
Edition:
1st edition
Place of Publication:
Raleigh, North Carolina : The Pragmatic Bookshelf, 2018.
System Details:
text file
Summary:
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.
Contents:
Cover
Table of Contents
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
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
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
Recovering State After a Crash
Part III-Add a Web Interface with Phoenix
6. Generate a New Web Interface with Phoenix
Frameworks
Applications
Generate a New Phoenix Application
Adding a New Dependency
Call the Logic from the Interface
7. Create Persistent Connections with Phoenix Channels
The Beauty of Channels
The Pieces That Make a Channel
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
Bibliography
Index
- SYMBOLS -
- A -
- B -
- C -
- D -
- E -
- F -
- G -
- H -
- I -
- J -
- K -
- L -
- M -
- N -
- O -
- P -
- R -
- S -
- T -
- U -
- V -
- W -.
Notes:
"Version: P1.0 (January 2018)."
"Your Elixir source"--Cover.
Includes bibliographical references.
Description based on online resource; title from PDF cover (EBC, viewed March 16, 2018).
ISBN:
9781680505436
1680505432
9781680505450
1680505459
9781680505443
1680505440
OCLC:
1028639847

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account