Útmutatók

Frontend vs backend: mi a különbség?

A frontend az alkalmazás azon része, amely a felhasználó böngészőjében fut: az oldalak, gombok, űrlapok és animációk, amiket lát és kattint. A backend az a rész, amely a felhasználó számára láthatatlan szerveren fut: tárolja és lekérdezi az adatokat, alkalmazza az üzleti szabályokat, ellenőrzi, ki mit tehet meg, és olyan szolgáltatásokkal kommunikál, mint a fizetés vagy az e-mail. A kettő egy API-n keresztül beszél egymással, és az adatbázissal együtt alkotja a „full stack” alkalmazást.

Miért fontos ez AI-val való építésnél?

Amikor egy AI-építőnek leírsz egy alkalmazást, akkor – akár tudatosan, akár nem – mindkét felet egyszerre írod le. Az „a vendégek foglalhatnak időpontot” mondat egy foglalási űrlapot (frontend), az üres időpontok szabályait (backend) és egy helyet, ahol a foglalásokat tárolni lehet (adatbázis).

A felosztás ismerete három gyakorlati dologban segít:

  1. Biztonság. A frontenden lévő bármit lát és módosíthat a felhasználó. A szabályoknak és a titkos kulcsoknak a backendben kell lakniuk.
  2. Hibakeresés. A „a gomb nem reagál” és a „a gomb reagál, de semmi nem mentődik” más-más felet jelöl. Ha megmondod, mit látsz, az AI gyorsabban megtalálja az okot.
  3. Hosting és költség. Egy csak frontendes oldal olcsón és egyszerűen üzemeltethető. A backendnek valahol futnia kell, ez befolyásolja, mennyibe kerül, és hogyan viselkedik az alkalmazás üresjáratban.

Egy mindennapi hasonlat

Gondolj egy étteremre.

A frontend az étterem terme: az étlap, az asztalok, a dekoráció, a pincér, aki felveszi a rendelést. Úgy készült, hogy a vendégek lássák és megérintsék.

A backend a konyha és az iroda: a szakácsok, a raktár, a pénztár, a vezető szabályai arról, ki kap kedvezményt. A vendégek nem mennek be oda, és nem is kellene nekik.

Az API a kettő közötti átadóablak: ahol a rendelések egyeztetett formában be-, az ételek kikerülnek. Az adatbázis a raktár és a rendelési könyv.

A vendég átírhatja a rendelőlapját (a frontend az ő kezében van), de a konyha továbbra is eldönti, mit főz és mennyiért. Ezért a fontos ellenőrzések hátul, a backendben vannak.

Mit csinál a két oldal?

FrontendBackend
Hol futA felhasználó eszközén, a böngészőbenEgy olyan szerveren, amit te (vagy a hostolód) irányítasz
Fő feladataMegjeleníteni dolgokat, adatot bekérni, reagálni a kattintásokraAdatot tárolni, szabályokat alkalmazni, jogosultságokat érvényesíteni, más szolgáltatásokat hívni
Láthatja és módosíthatja a felhasználó a kódot?Igen – letöltődik a böngészőjébeNem
Tarthat titkos API-kulcsot?NemIgen, környezeti változókban
Gyakori technológiákHTML, CSS, JavaScript/TypeScript, React, Vue, Svelte, TailwindNode.js, Python (FastAPI, Django), C#, Java, Go, Ruby
Mi romlik elMobilon elcsúszik az elrendezés, a gomb nem csinál semmit, lassú az oldalNem mentődik az adat, rossz adat jelenik meg, hibák, biztonsági rések

Néhány keretrendszer elmossa a határt. A Next.js például lehetővé teszi, hogy egy projekt böngészős és szerveroldali kódot is tartalmazzon. Az elv ugyanaz: mindig az a kérdés, hogy ez a rész hol fut?

Egy kidolgozott példa: óra foglalása

Íme, mi történik, amikor valaki foglal egy jógaórára, lépésenként.

LépésHolMi történik
1FrontendBetöltődik az órarend oldal, és lekéri a backendtől az aktuális heti órákat.
2BackendKiolvassa az órákat és a foglalásokat az adatbázisból, kiszámolja a szabad helyeket, és JSON-ként visszaadja a listát.
3FrontendMinden órát megjelenít az időponttal, az oktatóval és a szabad helyekkel.
4FrontendA felhasználó kiválaszt egy órát, és megadja a nevét és e-mail-címét. Az űrlap ellenőrzi, hogy az e-mail-cím érvényesnek látszik-e (figyelmesség, nem garancia).
5Frontend → BackendElküldi a POST /api/bookings kérést az API-n keresztül.
6BackendÚjra ellenőrzi a bemenetet, megnézi, hogy az óra nincs-e tele, elmenti a foglalást, és egy titkos kulcs segítségével megkéri az e-mail-szolgáltatást a visszaigazolás elküldésére.
7Backend → FrontendVisszaadja, hogy „foglalva” vagy „sajnos betelt”.
8FrontendMegjeleníti a visszaigazoló képernyőt.

Figyeld meg a 4. és a 6. lépést: a bemenetet kétszer ellenőrzik. A frontend-ellenőrzés azonnali visszajelzést ad; a backend-ellenőrzés az, ami ténylegesen számít, mert egy elszánt felhasználó teljesen megkerülheti a frontendet.

Gyakori fogalmak magyarázata

