Functional Web Development with Elixir, OTP, and Phoenix: Rethink the Modern Web App

Functional Web Development with Elixir, OTP, and Phoenix: Rethink the Modern Web App

作者: Lance Halvorsen
出版社: Pragmatic Bookshelf
出版在: 2018-02-20
ISBN-13: 9781680502435
ISBN-10: 1680502433
裝訂格式: Paperback
總頁數: 220 頁





內容描述


Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web applications. Make the most of them as you build a stateful web app with Elixir and OTP. 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 give us exceptional tools to build stateful back-end applications that really scale, with rock-solid reliability. In this book, you'll build a web application in ways that are radically different from the norm. The back end will be stateful, not stateless. Use persistent connections with Phoenix Channels 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 Agents and simple data structures. By keeping state in memory instead of a database, you can reduce latency and simplify your code. Then add OTP Behaviours such as gen_server and gen_fsm that 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 2, you'll do exactly that as you build a web interface with Phoenix. Bring in the application from Part 1 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.3 or higher and Phoenix 1.2 or higher. Some familiarity with Elixir and Phoenix is recommended.




相關書籍

Learning Perl : Making Easy Things Easy and Hard Things Possible, 7/e (Paperback)

作者 Randal L. Schwartz Brian D. Foy Tom Phoenix

2018-02-20

Java SE 17 基礎必修課 (適用Java 17~10,涵蓋ITS Java國際認證)

作者 蔡文龍 何嘉益 張志成 張力元 吳明哲 策劃

2018-02-20

MTA Software Development Fundamentals 國際認證教戰手冊 C# (98-361)

作者 吳進北 林文恭研究室

2018-02-20