{"product_id":"9781680502435","title":"Functional Web Development with Elixir, OTP, and Phoenix: Rethink the Modern Web App","description":"\u003cp\u003eElixir 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.\u003c\/p\u003e\u003cp\u003eElixir 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.\u003c\/p\u003e\u003cp\u003eIn 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.\u003c\/p\u003e\u003cp\u003ePhoenix 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.\u003c\/p\u003e\u003cp\u003eYou're going to love this way of building web apps!\u003c\/p\u003e\u003cp\u003e \u003cb\u003eWhat You Need:\u003c\/b\u003e \u003c\/p\u003e\u003cp\u003eYou'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.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e","brand":"Pragmatic Programmers, LLC, The","offers":[{"title":"Default Title","offer_id":47037354377456,"sku":"9781680502435","price":45.95,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0737\/7593\/9824\/files\/9781680502435_p0.jpg?v=1772500232","url":"https:\/\/shop-qa.barnesandnoble.com\/products\/9781680502435","provider":"Barnes \u0026 Noble (DEV)","version":"1.0","type":"link"}