Hey Elixir Forum,
I’ve written a ebook called the Phoenix LiveView Cookbook which I’ve written in the hopes of distilling the knowledge I’ve gained from using LiveView in production for almost 4 years.
I love LiveView but I also found it really hard to find resources on implementing common patterns found in the web which other frameworks seem to have more available.
I’ve built dozens of side projects and projects at my company where I’m a lead full stack engineer so hopefully I have something I can teach you!
I go through the initial ideas of LiveView, compare it to other frameworks like React and talk about pros and cons, before going through the basics of form validation, nested forms, testing LiveView and components and then dive into recipes like server-side analytics, keeping users in sync in real-time and a bunch more.
The book released today but I’ve already had some really love reception from early readers and I figured this sub might benefit from it.
Introduction
Foreword
What is LiveView
Vs JavaScript: LiveView and React, Elixir and Node
Building a House: An Analogy
Core Knowledge
Prerequisites
Setting Up Your Environment
LiveView Lifecycle and State Management
Templating and Components
Routing and Navigation
Live Sessions
Live Navigation
Forms & Validations
Keeping our users up-to-date in realtime
Testing
Unit Testing LiveViews
Integration tests in LiveView
Testing Components & LiveComponents
What about testing interactions?
Interoping with JavaScript
Alpine.js
LiveView.JS
Testing JavaScript
Common Recipes & How-tos
Virtualised Lists and Infinite Scroll
Real-time Search with ETS
Serverside Analytics
Asynchronous Task Handling
Triggering CSS animations from the server
Authorisation & Access Limitation
Third-party Libraries you should know
Feature Flagging
Background Job Processing
Administration
Time/Data Parsing & Manipulation
There’s a short free chapter to get an idea of it if you’re not sure of purchasing the whole book and there’s a 10% off code here if you decided it was something for you!
Discount code: A3MDY2OA
I’m also planning on updating it over time as people request more sections and ideas to expand upon so please provide any feedback on how I can improve it and I’ll do my best!