გზამკვლევები

ფრონტენდი და ბექენდი: რა განსხვავებაა?

ფრონტენდი აპლიკაციის ის ნაწილია, რომელიც მომხმარებლის ბრაუზერში მუშაობს — გვერდები, ღილაკები, ფორმები და ანიმაციები, რასაც ის ხედავს და აჭერს. ბექენდი კი ის ნაწილია, რომელიც სერვერზე მუშაობს და რომელსაც მომხმარებელი არ ხედავს: ის ინახავს და იღებს მონაცემებს, ამუშავებს ბიზნეს-წესებს, ამოწმებს, ვის რა შეუძლია, და უკავშირდება სხვა სერვისებს, როგორიცაა გადახდები და ელ-ფოსტა. ორი ნაწილი API-ით ურთიერთობს, და მონაცემთა ბაზასთან ერთად ისინი ქმნიან «full-stack» აპლიკაციას.

რატომ არის ეს მნიშვნელოვანი AI-ით შექმნისას

როცა AI ბილდერს აპლიკაციას აღწერ, ერთდროულად ორივე ნაწილს აღწერ, მიუხედავად იმისა, გაცნობიერებ თუ არა. «მომხმარებლებს შეუძლიათ დრო დაჯავშნონ» ნიშნავს დაჯავშნის ფორმას (ფრონტენდი), წესებს იმის შესახებ, რომელი დროებია თავისუფალი (ბექენდი), და სივრცეს, სადაც ჯავშნები ინახება (მონაცემთა ბაზა).

ამ დაყოფის ცოდნა სამ პრაქტიკულ რამეში გეხმარება:

  1. უსაფრთხოება. ფრონტენდში არსებული ყველაფერი მომხმარებელს შეუძლია ნახოს და შეცვალოს. წესები და საიდუმლო გასაღებები ბექენდში უნდა იყოს.
  2. დებაგინგი. «ღილაკი არ რეაგირებს» და «ღილაკი რეაგირებს, მაგრამ არაფერი ინახება» სხვადასხვა ნაწილს მიუთითებს, და თუ ზუსტად თქვი, რას ხედავ, AI უფრო სწრაფად იპოვის მიზეზს.
  3. ჰოსტინგი და ხარჯი. მხოლოდ ფრონტენდიანი საიტი იაფი და მარტივად ჰოსტდება. ბექენდი სადმე უნდა მუშაობდეს, და ეს განსაზღვრავს, რამდენს იხდი და როგორ იქცევა აპლიკაცია უმოქმედობისას.

ყოველდღიური ანალოგია

წარმოიდგინე რესტორანი.

ფრონტენდი სასადილო დარბაზია: მენიუ, მაგიდები, დეკორი, ოფიციანტი, რომელიც შეკვეთას იღებს. ის მომხმარებლებისთვისაა გათვლილი, და ისინი ყველაფერს ხედავენ და ეხებიან.

ბექენდი სამზარეულო და ოფისია: მზარეულები, სასაწყობე, სალარო, მენეჯერის წესები იმის შესახებ, ვინ იღებს ფასდაკლებას. მომხმარებლები იქ არ შედიან და არც უნდა შეეძლოთ შესვლა.

API არის გასასვლელი მათ შორის — დახლი, სადაც შეკვეთები შემოდის და თეფშები გამოდის შეთანხმებულ ფორმატში. მონაცემთა ბაზა საწყობი და შეკვეთების წიგნია.

მომხმარებელს შეუძლია შეკვეთის ქაღალდი გადაწეროს (ფრონტენდი მისი კონტროლის ქვეშაა), მაგრამ სამზარეულო მაინც წყვეტს, რას მოამზადებს და რამდენი ღირს. ამიტომ მნიშვნელოვანი შემოწმებები უკანა მხარეს უნდა იყოს.

რას აკეთებს თითოეული მხარე

