Útmutatók

Mi az a Next.js? Egyszerű útmutató alkalmazásépítőknek

A Next.js webhelyek és webalkalmazások építésére szolgáló keretrendszer, amely a Reactra épül. A React a felület építőelemeit adja — gombokat, űrlapokat, listákat. A Next.js hozzáadja köréjük a weboldal többi részét: oldalakat és URL-eket, oldalak szerveroldali renderelését, hogy kész állapotban érkezzenek meg, adatok betöltését, és háttérkód futtatását ugyanabban a projektben. Nyílt forráskódú, a Vercel nevű cég készíti, és az egyik legszélesebb körben használt módja React-oldalak építésének.

Miért fontos a Next.js AI-val építve

Amikor egy alkalmazást leírsz egy AI-építőnek, az műszaki alapot választ. Ez a választás később befolyásolja azt, ami számodra fontos:

  • Keresési láthatóság. Egy nyilvános oldal, amelynek a Google-ben kell szerepelnie, abból profitál, ha valódi HTML-t küld, és ezt a Next.js jól csinálja.
  • Hol él a háttérrendszer. A Next.js lehetővé teszi, hogy a frontend oldalak és a szerveroldali kód (például „ezt az űrlapot mentsd el” vagy „hívd a fizetési API-t”) egy projektben legyenek.
  • Tárhely. Egy szerveres funkciókat használó Next.js-alkalmazásnak szerver kell, amelyen fut, míg egy egyszerű Vite-alkalmazás statikus fájlokként is kiszolgálható.

A Mythex új projekteket alapértelmezetten Vite + React + TypeScript + Tailwind alapon indít, és Next.js-t akkor használ, ha kéred — elég az első promptban a „Use Next.js” (hogyan választódik a technológia). Ezért érdemes tudni, mikor érdemes ezt kérni.

Hétköznapi hasonlat

Ha a React egy doboz kiváló minőségű Lego-kocka, a Next.js egy Lego-készlet, amelyben benne van a útmutató, az alaplap és az ajtók meg a vezetékek alkatrészei.

Ugyanazt a házat ki tudnád rakni laza kockákból is — csak neked kellene eldöntened, hogyan kapcsolódnak a szobák, hol van a bejárati ajtó és hogyan jut be a víz. A Next.js ezeket a döntéseket szabványos módon hozza meg helyetted, így minden Next.js-projekt hasonlóan épül fel, és egy új fejlesztő (vagy egy AI) gyorsan megtalálja magát benne.

Mit ad a Next.js a Reacthez

FunkcióMit jelent neked
Fájl alapú útvonalkezelésMinden oldal egy fájl. Az app/pricing/page.tsx fájl a /pricing oldal lesz. Nincs extra beállítás.
Szerveroldali renderelésAz oldalak minden kérésre HTML-ként épülhetnek a szerveren, így gyorsan megjelennek, és a keresőmotorok is olvashatják őket.
Statikus generálásA ritkán változó oldalak előre, egyszer felépülhetnek, és nagyon gyorsan kiszolgálhatók.
Szerver-komponensekAz oldal egyes részei csak a szerveren futhatnak — közvetlenül olvashatják az adatbázist —, és kész HTML-t küldenek a böngészőnek, nem kódot.
Route handlerek és server actionökA háttérkód, például egy API-végpont vagy egy űrlapkezelő, ugyanabban a projektben van, mint az oldalak.
Beépített optimalizálásokA képátméretezést, a betűtípus-betöltést és a kódfelosztást a keretrendszer intézi.

A Next.js kétféleképpen szervezi az oldalakat. Az App Router (az app/ mappa) az újabb, és támogatja a szerver-komponenseket. A Pages Router (a pages/ mappa) az eredeti, és továbbra is támogatott. Az új projektek általában az App Routert használják. Ha az AI-építőd kódja vagy egy oktatóanyag ismeretlennek tűnik, gyakran ez az oka.

Példa: egy nyilvános kávézó-könyvtár

Képzeld el, hogy egy oldalon a városod kávézóit listázod, kávézónként egy oldallal, és azt szeretnéd, hogy megjelenjenek a keresési találatokban.

Egy kávézó Next.js-oldala nagyjából így nézhet ki:

// 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>
  );
}

Mi történik, amikor valaki (vagy a Google) meglátogatja a /cafes/blue-door címet:

  1. A Next.js összeilleszti az URL-t ezzel a fájllal. Az [slug] mappa azt jelenti: „bármelyik kávézó”.
  2. A komponens a szerveren fut, kiolvassa a kávézót az adatbázisból, és felépíti a HTML-t.
  3. A böngésző egy teljes oldalt kap a kávézó nevével és címével — nem kell várni, hogy a JavaScript lekérje az adatokat.

Egy sima kliensoldali React-alkalmazásnál a böngésző először egy szinte üres oldalt kapna, majd letöltené a JavaScriptet, lekérné a kávézót, és csak utána mutatná. A keresőmotorok ezt gyakran kezelik, de a teljes oldal megbízhatóbb. Lásd: SEO AI-val épített weboldalakhoz.

Hasonlítsd ezt egy belépés mögötti, csak munkatársaknak szánt műszerfallal: a keresőmotorok úgysem látják, így a szerveroldali renderelés kevesebb előnyt hoz, és egy egyszerűbb Vite-alkalmazás gyakran jobb illeszkedés.

Kulcsfogalmak

