Ръководства

Frontend срещу backend: каква е разликата?

Frontend е частта от приложението, която работи в браузъра на потребителя — страниците, бутоните, формулярите и анимациите, които той вижда и натиска. Backend е частта, която работи на сървър, невидим за потребителя: съхранява и извлича данни, прилага бизнес правилата, проверява кой какво има право да прави и комуникира с други услуги като плащания и имейл. Двете части общуват чрез API и заедно с базата данни съставляват „full-stack“ приложение.

Защо има значение, когато строиш с AI

Когато описваш приложение на AI builder, описваш и двете части едновременно, независимо дали го осъзнаваш. „Клиентите могат да резервират час“ означава формуляр за резервация (frontend), правила кои часове са свободни (backend) и място, където да се запазват резервациите (база данни).

Знанието за това разделение помага по три практически начина:

  1. Сигурност. Всичко във frontend може да бъде видяно и променено от потребителя. Правилата и секретите трябва да живеят в backend.
  2. Отстраняване на грешки. „Бутонът не реагира“ и „бутонът реагира, но нищо не се запазва“ сочат към различни части, а ако кажеш коя част виждаш, AI ще намери причината по-бързо.
  3. Хостинг и разходи. Сайт само с frontend е евтин и прост за хостване. Backend трябва да работи някъде, което влияе на това колко плащаш и как приложението се държи, когато е неактивно.

Ежедневна аналогия

Представи си ресторант.

Frontend е залата: менюто, масите, интериорът, сервитьорът, който приема поръчката. Създадена е за клиентите и те виждат и докосват всичко в нея.

Backend е кухнята и офисът: готвачите, складът, касата, правилата на управителя кой получава отстъпка. Клиентите никога не влизат там и не бива да могат.

API е връзката между тях — гишето, през което поръчките влизат и ястията излизат, в уговорен формат. Базата данни е складът и книгата с поръчки.

Клиентът може да напише нова поръчка на листа (frontend е под неговия контрол), но кухнята пак решава какво ще готви и какво ще таксува. Затова важните проверки трябва да са отзад.

Какво прави всяка страна

FrontendBackend
Работи наУстройството на потребителя, в браузъраСървър, който ти (или хостингът ти) контролираш
Основна задачаПоказва неща, събира входни данни, реагира на кликСъхранява данни, прилага правила, налага права, извиква други услуги
Могат ли потребителите да видят и променят кода?Да — свален е в браузъра имНе
Може ли да съдържа секретни API ключове?НеДа, в променливи на средата
Често използвани технологииHTML, CSS, JavaScript/TypeScript, React, Vue, Svelte, TailwindNode.js, Python (FastAPI, Django), C#, Java, Go, Ruby
Какво се чупи най-честоОформлението се разваля на мобилен, бутонът не работи, бавна страницаДанните не се запазват, показват се грешни данни, грешки, дупки в сигурността

Някои фреймуърци размиват границата. Next.js например позволява един проект да съдържа както код за браузъра, така и код за сървъра. Идеята остава същата: въпросът винаги е къде се изпълнява това парче?

Работен пример: резервиране на час за йога

Ето какво се случва, когато някой резервира място за йога клас, стъпка по стъпка.

СтъпкаКъдеКакво се случва
1FrontendСтраницата с програмата се зарежда и пита backend за часовете на тази седмица.
2BackendЧете часовете и резервациите от базата данни, изчислява свободните места и връща списъка като JSON.
3FrontendПоказва всеки клас с час, учител и свободни места.
4FrontendПотребителят избира клас и попълва име и имейл. Формулярът проверява дали имейлът изглежда валиден (като любезност, не като гаранция).
5Frontend → BackendИзпраща заявка POST /api/bookings през API.
6BackendПроверява входните данни отново, проверява дали класът не е пълен, запазва резервацията и с помощта на секретен ключ моли имейл услугата да изпрати потвърждение.
7Backend → FrontendВръща „резервирано“ или „съжаляваме, няма места“.
8FrontendПоказва екрана с потвърждението.

Обърни внимание на стъпки 4 и 6: входните данни се проверяват два пъти. Проверката във frontend дава мигновена обратна връзка; проверката в backend е тази, която наистина важи, защото решителен потребител може да заобиколи frontend изцяло.

Често срещани термини, обяснени