ფრონტენდიბექენდი
სად მუშაობსმომხმარებლის მოწყობილობაზე, ბრაუზერშისერვერზე, რომელსაც შენ (ან შენი ჰოსტი) აკონტროლებ
მთავარი ამოცანაინფორმაციის ჩვენება, მონაცემების შეგროვება, დაჭერებზე რეაგირებამონაცემების შენახვა, წესების გამოყენება, უფლებების კონტროლი, სხვა სერვისების გამოძახება
შეუძლიათ თუ არა მომხმარებლებს კოდის ნახვა და შეცვლა?შეუძლიათ — ის მათ ბრაუზერში ჩამოიტვირთებაარა
შეუძლია თუ არა საიდუმლო API გასაღების შენახვა?არაკი, გარემოს ცვლადებში
გავრცელებული ტექნოლოგიებიHTML, CSS, JavaScript/TypeScript, React, Vue, Svelte, TailwindNode.js, Python (FastAPI, Django), C#, Java, Go, Ruby
რა ირევაგანლაგება მობილურზე ირღვევა, ღილაკი არ მუშაობს, გვერდი ნელიამონაცემი არ ინახება, არასწორი მონაცემი ჩანს, შეცდომები, უსაფრთხოების ხარვეზები

ზოგი ფრეიმვორკი ამ საზღვარს ბუნდოვანს ხდის. მაგალითად, Next.js-ში ერთ პროექტში შეიძლება იყოს როგორც ბრაუზერის, ისე სერვერის კოდი. იდეა იგივე რჩება: კითხვა ყოველთვის ერთია — სად მუშაობს ეს ნაწილი?

სამუშაო მაგალითი: კლასზე დაჯავშნა

აი, რა ხდება, როცა ვინმე იოგას კლასზე ჯავშნის გაკეთებას აპირებს, ნაბიჯ-ნაბიჯ.

ნაბიჯისადრა ხდება
1ფრონტენდიგანრიგის გვერდი იტვირთება და ბექენდს ამ კვირის კლასებს სთხოვს.
2ბექენდიკითხულობს კლასებსა და ჯავშნებს მონაცემთა ბაზიდან, ითვლის თავისუფალ ადგილებს და სიას JSON-ად აბრუნებს.
3ფრონტენდითითოეულ კლასს აჩვენებს დროით, მასწავლებლით და თავისუფალი ადგილებით.
4ფრონტენდიმომხმარებელი ირჩევს კლასს და ავსებს სახელსა და ელ-ფოსტას. ფორმა ამოწმებს, რომ ელ-ფოსტა ვალიდურად გამოიყურება (მხოლოდ სერვისის სახით, არა გარანტიად).
5ფრონტენდი → ბექენდიაგზავნის მოთხოვნას POST /api/bookings API-ის მეშვეობით.
6ბექენდიკიდევ ერთხელ ამოწმებს შემავალ მონაცემებს, ამოწმებს, რომ კლასი არ არის სავსე, ინახავს ჯავშანს და საიდუმლო გასაღებით ელ-ფოსტის სერვისს სთხოვს დადასტურების გაგზავნას.
7ბექენდი → ფრონტენდიაბრუნებს «დაჯავშნილია» ან «სამწუხაროდ, სავსეა».
8ფრონტენდიაჩვენებს დადასტურების ეკრანს.

ყურადღება მიაქციე მე-4 და მე-6 ნაბიჯებს: შემავალი მონაცემები ორჯერ მოწმდება. ფრონტენდის შემოწმება მყისიერ უკუკავშირს იძლევა; ბექენდის შემოწმება კი ნამდვილად მნიშვნელოვანია, რადგან გარკვეულმა მომხმარებელმა შეიძლება მთლიანად გვერდი აუაროს ფრონტენდს.

გავრცელებული ტერმინები