FogalomJelentés
Keretrendszer (framework)Konvenciókkal rendelkező szerkezet, amely eldönti, hogyan szerveződik az alkalmazás. A Next.js keretrendszer; a React könyvtár.
SSR (szerveroldali renderelés)Egy oldal HTML-jének felépítése a szerveren minden látogatáskor.
SSG (statikus oldalgenerálás)Az oldalak előzetes HTML-re építése telepítéskor.
CSR (kliensoldali renderelés)A böngésző a betöltés után JavaScripttel építi fel az oldalt. Így működik egy tipikus Vite + React-alkalmazás.
SPA (egyoldalas alkalmazás)Olyan alkalmazás, amely egyszer töltődik be, és a nézeteket a böngészőben cseréli teljes oldalbetöltés nélkül.
Hidratálás (hydration)A böngésző „felébreszti” a szerver által küldött HTML-t, hogy a gombok és űrlapok interaktívvá váljanak.
Route (útvonal)Egy URL-útvonal, például /pricing, és a kód, amely válaszol rá.

Gyakori tévhitek

  • „A Next.js helyettesíti a Reactot.” Nem. A Reactot használja. A komponenseid továbbra is React-komponensek.
  • „A Next.js mindig a jobb választás.” Képesebb, de több mindent kell érteni hozzá. A szerveroldali renderelés, a gyorsítótárazás és a szerver- és kliensoldali kód különbsége gyakori forrása zavaros hibáknak. Egy főleg bejelentkezés mögött működő alkalmazásnál egy sima React-alkalmazás gyakran egyszerűbb.
  • „A Next.js csak a Verceleken fut.” Nyílt forráskódú, és bármely Node.js-szerveren vagy Docker-konténerben futhat. Teljesen statikus export is lehetséges, ha nem használsz szerveroldali funkciókat.
  • „A Next.js használata garantálja a jó SEO-t.” Az olvasható oldalakat könnyebbé teszi. A rangsorolás továbbra is a címektől, a tartalomtól, a sebességtől és a linkektől függ.
  • „A Next.js szerverkódja automatikusan privát.” A kliensnek jelölt kód a böngészőbe kerül. A titkoknak szerveroldali kódban és környezeti változókban kell maradniuk.

Mit kérdezz az AI-építődtől

  • „Használj Next.js-t App Routerrel” — az első promptban, ha ezt szeretnéd.
  • „Mely oldalak épülnek szerveren, melyek statikusak, és melyek futnak a böngészőben — és miért?”
  • „A nyilvános marketing- és listaoldalak legyenek szerveroldalon renderelve vagy statikusak, megfelelő címekkel és leírásokkal.”
  • „Az API-kulcsok szerveroldali kódban és környezeti változókban maradjanak. Mutasd meg, hol olvassa be őket mindegyik.”
  • „Szükséges ehhez az alkalmazáshoz a Next.js, vagy egy Vite + React egyszerűbb lenne ahhoz, amit építünk?”

Next.js a Mythexben

A Mythex alapértelmezetten Vite + React + TypeScript + Tailwind alapot használ, és Next.js-re vált, ha a promptodban kéred; ha már az elején megnevezed, kreditet spórolsz, mintha később váltanál. Az alkalmazást az élő előnézetben látod, a Publish pedig élő URL-re telepíti anélkül, hogy neked kellene tárhelyet beállítanod. A Mythex dokumentációja megjegyzi, hogy a kliensoldalon renderelt egyoldalas alkalmazások SEO-szempontból gyengébbek, mint a szerveroldalon renderelt vagy statikus HTML-oldalak, ezért egy marketingoldalnál, ahol a keresés számít, érdemes ezt előre jelezni (SEO az alkalmazásodhoz).

Kérdések

Mi a Next.js egyszerűen?

A Next.js a Reactra épülő keretrendszer. A React a felhasználói felület elemeit építi; a Next.js hozzáadja köréjük a weboldal többi részét — oldalakat és URL-eket, szerveroldali renderelést, adatbetöltést és háttérkódot —, így egyetlen projektben lehet teljes webalkalmazást építeni.

Mi a különbség a React és a Next.js között?

A React felületi komponensek építésére szolgáló könyvtár. A Next.js olyan keretrendszer, amely a Reactot használja, és hozzáad útvonalkezelést, szerveroldali renderelést, statikus oldalakat és szerveroldali kódot. Minden Next.js-alkalmazás React-alkalmazás, de nem minden React-alkalmazás használ Next.js-t.

A Next.js jobb a keresőoptimalizáláshoz (SEO)?

Lehet. A Next.js a szerverről vagy előre elkészített statikus oldalakról teljes HTML-t tud küldeni a keresőmotoroknak és a látogatóknak, míg egy tisztán kliensoldali React-alkalmazás szinte üres oldalt küld, amelyet a JavaScript tölt fel. A jó címek, leírások és tartalom ettől azonban továbbra is fontosabbak, mint a keretrendszer.

Vercel kell a Next.js használatához?

Nem. A Next.js nyílt forráskódú, és a Vercel készíti, de futtatható bármely Node.js-t futtató szerveren, Docker-konténerben, vagy statikus exportként olyan oldalakhoz, amelyeknek nincs szükségük szerveroldali funkciókra. Egyes funkciókat a Verceleken könnyebb beállítani.

Next.js-t vagy Vite-ot használjak az alkalmazásomhoz?

Bejelentkezés utáni alkalmazásokhoz, például műszerfalhoz vagy belső eszközhöz a Vite + React egyszerűbb és jól működik. A Next.js akkor éri meg, ha olyan tartalomra van szükség, amelyet a keresőmotorok könnyen olvashatnak, sok nyilvános oldal van, vagy szerveroldalon renderelt oldalak kellenek ugyanabban a projektben, mint a háttérkódod.

Mythex · Pricing · Építs bármit AI-val · Weboldal- és alkalmazássablonok · A Mythex összehasonlítva · AI-alapú alkalmazásépítési szószedet · Ingyenes eszközök AI-alapú alkalmazásépítéshez · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Հայերեն 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 简体中文 繁體中文(香港) 繁體中文(台灣)