
Full Stack Web Development with Remix
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Unlock the full potential of the web platform to enhance your React dev experience
- Discover how Remix assists in building a seamless user experience from start to finish
- Purchase of the print or Kindle book includes a free PDF eBook
Book DescriptionWe're in an exciting era of web development marked by the rapid evolution of the JavaScript ecosystem. Remix offers the necessary abstractions to take advantage of the latest advancements in React and beyond. With this Remix book, you can elevate your skills from React development to full stack web development, unlocking the full potential of the latest technologies, such as edge functions, streaming, and the full stack of the web platform. This book guides you through Remix's thoughtfully designed conventions, levers, and primitives to sharpen your web development skills. In this book, you'll develop a personal finance management application-a dashboard that mimics both personal and enterprise use cases. Each chapter introduces new concepts, such as routing, data fetching, mutations, error handling, and state management, as well as advanced topics, such as real-time communication, edge deploys, and caching strategies to create a great user experience from end to end. As you apply each concept to the finance dashboard, you'll discover how you can supercharge your React app with Remix. The final section of this book covers migration strategies, guiding you on how to transition an existing application to Remix. By the end of this book, you'll have a comprehensive understanding of Remix and the experience of building a full stack web app from start to finish.What you will learn - Understand Remix's philosophy and guiding principles
- Enhance your web platform proficiency to make it applicable anywhere
- Master data mutations, routing, error handling, and state management with Remix
- Understand how to build web apps with accessibility and progressive enhancement in mind
- Get acquainted with advanced topics such as caching strategies, real-time communication, and developing for the edge
- Understand state-of-the-art technologies, such as serverless functions, edge computing, and Content Delivery Networks (CDNs)
- Study migration patterns to move an existing project to Remix
Who this book is forThis book is for React developers looking to adopt Remix for their next project. For those considering migrating to Remix, this guide offers a comprehensive walkthrough of building a full stack web app. To make the most of this book, beginner-level development experience with React and JavaScript is recommended. While having basic knowledge of server-side runtimes such as Node.js and experience with TypeScript can be beneficial, they are not mandatory prerequisites.
All prices
More details
Other editions
Additional editions

