Network and Browser APIs
Talk to servers with fetch, remember data with web storage, read URLs, build client-side routes, watch the page with observers and animate smoothly.
So far your code has lived inside one page. This phase connects it to the outside world. You'll learn how HTTP works from a JavaScript developer's point of view (methods, status codes, headers, JSON and CORS), then use **fetch** properly: checking response.ok, sending JSON, handling every kind of error, and cancelling slow requests with AbortController.
Then come the browser's own tools: **localStorage and sessionStorage for remembering things, URL and URLSearchParams for reading and building addresses safely, the History API for apps that change pages without reloading, the three observers (intersection, resize and mutation) that replace slow polling and scroll handlers, requestAnimationFrame** for smooth animation, and a tour of permission-based APIs such as the clipboard, location and notifications.
Everything builds on Phase 10 (promises and async/await) and Phases 8–9 (the DOM and events). The live previews never touch the real network: they use data: URLs or a small fake server that returns real Response objects, so every result is the same each time you press Run. Code that needs a real server is shown as normal code blocks. For the server side of HTTP (caching, APIs, load balancers) see Hectal's /system-design course.
Practise this phase
Hands-on exercises: write the code, see your page live, and press Check to have it tested automatically.