FogalomJelentés
Kliens / szerverA kliens a kéréseket küldő böngésző (vagy app); a szerver válaszol rájuk.
UIFelhasználói felület – a képernyők és vezérlők.
APIAz egyeztetett mód, ahogyan a frontend adatot vagy műveletet kér a backendtől.
Végpont (endpoint)Az API egyetlen konkrét URL-je, például /api/bookings.
Full stackFrontend + backend + adatbázis együtt. Lásd: mi az a full-stack alkalmazás.
Statikus oldalSaját backend nélküli frontend; mindenkinek ugyanazok a fájlok.
SPAEgyoldalas alkalmazás: a böngészőben frissülő frontend, amely nem tölt be új oldalakat.
Szerveroldali renderelés (SSR)A szerver építi fel az oldal HTML-jét, mielőtt elküldi, ez segíthet a sebességen és a SEO-n.
Környezeti változókBeállítások és titkos adatok, amelyeket futás közben kap a backend, és amelyek nincsenek a kódban.

Kell a te alkalmazásodnak backend?

Ha az alkalmazásod…Kell backend?
Mindenki számára ugyanazt az információt mutatjaNem
Van egy kapcsolatfelvételi űrlapja, ami csak e-mailt küld nekedÁltalában egy kis backend vagy űrlapszolgáltatás
Olyan adatot ment, amit mások is látnakIgen
Van bejelentkezés és privát adatIgen
Fizetést fogadIgen – legalább a fizetések létrehozásához és a fizetési webhookok fogadásához
Fizetős AI- vagy más API-t használ titkos kulccsalIgen, hogy a kulcs ne kerüljön a böngészőbe

Gyakori hibák és tévhitek

  • Titkos kulcsok a frontendben. Bárki látja, aki megnyitja a böngésző fejlesztői eszközeit. Ez a legelterjedtebb komoly hiba az AI-val épített alkalmazásokban.
  • Szabályok csak a frontenden. Ha a „törlés” gombot nem adminoknak elrejted, az nem védelem; a backendnek kell visszautasítania a kérést.
  • Azt hinni, hogy a backend „csak az adatbázis”. Az adatbázis tárolja az adatot. A backend dönti el, ki olvashatja és változtathatja, és hogyan.
  • Azt hinni, hogy a JavaScript egyenlő a frontenddel. A JavaScript és a TypeScript a Node.js-szel szervereken is fut.
  • Rossz felet okolni. Ha az oldal jól néz ki, de az adat hibás, a probléma általában a backendben vagy az adatbázisban van, nem a dizájnban.
  • Túlépíteni. Egy portfóliónak nincs szüksége egyedi backendre. Ha mégis hozzáadod, többe kerül, és több mozgó alkatrész lesz.

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

  • „Melyik része fut a böngészőben, és melyik a szerveren?”
  • „Vidd át az API-kulcsokat a backendbe, és olvasd őket környezeti változókból.”
  • „Minden űrlapot ellenőrízz a szerveren is, nem csak a böngészőben.”
  • „A backenden érvényesítsd, hogy csak az adminok törölhessenek foglalásokat.”
  • „Az oldal jól néz ki, de az adat nem mentődik – nézd meg a backend naplóit a kérésre.”
  • „Ez egy egyszerű marketingoldal; maradjon csak frontend, hacsak nem kell backend.”

Frontend és backend a Mythexben

Az új Mythex-projekt egy Vite, React, TypeScript és Tailwind frontenddel indul, a backendet pedig az ügynök adja hozzá, amikor az alkalmazásodnak szüksége van rá – vagy kérhetsz külön API-t Node-ban, Pythonban (FastAPI), C#-ban vagy Java-ban, a frontend mellett, ugyanabban a projektben. Az előnézetben át tudsz váltani a weboldal és az API-szerver között, a publikálás pedig mindkettőt telepíti, szükség esetén adatbázissal és fájltárolással kiegészítve. A többszolgáltatásos alkalmazásokról a dokumentáció ad részletet, a webhosting útmutató azt írja le, hol fut mindkét rész élesben, az app-sablonok pedig gyors példák a full-stack alkalmazásokra.

Kérdések

Mi a különbség a frontend és a backend között?

A frontend az alkalmazás azon része, amely a felhasználó böngészőjében fut: az oldalak, gombok és űrlapok, amiket lát és kattintgat. A backend egy szerveren fut, amelyet a felhasználó sosem lát: tárolja az adatokat, alkalmazza az üzleti szabályokat, ellenőrzi a jogosultságokat és más szolgáltatásokkal kommunikál.

Minden alkalmazásnak kell backend?

Nem. Egy marketingoldal, portfólió vagy egyszerű landing page csak frontend lehet. Amint egy alkalmazásnak közös adatot kell mentenie, bejelentkeztetnie a felhasználókat, fizetést kezelnie vagy titkos API-kulcsokat használnia, valamilyen backendre van szüksége.

A HTML frontend vagy backend?

A böngészőben futó HTML, CSS és JavaScript frontend. A JavaScript a Node.js segítségével szerveren is futhat, és akkor backend kódról van szó. Nem a nyelv dönt, hanem az, hogy hol fut a kód.

Mit jelent a full stack?

A full stack azt jelenti, hogy valaki mind a frontendet, mind a backendet (és általában az adatbázist) lefedi. A full-stack alkalmazásnak mindhárom része megvan; a full-stack fejlesztő mindegyiken dolgozik.

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 简体中文 繁體中文(香港) 繁體中文(台灣)