ТерминЗначение
Клиент / сървърКлиентът е браузърът (или приложението), който изпраща заявки; сървърът отговаря на тях.
UIПотребителски интерфейс — екраните и контролите.
APIУговореният начин, по който frontend поиска данни или действия от backend.
EndpointЕдин конкретен адрес в API, например /api/bookings.
Full stackFrontend + backend + база данни заедно. Виж какво е full-stack приложение.
Статичен сайтFrontend без собствен backend; едни и същи файлове за всички.
SPASingle-page application: frontend, който обновява страницата в браузъра, вместо да зарежда нови страници.
Server-side rendering (SSR)Сървърът изгражда HTML на страницата, преди да я изпрати, което може да помогне за скоростта и SEO.
Променливи на средатаНастройки и секрети, които се подават на backend по време на работа и се пазят извън кода.

Нуждае ли се приложението ти от backend?

Ако приложението ти…Нужен ли е backend?
Показва информация, която е една и съща за всичкиНе
Има формуляр за контакт, който само ти изпраща имейлОбикновено малък, или услуга за формуляри
Запазва данни, които други хора ще виждатДа
Има профили и лични данниДа
Приема плащанияДа — поне за създаване на плащания и получаване на webhook известия за плащане
Използва платен AI или друг API със секретен ключДа, за да остане ключът извън браузъра

Често срещани грешки и погрешни схващания

  • Слагане на секретни ключове във frontend. Ще бъдат видими за всеки, който отвори инструментите за разработчици на браузъра. Това е най-честата сериозна грешка в приложения, построени с AI.
  • Налагане на правила само във frontend. Скриването на бутона „изтрий“ за не-администраторите не е защита; backend трябва да откаже заявката.
  • Схващането, че backend е „просто базата данни“. Базата данни съхранява данните. Backend решава кой може да ги чете и променя и как.
  • Мисленето, че JavaScript означава frontend. JavaScript и TypeScript работят и на сървъри, с Node.js.
  • Обвиняване на грешната част. Ако страницата изглежда правилно, но данните са грешни, проблемът обикновено е в backend или базата данни, а не в дизайна.
  • Прекалено строене. Портфолиото не се нуждае от персонализиран backend. Добавянето му носи цена и допълнителни движещи се части.

Какво да поискаш от своя AI builder

  • „Кои части от това приложение работят в браузъра и кои на сървъра?“
  • „Премести всички API ключове в backend и ги чети от променливи на средата.“
  • „Валидирай всеки формуляр на сървъра, а не само в браузъра.“
  • „Наложи в backend, че само администратори могат да изтриват резервации.“
  • „Страницата изглежда добре, но данните не се запазват — провери логовете на backend за заявката.“
  • „Това е прост маркетингов сайт; дръж го само frontend, освен ако не ни е нужен backend.“

Frontend и backend в Mythex

Новият проект в Mythex започва с frontend на Vite, React, TypeScript и Tailwind, а агентът добавя backend, когато приложението ти го изисква — или можеш да поискаш отделен API на Node, Python (FastAPI), C# или Java, който работи заедно с frontend-а в същия проект. В предварителния изглед можеш да превключваш между сайта и API сървъра, а публикуването разгръща и двете, с добавени база данни и файлово хранилище при нужда. Документацията описва приложенията с няколко услуги, ръководството за уеб хостинг показва къде работи всяка част, след като приложението е live, а шаблоните за приложения са бърз начин да видиш full-stack примери.

Въпроси

Каква е разликата между frontend и backend?

Frontend е частта от приложението, която работи в браузъра на потребителя — страниците, бутоните и формулярите, които той вижда и натиска. Backend работи на сървър, който потребителят никога не вижда; той съхранява данни, прилага бизнес правилата, проверява правата и комуникира с други услуги.

Всяко приложение ли се нуждае от backend?

Не. Маркетингов сайт, портфолио или проста целева страница могат да са само frontend. Щом приложението трябва да запазва общи данни, да влиза в профили, да приема плащания или да използва секретни API ключове, му е нужен някакъв вид backend.

HTML е frontend или backend?

HTML, CSS и JavaScript, които се изпълняват в браузъра, са frontend. JavaScript може да работи и на сървър с Node.js — тогава е backend код. Езикът не определя това; определя го мястото, където се изпълнява кодът.

Какво означава full stack?

Full stack означава, че обхващаш и frontend, и backend (а обикновено и базата данни). Full-stack приложението има и трите части; full-stack разработчикът работи върху всички тях.

Mythex · Pricing · Създай всичко с ИИ · Шаблони за уебсайтове и приложения · Mythex в сравнение · Речник на създаването на приложения с ИИ · Безплатни инструменти за създаване на приложения с ИИ · English

English አማርኛ العربية বাংলা Bosanski Català Čeština 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 简体中文 繁體中文(香港) 繁體中文(台灣)