Skip to content

Kapitel 1: Next.js Einführung

📖 Lernziele

In diesem Kapitel lernen Sie:

  • ✅ Was Next.js ist und warum es beliebt ist
  • ✅ Die Kernkonzepte von Next.js 14
  • ✅ Den Unterschied zwischen Next.js und anderen Frameworks
  • ✅ Die Vorteile von Next.js gegenüber reinem React
  • ✅ Typische Anwendungsszenarien
  • ✅ Wie Sie Ihren Lernweg planen

1.1 Was ist Next.js?

🎯 Kernkonzept

Next.js ist ein React-Framework, das von Vercel entwickelt wird und produktionsbereite Funktionen bietet.

📝 Definition

Next.js = React + Routing + Rendering-Optimierung + Entwickler-Erfahrung

🔑 Hauptmerkmale

MerkmalBeschreibung
FrameworkVollständiges Framework, nicht nur eine Bibliothek
Basierend auf ReactVerwendet React für die Benutzeroberfläche
Server-Side RenderingSEO-freundlich, schnelle Ladezeiten
Dateisystem-RoutingKeine manuelle Router-Konfiguration
OptimiertAutomatische Code-Splitting, Bildoptimierung

💡 Warum Next.js?

mermaid
graph LR
    A[React] --> B[Next.js]
    A --> C[Manuell konfigurieren]
    B --> D[SSR/SSG eingebaut]
    B --> E[Routing automatisch]
    B --> F[Optimierung integriert]
    C --> G[Viele Konfigurationen]

🎬 Beispiel: Einfacher Vergleich

Reines React (Create React App):

jsx
// Manuelle Router-Konfiguration
import { BrowserRouter, Routes, Route } from 'react-router-dom';

function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </BrowserRouter>
  );
}

Next.js (App Router):

app/
  page.js          → /
  about/page.js    → /about

Keine Konfiguration nötig!


1.2 Next.js 14 Kernfunktionen

🚀 Next.js 14 Hauptneuerungen

FunktionBeschreibungVorteil
App RouterNeues Routing-SystemBessere Organisation
Server ComponentsRendering auf dem ServerBessere Performance
TurbopackNeuer Bundler700x schneller als Webpack
Server ActionsFormular-Handling auf dem ServerWeniger Client-Code
Partial PrerenderingHybrid-RenderingSchnellere Seiten

📂 App Router (Empfohlen für Next.js 14)

app/
├── layout.js          # Globales Layout
├── page.js            # Startseite (/)
├── about/
│   └── page.js       # /about
├── blog/
│   ├── page.js       # /blog
│   └── [slug]/
│       └── page.js   # /blog/[slug]
└── api/
    └── route.js      # API-Routen

⚡ Server Components vs Client Components

AspektServer ComponentClient Component
RenderingServerBrowser
InteraktivitätKeineJa (onClick, useState)
DatenzugriffDirekt (Datenbank)Über API
Bundle-Größe0 KBGrößer

🎯 Turbopack Vorteile

bash
# Next.js 14 mit Turbopack
npm run dev -- --turbo

# Ergebnis:
# ✓ 700x schnellerer Bundler
# ✓ Sofortiges Hot Reloading
# ✓ Bessere Speichernutzung

1.3 Next.js vs React vs Nuxt.js

📊 Framework-Vergleich

FrameworkTypRoutingRenderingSprache
Next.jsReact-FrameworkDateisystemSSR/SSG/ISRJavaScript/TypeScript
Reines ReactBibliothekManuell (React Router)CSR (Standard)JavaScript/TypeScript
Nuxt.jsVue-FrameworkDateisystemSSR/SSGJavaScript/TypeScript

🤔 Wann welches Framework?

✅ Next.js wählen, wenn:

  • ✅ Sie ein React-Projekt haben
  • SEO wichtig ist (Blog, E-Commerce)
  • ✅ Sie Server-Side Rendering benötigen
  • ✅ Sie Performance-Optimierung wollen

✅ Reines React wählen, wenn:

  • ✅ Sie eine einfache SPA (Single Page Application) bauen
  • ✅ SEO nicht kritisch ist (Dashboard, Admin-Panel)
  • ✅ Sie vollständige Kontrolle wollen

✅ Nuxt.js wählen, wenn:

  • ✅ Sie Vue.js bevorzugen
  • ✅ Ähnliche Funktionen wie Next.js benötigen (für Vue)

💡 Entscheidungshilfe

Frage 1: Verwenden Sie React oder Vue?
  → React: Next.js
  → Vue: Nuxt.js

Frage 2: Ist SEO wichtig?
  → Ja: Next.js/Nuxt.js
  → Nein: Reines React/Vue

Frage 3: Benötigen Sie Server-Side Rendering?
  → Ja: Next.js
  → Nein: Create React App

1.4 Next.js Kernvorteile

🏆 Hauptvorteile im Überblick

VorteilBeschreibungNutzen
Server-Side Rendering (SSR)HTML wird auf dem Server generiertBessere SEO, schnellere Ladezeit
Static Site Generation (SSG)Seiten werden zur Build-Zeit generiertSehr schnell, kostenloses Hosting
Automatisches RoutingDateisystem-basiertKeine Router-Konfiguration
API-RoutenBackend-APIs in Next.jsFull-Stack-Entwicklung möglich
BildoptimierungAutomatische WebP-KonvertierungKleinere Bilder, schnellere Seiten
InternationalisierungEingebautes i18n-SystemMehrsprachige Seiten einfach

📈 Performance-Vergleich

Ladezeit Vergleich (First Contentful Paint):

