Průvodci

Co je Next.js? Srozumitelný průvodce pro tvůrce aplikací

Next.js je framework pro tvorbu webových stránek a webových aplikací s Reactem. React dává stavební bloky rozhraní, jako jsou tlačítka, formuláře a seznamy. Next.js k nim přidává zbytek webu: stránky a URL, vykreslování stránek na serveru, aby dorazily připravené ke čtení, načítání dat a běh backendového kódu ve stejném projektu. Je open source, vytvořila ho firma Vercel a patří mezi nejrozšířenější způsoby, jak stavět weby v Reactu.

Proč je Next.js důležitý při tvorbě s AI

Když AI nástroji popíšete aplikaci, musí zvolit technický základ. Tato volba ovlivní věci, na kterých vám později záleží:

  • Viditelnost ve vyhledávání. Veřejný web, který má být v Google vidět, těží z posílání skutečného HTML, a to Next.js zvládá dobře.
  • Kde žije backend. Next.js umožňuje, aby frontendové stránky a serverový kód (například „ulož tento formulář“ nebo „zavolej platební API“) byly v jednom projektu.
  • Hosting. Next.js aplikace se serverovými funkcemi potřebuje server, na kterém běží, zatímco běžná Vite aplikace se může podávat jako statické soubory.

Mythex zakládá nové projekty ve výchozím nastavení na Vite + React + TypeScript + Tailwind a při žádosti použije Next.js. Stačí, když v prvním promptu napíšete „Použij Next.js“ (jak se volí technologie). Proto je dobré vědět, kdy to stojí za to si vyžádat.

Každodenní příměr

Když je React krabice kvalitních stavebnic Lego, Next.js je stavebnice Lego s hotovými návody, podložkou a díly na dveře a vodovod.

Stejný dům byste mohli postavit z volných kostek. Museli byste ale sami rozhodnout, jak budou místnosti propojeny, kam půjdou vchodové dveře a jak se dostane voda dovnitř. Next.js tato rozhodnutí dělá za vás standardním způsobem, takže každý projekt v Next.js má podobné uspořádání a nový vývojář (nebo AI) se v něm rychle zorientuje.

Co Next.js přidává k Reactu

FunkceCo to znamená pro vás
Směrování podle souborůKaždá stránka je soubor. Soubor app/pricing/page.tsx se stane stránkou /pricing. Žádné zvláštní nastavení.
Vykreslování na serveruStránky mohou být sestaveny do HTML na serveru pro každý požadavek, takže se zobrazí rychle a vyhledávače je dokážou přečíst.
Statické generováníStránky, které se mění zřídka, lze sestavit předem a podávat velmi rychle.
Server ComponentsČásti stránky mohou běžet jen na serveru, číst přímo databázi a do prohlížeče poslat hotové HTML, ne kód.
Route handlers a server actionsBackendový kód, například API endpoint nebo obsluha formuláře, žije ve stejném projektu jako stránky.
Vestavěné optimalizaceZměna velikosti obrázků, načítání fontů a rozdělování kódu se řeší za vás.

Next.js má dva způsoby organizace stránek. App Router (složka app/) je novější a podporuje Server Components. Pages Router (složka pages/) je původní a stále podporovaný. Nové projekty obvykle používají App Router. Pokud vám kód od AI nástroje nebo návod připadá neznámý, často je to tím.

Praktický příklad: veřejný adresář místních kaváren

Představte si web s výpisem kaváren ve vašem městě, se stránkou pro každou kavárnu, který chcete mít ve výsledcích vyhledávání.

Stránka Next.js pro jednu kavárnu by mohla vypadat zhruba takto:

// app/cafes/[slug]/page.tsx  →  /cafes/blue-door, /cafes/hilltop ...
export default async function CafePage({ params }) {
  const { slug } = await params;
  const cafe = await db.cafe.findUnique({ where: { slug } });
  return (
    <main>
      <h1>{cafe.name}</h1>
      <p>{cafe.address}</p>
    </main>
  );
}

Co se stane, když někdo (nebo Google) navštíví /cafes/blue-door:

  1. Next.js přiřadí URL k souboru. Složka [slug] znamená „libovolná kavárna“.
  2. Komponenta běží na serveru, načte kavárnu z databáze a sestaví HTML.
  3. Prohlížeč dostane kompletní stránku s názvem a adresou kavárny už uvnitř, bez čekání, až JavaScript data stáhne.

U běžné React aplikace na straně klienta by prohlížeč nejprve dostal téměř prázdnou stránku, pak stáhl JavaScript, pak načetl kavárnu a teprve potom ji zobrazil. Vyhledávače to často zvládnou, ale plně připravená stránka je spolehlivější. Viz SEO pro weby vytvořené s AI.

Porovnejte to s interním dashboardem za přihlášením: vyhledávače ho stejně nevidí, takže vykreslování na serveru přináší menší výhodu a jednodušší Vite aplikace bývá lepší volbou.

Klíčové pojmy