ტერმინიმნიშვნელობა
Client / serverკლიენტი არის ბრაუზერი (ან აპი), რომელიც მოთხოვნას აგზავნის; სერვერი პასუხობს.
UIმომხმარებლის ინტერფეისი — ეკრანები და მართვის ელემენტები.
APIშეთანხმებული გზა, რომლითაც ფრონტენდი ბექენდს მონაცემებს ან მოქმედებებს სთხოვს.
EndpointAPI-ის ერთი კონკრეტული მისამართი, მაგალითად /api/bookings.
Full stackფრონტენდი + ბექენდი + მონაცემთა ბაზა ერთად. იხილე რა არის full-stack აპლიკაცია.
Static siteფრონტენდი საკუთარი ბექენდის გარეშე; ყველასთვის ერთი და იგივე ფაილები.
SPASingle-page application: ფრონტენდი, რომელიც გვერდს ბრაუზერში განაახლებს და არა ახალ გვერდებს ტვირთავს.
Server-side rendering (SSR)სერვერი აგებს გვერდის HTML-ს გაგზავნამდე, რაც შეიძლება დაეხმაროს სისწრაფესა და SEO-ს.
Environment variablesპარამეტრები და საიდუმლოებები, რომლებსაც ბექენდი გაშვებისას იღებს და რომლებიც კოდის გარეთ რჩება.

სჭირდება თუ არა შენს აპლიკაციას ბექენდი?

თუ შენი აპლიკაცია…სჭირდება ბექენდი?
აჩვენებს ინფორმაციას, რომელიც ყველასთვის ერთნაირიაარა
აქვს საკონტაქტო ფორმა, რომელიც მხოლოდ შენ გამოგიგზავნის ელ-ფოსტასჩვეულებრივ, პატარა ბექენდი ან ფორმის სერვისი
ინახავს მონაცემებს, რომლებსაც სხვებიც ნახავენკი
აქვს ავტორიზაცია და პირადი მონაცემებიკი
იღებს გადახდებსკი — სულ მცირე ჩეკაუტების შესაქმნელად და გადახდის webhook-ების მისაღებად
იყენებს ფასიან AI ან სხვა API-ს საიდუმლო გასაღებითკი, რომ გასაღები ბრაუზერს არ მიწვდეს

გავრცელებული შეცდომები და მცდარი წარმოდგენები

  • საიდუმლო გასაღების ფრონტენდში ჩაწერა. ის ნებისმიერისთვის ხილული იქნება, ვინც ბრაუზერის დეველოპერულ ხელსაწყოებს გახსნის. ეს AI-ით აგებულ აპებში ყველაზე გავრცელებული სერიოზული შეცდომაა.
  • წესების აღსრულება მხოლოდ ფრონტენდში. არაადმინისტრატორისთვის «წაშლის» ღილაკის დამალვა დაცვა არ არის; ბექენდმა მოთხოვნა უნდა უარყოს.
  • ბექენდი მხოლოდ «მონაცემთა ბაზად» ჩათვალო. მონაცემთა ბაზა მონაცემებს ინახავს. ბექენდი წყვეტს, ვის შეუძლია მათი წაკითხვა და შეცვლა და როგორ.
  • JavaScript-ი ფრონტენდად ჩათვალო. JavaScript და TypeScript Node.js-ით სერვერზეც მუშაობს.
  • არასწორ მხარეს დაბრალება. თუ გვერდი სწორად გამოიყურება, მაგრამ მონაცემები არასწორია, პრობლემა, როგორც წესი, ბექენდშია ან მონაცემთა ბაზაში და არა დიზაინში.
  • ზედმეტად აგება. პორტფოლიოს საკუთარი ბექენდი არ სჭირდება. მისი დამატება ხარჯს და დამატებით მოძრავ ნაწილებს ნიშნავს.