Reines React (CSR):
  → 1.5 - 2.5 Sekunden
  → Schlechtere SEO

Next.js (SSR):
  → 0.5 - 1.0 Sekunden
  → Bessere SEO

Next.js (SSG):
  → 0.1 - 0.3 Sekunden
  → Beste Performance

🎯 SEO-Vorteile

Problem bei reinem React:

html
<!-- Quellcode einer React SPA -->
<div id="root"></div>
<script src="bundle.js"></script>
<!-- Suchmaschinen sehen fast nichts! -->

Next.js Lösung (SSR):

html
<!-- Quellcode einer Next.js Seite (SSR) -->
<html>
  <head>
    <title>Meine Next.js Seite</title>
    <meta name="description" content="...">
  </head>
  <body>
    <h1>Vollständiger Inhalt</h1>
    <p>Suchmaschinen können alles lesen!</p>
  </body>
</html>

1.5 Anwendungsszenarien

🌐 Typische Einsatzgebiete

SzenarioWarum Next.js?Beispiel
Unternehmens-WebsitesSEO, PerformanceLanding Pages, Portfolios
BlogsSSG, Markdown-SupportPersönliche Blogs, News-Sites
E-CommerceSSR, PerformanceOnline-Shops, Marktplätze
DashboardsSPA-Modus möglichAdmin-Panels, Analytics
SaaS-AnwendungenFull-Stack-FähigkeitenWeb-Apps mit Backend
Marketing-SeitenSchnelle LadezeitLanding Pages, Kampagnen

🎨 Beispiel: E-Commerce mit Next.js

jsx
// app/products/[id]/page.js (Server Component)
async function getProduct(id) {
  const res = await fetch(`https://api.shop.com/products/${id}`);
  return res.json();
}

export default async function ProductPage({ params }) {
  const product = await getProduct(params.id);
  
  return (
    <div>
      <h1>{product.name}</h1>
      <p>Preis: {product.price} €</p>
      <button>Kaufen</button>
    </div>
  );
}

Vorteile:

  • ✅ SEO-optimiert (Produkte in Suchmaschinen findbar)
  • ✅ Schnelle Ladezeit (bessere Conversion-Rate)
  • ✅ Server-side Datenabfrage (sicherer)

1.6 Lernpfad-Planung

🗺️ Empfohlener Lernweg (für Anfänger)

Woche 1: Grundlagen
  ├─ Tag 1-2: Next.js Einführung (dieses Kapitel)
  ├─ Tag 3-4: React-Grundlagen auffrischen
  └─ Tag 5-7: Entwicklungsumgebung einrichten

Woche 2: Routing & Pages
  ├─ Tag 1-3: App Router verstehen
  ├─ Tag 4-5: Dynamische Routen
  └─ Tag 6-7: Nested Routes & Layouts

Woche 3: Datenabfrage
  ├─ Tag 1-3: Server Components
  ├─ Tag 4-5: Client Components
  └─ Tag 6-7: Datenabfrage (fetch, SWR)

Woche 4: Fortgeschrittene Themen
  ├─ Tag 1-2: API-Routen
  ├─ Tag 3-4: Authentifizierung
  ├─ Tag 5-6: Deployment
  └─ Tag 7: Abschlussprojekt

⚠️ Häufige Anfängerfehler (Vermeidung)

FehlerWarum?Lösung
Zu schnell startenNext.js benötigt React-GrundlagenErst React lernen!
App Router ignorierenPages Router ist veraltetApp Router lernen (Next.js 14)
Server vs Client verwechseln'use client' Directive vergessenKapitel 6 genau lesen
Zu komplex startenMit einfachen Projekten beginnenTodo-App, Blog

📚 Lernressourcen (Übersicht)

Offizielle Dokumentation:

YouTube-Tutorials:

  • ✅ Fireship (Kurz & knackig)
  • ✅ Web Dev Simplified (Anfängerfreundlich)
  • ✅ CodeWithAntonio (Praxisprojekte)

Praxisprojekte:

  • ✅ Todo-App (Grundlagen)
  • ✅ Blog (Routing, Markdown)
  • ✅ E-Commerce (Full-Stack)

📝 Zusammenfassung

In diesem Kapitel haben Sie gelernt:

KonzeptErklärung
Next.js DefinitionReact-Framework mit eingebautem Routing & Rendering
Next.js 14App Router, Server Components, Turbopack
VorteileSSR, SSG, SEO, Performance, Entwickler-Erfahrung
EinsatzgebieteBlogs, E-Commerce, Unternehmens-Websites
LernwegSchrittweise von Grundlagen zu fortgeschrittenen Themen

✅ Nächste Schritte

  1. Übung: Next.js offizielle Webseite besuchen
  2. Reaktivierung: React-Grundlagen auffrischen
  3. Weiter geht's: Kapitel 2 - Frontend & Entwicklungsumgebung

🎯 Selbsttest

Frage 1: Was ist der Hauptunterschied zwischen Next.js und reinem React?

Antwort anzeigen Next.js ist ein Framework mit eingebautem Routing, SSR/SSG, während React eine Bibliothek ist, die manuell konfiguriert werden muss.

Frage 2: Welches Routing-System ist in Next.js 14 empfohlen?

Antwort anzeigen Der App Router (app/-Verzeichnis) ist in Next.js 14 empfohlen.

Frage 3: Wann sollten Sie Next.js verwenden?

Antwort anzeigen Wenn SEO wichtig ist, Server-Side Rendering benötigt wird oder eine produktionsbereite React-Anwendung gebaut werden soll.

🚀 Weiter zu Kapitel 2: Frontend & Entwicklungsumgebung

Frei für alle Anfänger