መመሪያዎች

Frontend vs Backend፡ ልዩነቱ ምንድነው?

Frontend የአፕ ክፍል ሲሆን በተጠቃሚው ብሮውዘር ውስጥ ይሠራል፤ የሚያዩትና የሚጫኑት ገጾች፣ አዝራሮች፣ ቅጾችና አኒሜሽኖች ናቸው። Backend ተጠቃሚው በማያየው ሰርቨር ላይ የሚሠራ ክፍል ነው፤ ዳታን ያስቀምጣል እና ያወጣል፣ የንግድ ህጎችን ይተገብራል፣ ማን ምን ማድረግ እንደሚችል ያረጋግጣል፣ እንዲሁም እንደ ክፍያና ኢሜይል ካሉ ሌሎች አገልግሎቶች ጋር ይገናኛል። ሁለቱ በAPI ይግባባሉ፤ ከዳታቤዝ ጋር ሲደመሩ "full-stack" አፕ ይሆናሉ።

ከAI ጋር ሲገነቡ ለምን ይጠቅማል

ለAI ገንቢ አፕ ሲገልጹ ሁለቱንም ክፍሎች በአንድ ጊዜ እየገለጹ ነው፤ ይህን ቢያውቁትም ባያውቁትም። "ደንበኞች ሰዓት ማስያዝ ይችላሉ" ማለት የቦታ ማስያዣ ቅጽ (frontend)፣ የትኞቹ ቦታዎች ክፍት እንደሆኑ ህጎች (backend) እና ቦታ ማስያዞቹ የሚቀመጡበት (ዳታቤዝ) ማለት ነው።

ይህን መለየት በሦስት ተግባራዊ መንገዶች ይረዳል፦

  1. ደህንነት። በfrontend ያለ ማንኛውም ነገር ተጠቃሚው ማየትና መቀየር ይችላል። ህጎችና ሚስጥሮች በbackend መቀመጥ አለባቸው።
  2. ስህተት ማግኘት። "አዝራሩ ምላሽ አይሰጥም" እና "አዝራሩ ምላሽ ይሰጣል ግን ምንም አይቀመጥም" ወደ የተለያዩ ክፍሎች ይጠቁማሉ፤ የትኛውን እያዩ እንደሆነ መናገር AI መንስኤውን ፈጥኖ እንዲያገኝ ይረዳል።
  3. ማስተናገጃና ወጪ። Frontend ብቻ ያለው ድረ-ገጽ ርካሽና ቀላል ለማስተናገድ ነው። Backend የሆነ ቦታ መሥራት አለበት፤ ይህ ደግሞ የሚከፍሉትን እና አፑ ስራ ፈት ሲሆን እንዴት እንደሚሠራ ይነካል።

የዕለት ተዕለት ምሳሌ

ምግብ ቤት አስቡ።

Frontend የመመገቢያ ክፍሉ ነው፦ ምናሌው፣ ጠረጴዛዎቹ፣ ማስዋቡ፣ ትእዛዙን የሚወስደው አስተናጋጅ። ለደንበኞች የተሠራ ነው፤ ሁሉንም ማየትና መንካት ይችላሉ።

Backend ኩሽናውና ቢሮው ነው፦ ምግብ የሚያበስሉት ሼፎች፣ የዕቃ ማከማቻው፣ ካሽ መመዝገቢያው፣ ማን ቅናሽ እንደሚያገኝ የሚወስነው የአስተዳዳሪው ህግ። ደንበኞች ወደዚያ አይገቡም፤ መግባትም የለባቸውም።

API በሁለቱ መካከል ያለው መተላለፊያ ነው፤ ትእዛዞች የሚገቡበትና ምግቦች የሚወጡበት ቆጣሪ፣ በተስማሙበት ቅርጸት። ዳታቤዙ የዕቃ ማከማቻውና የትእዛዝ መዝገቡ ነው።

ደንበኛ የትእዛዝ ወረቀቱን ማስተካከል ይችላል (frontend በእሱ ቁጥጥር ስር ነው)፤ ነገር ግን ኩሽናው ምን እንደሚያበስል እና ምን እንደሚያስከፍል አሁንም ይወስናል። ለዚህ ነው ዋና ማረጋገጫዎቹ በኋላ በኩል መሆን ያለባቸው።