PojemVýznam
FrameworkStruktura s konvencemi, která určuje, jak je aplikace organizovaná. Next.js je framework; React je knihovna.
SSR (vykreslování na serveru)Sestavení HTML stránky na serveru pro každou návštěvu.
SSG (generování statického webu)Sestavení stránek do HTML předem, při nasazení.
CSR (vykreslování na klientovi)Prohlížeč sestaví stránku pomocí JavaScriptu po načtení. Takto běží typická Vite + React aplikace.
SPA (jednostránková aplikace)Aplikace, která se načte jednou a mění pohledy v prohlížeči bez úplného načítání stránky.
HydrataceProhlížeč „probudí“ HTML poslané ze serveru, aby tlačítka a formuláře byly interaktivní.
Route (trasa)Cesta v URL, například /pricing, a kód, který na ni odpovídá.

Časté omyly

  • „Next.js nahrazuje React.“ Nenahrazuje. Používá React. Vaše komponenty jsou stále React komponenty.
  • „Next.js je vždy lepší volba.“ Je schopnější, ale také složitější na pochopení. Vykreslování na serveru, cachování a rozdíl mezi serverovým a klientským kódem jsou časté zdroje matoucích chyb. U aplikace, která je většinou za přihlášením, bývá běžná React aplikace jednodušší.
  • „Next.js běží jen na Vercelu.“ Je open source a může běžet na libovolném Node.js serveru nebo v kontejneru Docker. Úplný statický export je možný, pokud nepoužíváte serverové funkce.
  • „Použití Next.js zaručuje dobré SEO.“ Usnadňuje to čitelné stránky. Pozice ve výsledcích stále závisí na titulcích, obsahu, rychlosti a odkazech.
  • „Serverový kód v Next.js je automaticky soukromý.“ Kód určený pro klienta skončí v prohlížeči. Tajné údaje musí zůstat v kódu dostupném jen na serveru a v proměnných prostředí.

Co se zeptat svého AI nástroje

  • „Použij Next.js s App Routerem“ — v prvním promptu, pokud to chcete.
  • „Které stránky se vykreslují na serveru, které jsou statické a které běží v prohlížeči — a proč?“
  • „Udělej veřejné marketingové a výpisové stránky vykreslované na serveru nebo statické, s pořádnými titulky a popisy.“
  • „Drž API klíče v kódu dostupném jen na serveru a v proměnných prostředí. Ukaž mi, kde se každý z nich čte.“
  • „Potřebuje tato aplikace Next.js, nebo by pro to, co stavíme, stačila jednodušší Vite + React aplikace?“

Next.js v Mythexu

Mythex používá ve výchozím nastavení Vite + React + TypeScript + Tailwind a přepne na Next.js, když to řeknete v promptu. Pojmenovat to hned na začátku šetří kredity oproti pozdější změně. Aplikaci vidíte v živém Náhledu a tlačítko Publikovat ji nasadí na živou URL, aniž byste museli nastavovat hosting sami. Dokumentace Mythexu upozorňuje, že jednostránkové aplikace vykreslované na klientovi mají slabší SEO než HTML vykreslované na serveru nebo statické, takže u marketingového webu, na kterém záleží na vyhledávání, je dobré to říct předem (SEO pro vaši aplikaci).

Otázky

Co je Next.js jednoduše řečeno?

Next.js je framework postavený nad Reactem. React vytváří části uživatelského rozhraní; Next.js k nim přidává zbytek webu: stránky a URL, vykreslování na serveru, načítání dat a backendový kód, takže můžete postavit celou webovou aplikaci v jednom projektu.

Jaký je rozdíl mezi Reactem a Next.js?

React je knihovna pro tvorbu komponent rozhraní. Next.js je framework, který React používá a přidává směrování, vykreslování na serveru, statické stránky a kód na serveru. Každá aplikace v Next.js je React aplikace, ale ne každá React aplikace používá Next.js.

Je Next.js lepší pro SEO?

Může být. Next.js dokáže vyhledávačům i návštěvníkům poslat plně připravené HTML ze serveru nebo z předem vytvořených statických stránek, zatímco běžná React aplikace na straně klienta pošle téměř prázdnou stránku, kterou doplní JavaScript. Dobré titulky, popisy a obsah ale znamenají víc než framework.

Potřebuji Vercel, abych mohl používat Next.js?

Ne. Next.js je open source a vytvořila ho firma Vercel, ale může běžet na libovolném serveru s Node.js, v kontejneru Docker, nebo jako statický export pro weby, které nepotřebují serverové funkce. Některé funkce se na Vercelu nastavují snáz.

Mám pro svou aplikaci použít Next.js, nebo Vite?

Pro aplikaci za přihlášením, například dashboard nebo interní nástroj, je Vite + React jednodušší a funguje dobře. Next.js se vyplatí, když potřebujete obsah, který vyhledávače snadno přečtou, mnoho veřejných stránek, nebo stránky vykreslované na serveru ve stejném projektu jako backendový kód.

Mythex · Pricing · Vytvořte cokoli s AI · Šablony webů a aplikací · Mythex v porovnání · Slovník tvorby aplikací s AI · Bezplatné nástroje pro tvorbu aplikací s AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)