Learn to build a high-performance functional prototype of a voting web application from scratch using Elixir and PhoenixKey Features
- Build a strong foundation in Functional-Programming techniques while learning to build compelling web applications
- Understand the Elixir Concurrency and parallelization model to build high-performing blazingly fast applications
- Learn to test, debug and deploy your web applications using Phoenix framework
Book DescriptionPhoenix is a modern web development framework that is used to build API's andweb applications. It is built on Elixir and runs on Erlang VM whichmakes it much faster than other options. With Elixir and Phoenix, youbuild your application the right way, ready to scale and ready for theincreasing demands of real-time web applications.
This book covers the basics of the Phoenix web framework, showing you how to build acommunity voting application, and is divided into three parts. In thefirst part, you will be introduced to Phoenix and Elixir and understandthe core terminologies that are used to describe them. You will alsolearn to build controller pages, store and retrieve data, add users toyour app pages and protect your database. In the second section youwill be able to reinforce your knowledge of architecting real timeapplications in phoenix and not only debug these applications but alsodiagnose issues in them. In the third and final section you will havethe complete understanding of deploying and running the phoenixapplication and should be comfortable to make your first applicationrelease
By the end of this book, you'll have a strong grasp of all of the core fundamentals of the Phoenix framework, and will have built a full production-ready web application from scratch.
What you will learn
- Learn Phoenix Framework fundamentals and v1.3's new application structure
- Build real-time applications with channels and presence
- Utilize GenServers and other OTP fundamentals to keep an application stable
- Track users as they sign in and out of chat with Phoenix's built-in presence functionality
- Write your own database interaction code that is safe, bug-free, and easy to work with
- Explore testing and debugging methodologies to understand a real software development lifecycle for a Phoenix application
- Deploy and run your Phoenix application in production
Who this book is forThis book is for people with a basic knowledge of Elixir, who want to startbuilding web applications. Prior experience with web technologies isassumed.
Table of Contents
- Introducing Elixir and Phoenix Pages
- Building Our Vote Controllers
- Storing and Retrieving Vote Data with Ecto Pages
- Adding Users to our App Pages
- Protecting our Database from Bad Data Pages
- Live-Voting with Channels and Javascript
- Writing the Javascript to Handle Channels
- Adding Chat to Our App
- Caching Vote Data with ETS
- Understanding the Elixir Concurrency Model
- Writing Our Search Genserver
- Deploying our Application
Brandon Richey is software engineer and Elixir enthusiast who haswritten a large number of popular Elixir tutorials. He has been doingprofessional and hobby programming projects spanning topics fromhealthcare, personal sites, recruiting, and game development for nearly20 years! When not programming, Brandon enjoys spending time with hisfamily, playing (and making) video games, and working on his drawingsand paintings!