እያንዳንዱ ክፍል ምን ይሠራል

FrontendBackend
የሚሠራበትየተጠቃሚው መሣሪያ፣ በብሮውዘርእርስዎ (ወይም ማስተናገጃዎ) የሚቆጣጠሩት ሰርቨር
ዋና ሥራነገሮችን ማሳየት፣ ግብዓት መሰብሰብ፣ ለጠቅታ ምላሽ መስጠትዳታ ማስቀመጥ፣ ህጎችን መተግበር፣ ፈቃዶችን ማስከበር፣ ሌሎች አገልግሎቶችን መጥራት
ተጠቃሚዎች ኮዱን ማየትና መቀየር ይችላሉ?አዎ፤ ወደ ብሮውዘራቸው ይወርዳልአይችሉም
ሚስጥራዊ API ቁልፎችን መያዝ ይችላል?አይችልምይችላል፤ በenvironment variables
የተለመዱ ቴክኖሎጂዎች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በAPI POST /api/bookings ጥያቄ ይልካል።
6Backendግብዓቱን እንደገና ያረጋግጣል፣ ክፍሉ ሙሉ አለመሆኑን ይፈትሻል፣ ቦታ ማስያዙን ያስቀምጣል፣ እና በሚስጥር ቁልፍ ለኢሜይል አገልግሎቱ የማረጋገጫ መልእክት እንዲልክ ይጠይቃል።
7Backend → Frontend"ተይዟል" ወይም "ይቅርታ፣ ሙሉ ነው" ብሎ ይመልሳል።
8Frontendየማረጋገጫ ገጹን ያሳያል።

ደረጃ 4 እና 6ን ልብ ይበሉ፦ ግብዓቱ ሁለቴ ይፈተሻል። የfrontend ፍተሻ ፈጣን ምላሽ ይሰጣል፤ የbackend ፍተሻ ግን የሚቆጠረው ነው፤ ምክንያቱም ቆራጥ ተጠቃሚ frontendን ሙሉ በሙሉ ማለፍ ይችላል።

የተለመዱ ቃላት ማብራሪያ

ቃልትርጉም
Client / serverClient ጥያቄ የሚልከው ብሮውዘር (ወይም አፕ) ነው፤ server ደግሞ ጥያቄውን ይመልሳል።
UIUser interface፤ ማያ ገጾቹና መቆጣጠሪያዎቹ።
APIFrontend ከbackend ዳታ ወይም ተግባር የሚጠይቅበት የተስማሙበት መንገድ።
EndpointበAPI ላይ አንድ የተወሰነ URL፣ ለምሳሌ /api/bookings።
Full stackFrontend + backend + ዳታቤዝ አንድ ላይ። full-stack አፕ ምን እንደሆነ ይመልከቱ።
Static siteየራሱ backend የሌለው frontend፤ ለሁሉም ተመሳሳይ ፋይሎች።
SPASingle-page application፤ ገጹን ከአዲስ ገጽ ከመጫን ይልቅ በብሮውዘሩ ውስጥ የሚያዘምን frontend።
Server-side rendering (SSR)ሰርቨሩ ገጹን ከመላኩ በፊት HTML-ውን ይገነባል፤ ይህ ፍጥነትንና SEOን ሊረዳ ይችላል።
Environment variablesለbackend በሂደት ጊዜ የሚሰጡ ቅንብሮችና ሚስጥሮች፤ ከኮዱ ውጭ የሚቀመጡ።

አፕዎ backend ያስፈልገዋል?

አፕዎ ከሆነ…Backend ያስፈልጋል?
ለሁሉም አንድ ዓይነት መረጃ የሚያሳይአያስፈልግም
ለእርስዎ ብቻ ኢሜይል የሚልክ የመገናኛ ቅጽ ያለውብዙውን ጊዜ ትንሽ ነው፤ ወይም የቅጽ አገልግሎት
ሌሎች ሰዎች የሚያዩትን ዳታ የሚያስቀምጥአዎ
መግቢያና የግል ዳታ ያለውአዎ
ክፍያ የሚቀበልአዎ፤ ቢያንስ ቼክአውት ለመፍጠርና የክፍያ webhooks ለመቀበል
በሚስጥር ቁልፍ የሚከፈል AI ወይም ሌላ API የሚጠቀምአዎ፤ ቁልፉን ከብሮውዘር ለማራቅ