Content
- Cover
- Title page
- Copyright and credits
- Foreword
- Contributors
- Table of Contents
- Preface
- Part 1 - Getting Started with Remix
- Chapter 1: The Era of Full Stack Web Frameworks
- Introducing Remix
- Remix is a web framework
- Remix is a full stack framework
- Understanding the philosophy behind Remix
- Primitives, conventions, and levers
- Primitives
- Conventions
- Levers
- Remix behind the scenes
- Remix is a compiler
- Remix is a router
- Remix is a runtime
- What Remix is not
- Summary
- Further reading
- Chapter 2: Creating a New Remix App
- Technical requirements
- Creating a "Hello World!" Remix app
- Understanding Remix's file and folder structure
- Exploring the client and server environments
- The two bundles of your Remix application
- Client and server code
- Troubleshooting Remix applications
- A Remix troubleshooting process
- Looking for answers
- Summary
- Further reading
- Chapter 3: Deployment Targets, Adapters, and Stacks
- Technical requirements
- Picking a deployment target
- Picking a JavaScript runtime
- Picking a hosting environment
- Making the final decision
- Switching between adapters
- Using Remix Stacks
- Working with Remix official stacks
- Working with custom templates
- Working with BeeRich
- Summary
- Further reading
- Chapter 4: Routing in Remix
- Technical requirements
- Working with Remix's route module API
- Route file-naming conventions
- Working with file-based routing
- Creating route modules
- Available route module exports
- Composing pages from nested routes
- Using route parameters for dynamic routing
- Parameterized route segments
- Sharing layouts
- Using parent layout routes
- Using pathless layout routes
- Handling navigations in Remix
- Navigating with Remix's link components
- Indicating page transitions
- Redirecting a user from the server
- Summary
- Further reading
- Part 2 - Working with Remix and the Web Platform
- Chapter 5: Fetching and Mutating Data
- Technical requirements
- Fetching data
- Fetching data at the route level
- Fetching dynamic data in parameterized routes
- Loading data in parallel
- Mutating data
- Mutating data without JavaScript
- Mutating data with JavaScript
- Summary
- Further reading
- Chapter 6: Enhancing the User Experience
- Technical requirements
- Understanding progressive enhancement
- Progressive enhancement in Remix
- Making it work without JavaScript
- Making it worse before making it better
- Testing on slow networks
- Prefetching data
- Working with action data
- Handling concurrent mutations
- Adding a form to a list
- Supporting multiple pending states
- Summary
- Further reading
- Chapter 7: Error Handling in Remix
- Technical requirements
- Dealing with unexpected errors
- Invoking client and server errors
- Handling errors with the root error boundary
- Nested error handling
- Handling thrown responses
- Throwing responses
- Handling exceptions with error boundaries
- Creating a resilient experience
- Handling page-not-found (404) errors
- Summary
- Further reading
- Chapter 8: Session Management
- Technical requirements
- Working with search parameters
- Reading search parameters in loader functions
- Updating search parameters with form submissions
- Programmatically submitting forms
- Creating user sessions with cookies
- Working with Remix's session helpers
- Adding a user registration flow
- Adding a user login flow
- Deleting a session during logout
- Authenticating access to user data
- Accessing cookie data on the server
- Working with user data on the client
- Enforcing authentication on the server
- Summary
- Further reading
- Chapter 9: Assets and Metadata Handling
- Technical requirements
- Using meta tags in Remix
- Declaring global meta tags
- Exporting the meta function
- Nesting meta exports
- Using loader data in meta functions
- Using matches data in meta functions
- Handling fonts, images, stylesheets, and other assets
- Working with static assets
- Managing links in Remix
- Styling in Remix
- Working with images in Remix
- Exposing assets with loader functions
- Summary
- Further reading
- Chapter 10: Working with File Uploads
- Technical requirements
- Using multi-part form data in Remix
- Processing files on the server
- Loading files into memory
- Using Remix's upload handler helper functions
- Authorizing access to assets with resource routes
- Forwarding files to third-party services
- Summary
- Further reading
- Part 3 - Advanced Concepts of Full Stack Web Development with Remix
- Chapter 11: Optimistic UI
- Technical requirements
- Considering optimistic UI
- Communicating rollbacks
- Synchronizing client and server states
- Synchronizing client and server states in Remix
- Adding optimistic UI updates in Remix
- Creating an expense
- Updating an expense
- Deleting an expense
- Removing an attachment
- Summary
- Further reading
- Chapter 12: Caching Strategies
- Technical requirements
- Working with HTTP caching
- Adding HTTP headers in Remix
- Caching public pages in shared caches
- Understanding Remix's built-in caching
- Caching personalized pages in private caches
- Caching immutable data responses
- Caching dynamic data responses with entity tags
- Exploring in-memory caching
- Summary
- Further reading
- Chapter 13: Deferring Loader Data
- Technical requirements
- Streaming data to the client
- Motivating server-side data fetching and streaming
- Understanding HTTP streaming requirements
- Deferring loader data
- Summary
- Further reading
- Chapter 14: Real Time with Remix
- Technical requirements
- Working with real-time technologies
- Understanding polling
- Understanding SSE
- Understanding WebSocket
- Building real-time UIs with Remix
- Summary
- Further reading
- Chapter 15: Advanced Session Management
- Technical requirements
- Managing visitor sessions
- Implementing pagination
- Summary
- Further reading
- Chapter 16: Developing for the Edge
- Living on the edge
- Computing at the edge
- Running web apps on the edge
- Remixing the edge
- Understanding the edge's benefits and limitations
- Summary
- Further reading
- Chapter 17: Migration and Upgrade Strategies
- Migrating to Remix
- Migrating non-React apps to Remix
- Migrating from a React app
- Migrating from React Router
- Working with a backend application
- Keeping Remix apps up to date
- Summary
- Further reading
- Index
- Other Books You May Enjoy
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: ePUB
Copy protection: without DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use a reader that can handle the file format ePUB, such as Adobe Digital Editions or FBReader – both free (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePUB works well for novels and non-fiction books – i.e., 'flowing' text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook does not use copy protection or Digital Rights Management
For more information, see our eBook Help page.