මොඩියුලය 12: Backend Development (සේවාදායක-අන්තය සංවර්ධනය)

වෙබ් යෙදුමේ මොළය සහ එන්ජිම නිර්මාණය කිරීම.

Backend යනු කුමක්ද?

පෙර මොඩියුලයේදී අපි පරිශීලකයා දකින සහ අන්තර්ක්‍රියා කරන Frontend (HTML, CSS, JS) පිළිබඳව ඉගෙන ගත්තෙමු. නමුත්, ඔබ login බොත්තමක් එබූ විට, ඔබගේ පරිශීලක නාමය සහ මුරපදය තහවුරු කරන්නේ කවුද? ඔබ භාණ්ඩයක් මිලදී ගත් විට, එම තොරතුරු දත්ත සමුදායේ ගබඩා කරන්නේ කොහේද? මෙම සියලු "තිරය පිටුපස" සිදුවන ක්‍රියාවලි හසුරුවන, පරිශීලකයාට නොපෙනෙන කොටස තමයි Backend හෙවත් සේවාදායක-අන්තය (Server-side) ලෙස හැඳින්වෙන්නේ.

මෙය ආපන ශාලාවකට උපමා කළ හැක:

Backend එකේ ප්‍රධාන වගකීම්

ජනප්‍රිය Backend තාක්ෂණයන්

Backend එක නිර්මාණය කිරීමට විවිධ ක්‍රමලේඛන භාෂා සහ රාමු (Frameworks) භාවිතා කළ හැක. අපි ඒවායින් වඩාත් ජනප්‍රිය දෙකක් දෙස බලමු.

1. Node.js (Express.js සමග)

භාෂාව: JavaScript. Node.js හි ඇති විප්ලවීයම දෙය නම්, සාමාන්‍යයෙන් බ්‍රවුසරය තුළ පමණක් ක්‍රියාත්මක වූ JavaScript, සේවාදායකයේ (server) ක්‍රියාත්මක කිරීමට හැකියාව ලබා දීමයි. එමගින්, එකම භාෂාව (JavaScript) භාවිතා කර සම්පූර්ණ වෙබ් යෙදුමම (Full Stack) නිර්මාණය කිරීමට සංවර්ධකයන්ට අවස්ථාව ලැබේ.

Express.js යනු Node.js මත වෙබ් යෙදුම් සහ APIs නිර්මාණය කිරීම ඉතා පහසු කරන, සැහැල්ලු සහ නම්‍යශීලී රාමුවකි (framework).

සුදුසු වන්නේ: Real-time applications (chat apps), Single-Page Applications (SPAs), සහ අධික data streaming අවශ්‍ය වන යෙදුම් සඳහා.

2. Django

භාෂාව: Python. Django යනු "batteries-included" දර්ශනය මත ගොඩනැගුණු, ඉහළ මට්ටමේ (high-level) රාමුවකි. මෙහි තේරුම නම්, වෙබ් යෙදුමකට අවශ්‍ය වන බොහෝ දේ (උදා: admin panel, database object-relational mapper (ORM), ආරක්ෂක විධිවිධාන) Django මගින්ම සූදානම් කර තිබීමයි. එමගින් ඉතා වේගයෙන් සංකීර්ණ යෙදුම් නිර්මාණය කිරීමට හැකි වේ.

සුදුසු වන්නේ: දත්ත-ප්‍රමුඛ (data-driven) වෙබ් අඩවි, Content Management Systems (CMS), සහ විද්‍යාත්මක යෙදුම් සඳහා.

අවසාන වශයෙන්

Backend යනු පරිශීලකයාට නොපෙනුනත්, ඕනෑම අර්ථවත් වෙබ් යෙදුමක හදවතයි. එය දත්ත කළමනාකරණය කරමින්, ආරක්ෂාව තහවුරු කරමින්, සහ Frontend එකට අවශ්‍ය සේවාවන් ලබා දෙමින් යෙදුම පණගන්වයි.

දැන් අපි Backend එක මගින් API හරහා දත්ත ලබා දෙන ආකාරය දන්නා නිසා, ඊළඟට අප ඉගෙන ගත යුත්තේ එම දත්ත භාවිතා කර, ඉතා සංකීර්ණ සහ ගතික (dynamic) පරිශීලක අතුරුමුහුණත් (User Interfaces) නිර්මාණය කරන ආකාරයයි. ඒ සඳහා, සරල JavaScript වලින් ඔබ්බට ගොස්, ඊළඟ මොඩියුලයෙන් අපි "Frontend Development (React/Angular)" වැනි ප්‍රබල රාමු පිළිබඳව අධ්‍යයනය කරමු.