Real–time Phoenix
Build Highly Scalable Systems with Channels
Paperback Engels 2020 1e druk 9781680507195Samenvatting
Real-time applications come with real challenges—persistent connections, multi-server deployment, and strict performance requirements are just a few. Don’t try to solve these challenges by yourself—use a framework that handles them for you. Elixir and Phoenix Channels provide a solid foundation on which to build stable and scalable real-time applications. Build applications that thrive for years to come with the best practices found in this book.
Understand the magic of real-time communication by inspecting the WebSocket protocol in action. Avoid performance pitfalls early in the development life cycle with a catalog of common problems and their solutions. Leverage GenStage to build a data pipeline that improves scalability. Break your application before your users do and deploy with confidence. Build a real-world project using solid application design and testing practices that help make future changes a breeze. Create distributed apps that can scale to many users with tools like Phoenix Tracker. Deploy and monitor your application with confidence and reduce outages.
Deliver an exceptional real-time experience to your users, with easy maintenance, reduced operational costs, and maximized performance, using Elixir and Phoenix Channels.
Specificaties
Lezersrecensies
Inhoudsopgave
Connect a Simple WebSocket excerpt
-Why WebSockets?
-Connecting our First WebSocket
-WebSocket Protocol
-Long Polling, a Real-Time Alternative
-WebSockets and Phoenix Channels
-Wrapping Up
First Steps with Phoenix Channels
-What are Phoenix Channels?
-Understanding Channel Structure
-PubSub
-Send and Receive Messages
-Channel Clients
-Wrapping Up
Restrict Socket and Channel Access
-Why Restrict Access?
-Add Authentication to Sockets
-Add Authorization to Channels
-Use Authentication from JavaScript
-When to Write a New Socket
-Wrapping Up
Dive Deep into Phoenix Channels
-Design for Unreliable Connections
-Use Channels in a Cluster excerpt
-Customize Channel Behavior
-Write Tests
-Wrapping Up
Avoid Performance Pitfalls
-Measure Everything
-Keep Your Channels Asynchronous
-Build a Scalable Data Pipeline
-Wrapping Up
Building a Real-Time Application
Build a Real-Time Sneaker Store
-From Product Requirements to a Plan
-Set Up the Project
-Render Real-Time HTML with Channels excerpt
-Update a Client with Real-Time Data
-Run Multiple Servers
-Wrapping Up
Break Your Application with Acceptance Tests
-The Power of Acceptance Testing
-Break Your App Like a User
-Break Your App Like a Server
-Automate Acceptance Tests With Hound
-Wrapping Up
Build a Real-Time Shopping Cart
-Plan Your Shopping Cart
-Scaffold Your Shopping Cart Channel
-Build Your Shopping Cart Channel
-Add Real-Time Out-Of-Stock Alerts
-Acceptance Test the Shopping Cart
-Wrapping Up
Track Connected Carts with Presence
-Plan Your Admin Dashboard
-On Track with Phoenix Tracker
-Use Tracker in an Application
-Phoenix Tracker Versus Presence
-Scaffold the Admin Dashboard
-Track Shopping Carts in Real-Time
-Assemble the Admin Dashboard
-Load Test the Admin Dashboard
-Wrapping Up
Bringing Real-Time Applications to Production
Deploy Your Application to Production
-The Lay of the Land
-Achieve Scalability with Load Balancing
-Push New Code Safely
-Cluster Your BEAM Nodes Together
-Advanced Phoenix Channel Configuration
-Wrapping Up
Manage Real-Time Resources
-Getting Comfortable with Elixir’s Scheduler
-Manage Your Application’s Memory Effectively
-Inspect a Running Application
-Wrapping Up
Exploring Front-End Technologies
Hands-On with Phoenix LiveView
-Getting Started with LiveView
-Build a LiveView Product Page
-Write Tests for a LiveView
-Wrapping Up
Single-Page Apps with React
-Manage Channel State in React
-Write Channels as Components
-Hands-On with React
-React Native Channels
-Wrapping Up
-The End of Our Journey
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan