Preamble
1.
Notice to Reader
2.
Preface
3.
Acknowledgements
4.
About this Book
5.
About the Author
6.
If you get stuck or lose steam
Introductions
7.
Programming
7.1.
What it is
7.2.
Why it's worth it
7.3.
Why it's hard
7.4.
Programmer Thinking
8.
Languages
8.1.
Meaning and Interpretation
9.
Architectures
9.1.
What is architecture
9.2.
How your computer works
9.3.
How the web works
9.4.
The frontend-backend divide
9.5.
General application architecture
9.6.
Trade-offs between WASM and JavaScript
10.
Tools and Languages
10.1.
Web browsers
10.2.
HTML
10.3.
Bash and the terminal
10.4.
Rust
10.5.
Trunk
10.6.
Cargo Leptos
11.
Other Resources
11.1.
Rust
Getting Started with Rust and Leptos
12.
Setup
13.
Architecture
13.1.
Leptos Components - #[component]
13.2.
Signals (reactive values) - create_signal
13.3.
Effects (side effects) - create_effect
Generting UI
14.
Introduction
15.
Setup
15.1.
Trunk
16.
Introspection and Debugging
17.
HTML
18.
The view! macro
19.
Leptos Components
20.
Variables and the view! macro
21.
Component properties
22.
Component dynamic content separation
23.
Loops and the <For /> view! macro tag
24.
Conditional display and the <Show> view! macro tag
25.
Tables and data sets
26.
Reserved Tags
Client Side
27.
Introduction
28.
Setup
28.1.
Trunk
29.
Introspection and Debugging
30.
Responding to Events
30.1.
Witnessing events
30.2.
Reacting to events with event handlers
30.3.
Event handers as props
30.4.
Event Bubbling and Signal Generics
30.5.
Preventing bubbling and default event behaviours
30.6.
Custom Events
30.7.
Custom Event Data
30.8.
Custom Event Module
30.9.
Custom Event Module with Data
30.10.
Custom Event Data with Signals and Effects
30.11.
Custom Event Data with Signals and Effects - Part 2
31.
Sending Data
31.1.
Forms
31.2.
Acton Forms
32.
Sending and Receiving Data
32.1.
Fetch
32.2.
Web Socket
33.
Saving/Persisting Data
33.1.
Local Storage
33.2.
Cookies
33.3.
IndexedDB
Server Side
34.
Introduction
35.
Setup
35.1.
Cargo Leptos
35.1.1.
Setup
35.1.2.
File Structure
35.1.3.
Config
35.1.4.
Server Initialization and Main.rs
35.1.5.
Leptos app main component and app.rs
35.1.6.
Leptos_meta
35.1.7.
Leptos_router
36.
Introspection and Debugging
37.
Responding to Requests
37.1.
Get Method Forms
37.2.
Post Method Forms
37.3.
Accessing Request Data
37.4.
Responding Parts
37.4.1.
Headers
37.4.2.
Cookies
37.4.3.
Body
37.5.
HTML Requests - Routes
37.6.
Data Requests - Server Functions
37.7.
Behaviour Request - Server Actions
38.
Client Server Communication
38.1.
Server Functions
38.2.
<Transition>
38.3.
<ActionForm>
38.4.
Web Sockets
39.
Saving/Persisting Data
Architecture
40.
Scope and Runtime
41.
Passing data around
Deployment
42.
Render.com
43.
Fly.io
44.
Cloudflare Workers
Desktop Applications
45.
Tauri
46.
TUI
Tutorial Projects
47.
Blog
48.
RPG Initiative Tracker
49.
Chat
Quick Reference
50.
Structuring Applications
51.
Documenting Applications
52.
Testing Applications
Recipes
Appendix
53.
Common Application Behaviours
53.1.
Form Validation
54.
Common Design Patterns
54.1.
Event Sourcing
55.
Common Problems and Concerns
55.1.
Quality
55.1.1.
UI Response Time
55.1.2.
Bundle Size
55.1.3.
Partial Hydration
55.2.
Consistency
55.2.1.
Offline Support and Data Sync
55.2.2.
Observability and Logging
Light
Rust
Coal
Navy
Ayu
Building Apps with Rust
Chat