რას სთხოვო AI ბილდერს

  • «რომელი ნაწილი მუშაობს ბრაუზერში და რომელი სერვერზე?»
  • «გადაიტანე ყველა API გასაღები ბექენდში და წაიკითხე გარემოს ცვლადებიდან.»
  • «შეამოწმე ყველა ფორმა სერვერზეც, და არა მხოლოდ ბრაუზერში.»
  • «ბექენდში უზრუნველყავი, რომ ჯავშნების წაშლა მხოლოდ ადმინისტრატორს შეეძლოს.»
  • «გვერდი კარგად გამოიყურება, მაგრამ მონაცემები არ ინახება — შეამოწმე ბექენდის ლოგები ამ მოთხოვნისთვის.»
  • «ეს მარტივი მარკეტინგული საიტია; დატოვე მხოლოდ ფრონტენდი, სანამ ბექენდი არ დაგჭირდება.»

ფრონტენდი და ბექენდი Mythex-ში

ახალი Mythex პროექტი იწყება Vite, React, TypeScript და Tailwind ფრონტენდით, და აგენტი ბექენდს მაშინ ამატებს, როცა აპლიკაციას დასჭირდება. ასევე შეგიძლია მოითხოვო ცალკე API Node-ში, Python-ში (FastAPI), C#-ში ან Java-ში, რომელიც იმავე პროექტში ფრონტენდის გვერდით იმუშავებს. გადახედვაში შეგიძლია გადახვიდე ვებსაიტსა და API სერვერს შორის, ხოლო გამოქვეყნებისას ორივე ნაწილი დეპლოიდება, მონაცემთა ბაზითა და ფაილების საცავით საჭიროებისამებრ. დოკუმენტაცია აღწერს მრავალსერვისიან აპლიკაციებს, ვებჰოსტინგის გზამკვლევი აჩვენებს, სად მუშაობს თითოეული ნაწილი გაშვების შემდეგ, ხოლო აპლიკაციის შაბლონები full-stack მაგალითების სწრაფად სანახავად გამოდგება.

კითხვები

რა განსხვავებაა ფრონტენდსა და ბექენდს შორის?

ფრონტენდი აპლიკაციის ის ნაწილია, რომელიც მომხმარებლის ბრაუზერში მუშაობს — გვერდები, ღილაკები და ფორმები, რასაც ის ხედავს. ბექენდი მუშაობს სერვერზე, რომელსაც მომხმარებელი არ ხედავს; ის ინახავს მონაცემებს, იცავს ბიზნეს-წესებს, ამოწმებს უფლებებს და უკავშირდება სხვა სერვისებს.

ყველა აპლიკაციას სჭირდება ბექენდი?

არა. მარკეტინგულ საიტს, პორტფოლიოს ან მარტივ სალენდინგ გვერდს შეიძლება ჰქონდეს მხოლოდ ფრონტენდი. როგორც კი აპლიკაციას დასჭირდება საერთო მონაცემების შენახვა, მომხმარებლების ავტორიზაცია, გადახდები ან საიდუმლო API გასაღებების გამოყენება, მას რაღაც სახის ბექენდი სჭირდება.

HTML ფრონტენდია თუ ბექენდი?

HTML, CSS და JavaScript, რომლებიც ბრაუზერში მუშაობს, ფრონტენდია. JavaScript შეიძლება სერვერზეც გაეშვას Node.js-ით — ასეთ შემთხვევაში ის ბექენდის კოდია. ენა არ წყვეტს; წყვეტს ის, თუ სად მუშაობს კოდი.

რას ნიშნავს full stack?

Full stack ნიშნავს, რომ ერთდროულად მოიცავს ფრონტენდსაც და ბექენდსაც (და, როგორც წესი, მონაცემთა ბაზასაც). Full-stack აპლიკაცია სამივე ნაწილისგან შედგება; full-stack დეველოპერი ყველა მათგანზე მუშაობს.

Mythex · Pricing · ააშენეთ ყველაფერი AI-ით · ვებსაიტისა და აპლიკაციის შაბლონები · Mythex შედარებით · AI-ით აპლიკაციის შექმნის ტერმინოლოგია · უფასო ინსტრუმენტები AI-ით აპლიკაციის შესაქმნელად · 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 简体中文 繁體中文(香港) 繁體中文(台灣)