የተለመዱ ስህተቶችና የተሳሳቱ ግንዛቤዎች

  • ሚስጥራዊ ቁልፎችን በfrontend ማስቀመጥ። የብሮውዘሩን developer tools የከፈተ ማንኛውም ሰው ያየዋል። በAI የተገነቡ አፖች ውስጥ ይህ በጣም የተለመደና ከባድ ስህተት ነው።
  • ህጎችን በfrontend ብቻ ማስከበር። "ሰርዝ" የሚለውን አዝራር ለአስተዳዳሪ ያልሆኑ ሰዎች መደበቅ ጥበቃ አይደለም፤ backend ጥያቄውን ውድቅ ማድረግ አለበት።
  • Backend "ዳታቤዝ ብቻ" ነው ብሎ ማሰብ። ዳታቤዙ ዳታ ያስቀምጣል። ማን ማንበብና መቀየር እንደሚችል እና እንዴት እንደሚሆን የሚወስነው backend ነው።
  • JavaScript ማለት frontend ነው ብሎ ማሰብ። JavaScript እና TypeScript በNode.js አማካኝነት በሰርቨሮችም ላይ ይሠራሉ።
  • ተሳስቶ ክፍሉን መውቀስ። ገጹ ትክክል ቢመስልም ዳታው የተሳሳተ ከሆነ ችግሩ ብዙውን ጊዜ በbackend ወይም በዳታቤዝ ውስጥ ነው፤ በዲዛይኑ አይደለም።
  • ከልክ በላይ መገንባት። ፖርትፎሊዮ የራሱ backend አያስፈልገውም። መጨመር ወጪና ተጨማሪ ክፍሎች ያመጣል።

ከAI ገንቢዎ ምን ብለው ይጠይቁ

  • "በዚህ አፕ ውስጥ የትኞቹ ክፍሎች በብሮውዘር፣ የትኞቹስ በሰርቨር ላይ ይሠራሉ?"
  • "ማናቸውንም API ቁልፎች ወደ backend አንቀሳቅሰህ ከenvironment variables አንብባቸው።"
  • "እያንዳንዱን ቅጽ በብሮውዘሩ ብቻ ሳይሆን በሰርቨሩም አረጋግጥ።"
  • "አስተዳዳሪዎች ብቻ ቦታ ማስያዞችን እንዲሰርዙ በbackend አረጋግጥ።"
  • "ገጹ ጥሩ ይመስላል ግን ዳታው አይቀመጥም፤ ለጥያቄው backend logs ተመልከት።"
  • "ይህ ቀላል የማስታወቂያ ድረ-ገጽ ነው፤ ሌላ backend እስካልፈለግን ድረስ frontend ብቻ ይሁን።"

Frontend እና backend በMythex

አዲስ የMythex ፕሮጀክት ከVite፣ React፣ TypeScript እና Tailwind frontend ይጀምራል። አፑ backend ሲፈልግ AI agent ይጨምረዋል፤ ወይም በNode፣ Python (FastAPI)፣ C# ወይም Java የተጻፈ የተለየ API ከfrontend ጎን በተመሳሳይ ፕሮጀክት እንዲሠራ መጠየቅ ይችላሉ። በpreview ውስጥ በድረ-ገጹና በAPI ሰርቨሩ መካከል መቀያየር ይችላሉ፤ ሲታተም ሁለቱም ይሰማራሉ፤ ሲያስፈልግም ዳታቤዝና ፋይል ማከማቻ ይጨመራሉ። ሰነዶቹ ባለብዙ-አገልግሎት አፖችን ያብራራሉ፤ ድረ-ገጽ ማስተናገድ መመሪያ ደግሞ አንዱ ክፍል ቀጥታ ሲሆን የት እንደሚሠራ ይገልጻል፤ የአፕ ቴምፕሌቶች ደግሞ ፈጣን የ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 · በ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 简体中文 繁體中文(香港) 繁體中文(台灣)