Skill Roadmap

Next.js

Next.js takes React and adds the pieces a production app actually needs — file-based routing, server rendering, data fetching, and a deployment story that just works. This roadmap walks you from rendering strategies and the App Router through data fetching and caching, middleware, styling, performance optimization, testing, and deploying a Next.js app to production.

What skills does a Next.js developer need?

It depends what kind of app you're rendering

The skills a Next.js developer needs sit on top of solid React fundamentals. Anyone building content or marketing sites needs to understand static generation and incremental static regeneration, image and font optimization, and metadata — the levers that drive SEO and page speed. Developers building dashboards and interactive apps lean more on the App Router's mix of Server and Client Components, data fetching patterns, and server actions for mutations.

Anyone shipping full applications with auth or multi-tenant logic needs middleware, cookies, and caching strategies to actually click, plus a real testing setup (Vitest or Jest, Playwright or Cypress) before it goes near production. Teams running their own infrastructure also need to understand rendering runtimes — Node.js vs Edge — and deployment options beyond Vercel's default path.

Universally, Next.js rewards understanding which parts of a page run on the server and which run in the browser — since that split drives almost every architectural decision, from where data fetching happens to how caching behaves.

The Next.js Roadmap

Work through these in order — the App Router and data fetching are where most of the framework's complexity lives

STEP 1
Next.js logo

Introduction

Why frameworks exist on top of React, and where Next.js fits in.

JavaScript Basics Why React Why Frontend Frameworks SPA vs SSR Why Next.js Remix React Frameworks create-next-app
STEP 2

Rendering Strategies & Runtimes

Where a page actually gets built — server, client, or somewhere in between.

Rendering Strategies SSR SPA CSR SSG Client Rendered Server Rendered Loading and Streaming Runtimes and Types Node.js Runtime Edge Runtime
STEP 3

Routing (App Router)

File-based routing, layouts, and the conventions the App Router introduced.

Why use App Router? Types of Routers Pages Router App Router Getting Started Routing Routing Patterns Routing Terminology Structuring Routes Layouts and Templates Next.js Routing Basics Intercepting Routes Parallel Routes Static vs Dynamic Streaming Redirects Route Matcher Error States API Endpoints
STEP 4

Data Fetching & Caching

Get data into a page, and decide how long it stays fresh.

Data Fetching Patterns Fetching Locations Handling Sensitive Data Caching Data Server Actions Memoization in Fetch Revalidating Cached Data React Cache Revalidation Errors Parallel vs Sequential Preloading Data
STEP 5

Middleware, Cookies & i18n

Run code before a request reaches a page.

Middleware Setting Headers Using Cookies Middleware Use Cases Internationalization
STEP 6

Styling

The several ways Next.js lets you write and scope CSS.

Composition Global CSS CSS Modules Sass Tailwind CSS CSS in JS
STEP 7

Assets & Performance

Ship less, load faster, and keep an eye on what's actually slow.

Images Videos Fonts Metadata Scripts Package Bundling Lazy Loading Analytics Instrumentation OpenTelemetry Static Assets Third Party Libraries Memory Usage
STEP 8

Developer Experience & Tooling

The setup that keeps a growing codebase manageable.

TypeScript ESLint Prettier Setting Things Up Environment Variables Markdown and MDX Custom Server Configuring
STEP 9

Testing

Prove the app works before your users find out it doesn't.

Vitest Jest Playwright Cypress Testing Frameworks
STEP 10

Deployment

Get a Next.js app in front of real users.

Preparing for Production Deployment Options Static Export Adapters Node.js Server Docker Container

GitHub Projects

Real, buildable projects to put on your own GitHub

Frequently Asked Questions

Common questions from people starting out with Next.js

Next.js vs plain React — what's the difference?

React is a UI library — it renders components but leaves routing, data fetching, and bundling up to you. Next.js is a framework built on React that adds file-based routing, server rendering, image and font optimization, and a deployment pipeline, so you're not assembling those pieces yourself for every project.

What's the difference between SSR, SSG, and ISR?

SSG (static generation) builds a page once at build time, which is fastest but can go stale. SSR (server-side rendering) rebuilds the page on every request, which is always fresh but slower. ISR (incremental static regeneration) is a middle ground — pages are static but regenerate in the background after a set interval, giving you speed without fully stale content.

Should I use the App Router or the Pages Router?

The App Router is where new Next.js features land first — Server Components, streaming, layouts, and server actions — so it's the recommended starting point for new projects. The Pages Router still ships and works well for existing codebases, but there's no reason to start a brand-new project on it today.

What are Server Components vs Client Components?

Server Components render on the server and never ship their JavaScript to the browser, which keeps bundles small — they're the default in the App Router. Client Components (marked with "use client") run in the browser and are what you reach for when you need interactivity, state, or browser-only APIs like event handlers.

Next.js vs Remix — which should I learn?

Next.js has the larger ecosystem, the tightest integration with Vercel's deployment platform, and covers static, server, and edge rendering in one framework. Remix leans more heavily into web platform fundamentals (forms, loaders, nested routing) and is a strong choice if that philosophy appeals to you — both are solid, actively maintained options built on React.

How do I prepare for a Next.js interview?

Be ready to explain the trade-offs between SSR, SSG, and ISR, and when you'd reach for a Server Component versus a Client Component. Know how caching and revalidation work in the App Router, and have one real project — ideally with data fetching, a form using Server Actions, and at least basic tests — that you can walk through in detail.

Track complete

From rendering strategies and the App Router to data fetching, styling, and a deployed production app — that's the core of what employers expect from a Next.js developer. Keep building, and let the kind of app you enjoy most (content sites or interactive dashboards) pull you toward the next roadmap.

Where next?

Keep exploring by domain or drill into a single skill