How to Choose Server Side Programming Technologies
November 12, 2021 | Shihan Thathsara
Dynamic websites උත්පාදනය කරන dynamic programs තැනීම සඳහා Server-side web development නිශ්චිත tools හා frameworks භාවිතා කරයි.
පරිශීලක ඉල්ලීම් Primary Server ය තුළ ක්රියාත්මක වන පරිදි එය නිර්මාණය කර ඇත. එය පරිශීලකයින්ට ඉල්ලීම් කිරීමට අතුරු මුහුණතක් හා සැකසීමට සේවාදායකයට උපදෙස් ලබා දෙයි. පරිශීලක සත්යාපනය සහ දත්ත ආරක්ෂාව සඳහාද Server side coding වගකිව යුතුය.
මෙම ලිපියෙන් අපි Server side scripting and web development technologies හි අවශ්යතා ගවේෂණය කරමු.
Full Stack Web Development හි ස්ථර තුනක් ඇත. ඒවා නම් front-end, back-end එනම් server-side, සහ database ය . මේ සියල්ල අංග සම්පූර්ණ Full stack web development tools වල කොටසක් ලෙස සැලකේ. front-end යනු පරිශීලකයා පද්ධතිය සමඟ අන්තර් ක්රියා කරන ස්ථානයයි.
Servers සමඟ වැඩ කිරීමට server codes හැසිරවීම සහ සේවාදායකයින්ට දක්වන ප්රතිචාරය පිළිබඳව ඔබ දැන සිටිය යුතුය. Server side technology යනු වෙබ් යෙදුමක server side operations සැලසුම් කිරීම, ගොඩනැගීම සහ නඩත්තු කිරීම සඳහා භාවිතා කරන tools සහ programming languages සමූහයකි. server side scripting, වලට අමතරව, full stack web developer කෙනෙකු වීමට front-end සහ databases ගැන ඉගෙන ගත යුතුය.
How to select the technology to be used?
අපට කළ යුතු සියල්ල කිරීමට framework ගණනාවක් තිබේ. නමුත් තේරීම් කිරීමේදී කුමන රාමුව භාවිතා කළ යුතුද යන්න පිළිබඳව මහත් ව්යාකූලත්වයට හා අවිනිශ්චිතතාවයකට මඟ පාදයි. ඒ නිසා, හොඳම විකල්පය තෝරා ගැනීමට සඳහා මෙම ලිපිය උපකාර වනු ඇත.
Choose the programming language
Web development frameworks ඉවත් කිරීමට පහසුම ක්රමය මෙයයි. මෙයින් ලැයිස්තුව පටු නොවන නමුත් වෙනත් languages භාවිතා කරන frameworks ලැයිස්තුවෙන් ඉවත් කරයි.
දැන් ඔබට ඉතිරිව ඇත්තේ දිගු නමුත් සීමිත තේරීම් ලැයිස්තුවකි.
Familiarity with the chosen language
ඔබ තෝරා ගන්නා භාෂාවේ coding පිළිබඳ හුරුපුරුදු හා පළපුරුද්දක් ඇති back-end developers කණ්ඩායමක් ඔබට සිටිය යුතුය. එසේ නොමැතිනම් ඔබට නිපුණතා ඇති සංවර්ධකයෙකු බඳවා ගැනීමට හෝ language සහ back-end සමඟ වැඩ කිරීමට ඔබේ දැනට සිටින කණ්ඩායම පුහුණු කිරීමට සිදු වේ.
තාක්ෂණය වැරදි ලෙස තෝරා ගැනීමෙන් කාලය, ශ්රමය සහ මුදල් නාස්ති වන අතර අවසානයේ කාර්යක්ෂමතාවද අහිමි වේ.
Productivity
ඔබට කාර්යය කෙතරම් කාර්යක්ෂමව කළ හැකිද?
එය framework තෝරා ගැනීම සඳහා වැදගත් මිනුම් දණ්ඩකි. සමහර පොදු ගැටළු මතුවීමට හෝ දැනටමත් මුහුණ දී ඇති ගැටළු වලට සමාන ගැටළු කිහිපයක් ඔබ අපේක්ෂා කරන්නේ නම් ඔබට opinionated framework එකක් වෙත යා හැකිය. එවිට මෙම framework වලට ඒ සඳහා සූදානම් කළ විසඳුමක් ලැබෙනු ඇත. එවැනි කුඩා සලකා බැලීම් කණ්ඩායමේ සමස්ත ඵලදායිතාව වැඩිදියුණු කරනු ඇත
Effort to learn
තෝරාගත් framework එක තුල ඉගෙනීම සඳහා ඔබ කොපමණ උත්සාහයක් දැරිය යුතුද යන්න ප්රශ්නයකි. එය ඔබට කිරීමට අවශ්ය උත්සාහය ද ලබා ගත හැකි ලියකියවිලි සහ එහි community support ද මත රඳා පවතී. ඔබේ වෙබ් සංවර්ධකයින්ගේ කණ්ඩායමට දැනටමත් programming language පිළිබඳ හොඳ දැනුමක් තිබේ නම් එය වාසියකි. ඔබේ කණ්ඩායමට programming language පිළිබඳ විශේෂඥ දැනුමක් නොමැති නම්, එම කාර්යයට දැඩි ඉගෙනුම් වක්රයක් ඇත.
Performance of the framework and the language
තේරීම රාමුවේ කාර්ය සාධනය framework එක හා භාවිතා කරන language මත රඳා පවතී. විශාල ප්රමාණයේ framework එක වුවද මධ්යම ප්රමාණයේ භාවිතා කිරීමකට ප්රමාණවත් වේගයක් ඇති හෙයින් "වේගය" එතරම් වැදගත් කරුණක් නොවේ
Scalability
ඔබ backend framework සමඟ ගොඩනඟන යෙදුම scalable විය යුතුය. scaling වර්ග දෙකක් තිබේ. එනම් vertical and horizontal scaling ය. ඔබේ website එක ලැබුණු පසු එය සිරස් ලෙස scale කිරීමට ඔබට හැකි විය යුතුය
පසුව, ඔබ exhaust caching කිරීම අවසන් කළ පසු, scaling කිරීමට සහ ඔබේ වෙබ් අඩවිය විවිධ වෙබ් සේවාදායකයන් හරහා බෙදා හැරීමෙන් එකම වැඩසටහන scale කිරීමට ඔබට හැකි විය යුතුය.
Security
දත්ත ආරක්ෂාව ඉතා වැදගත් ය. සමහර frameworks අනෙක් framework වලට වඩා ආරක්ෂක අංශයෙන් වැඩි යමක් ලබා දෙයි. ඔබේ පද්ධතිය කෙතරම් ආරක්ෂිතව තිබිය යුතුද යන්න මත පදනම්ව, ඔබට framework එකක් තෝරාගත හැක.
Community support and documentation
ඔබේ framework තේරීමට පුළුල් ප්රජා සහයෝගයක් සහ හොඳ documentation එකක් තිබිය යුතුය. අදාළ තොරතුරු පහසුවෙන් සෙවීමට සහ ඉගෙනුම් ක්රියාවලිය පහසු කිරීමට ඔවුන් අනෙකුත් codersලාට උදව් කරති. සංවර්ධනය අතරතුර ඔබ ගැටලුවකට මුහුණ දෙන විටද එය ප්රයෝජනවත් වේ.
Server side programming languages:
JavaScript
මෙම programming language එක් web development හි ගොඩනැගුම් ඒකකයක් ලෙස සැලකේ. මෙය front and back end application යෙදුම් සඳහා භාවිතා කරන එක් භාෂාවකි. JavaScript ඉගෙන ගැනීමට ඉතා පහසුතාවය නිසාම ජනප්රිය වූ භාෂාවකි.
Python
Python යනු පසුකාලීන සංවර්ධනය සඳහා නවතම ප්රවණතා සහිත programming language එකකි. එය භාවිතා කිරීමට පහසු වන අතර Open Source මූලාශ්රයකි. එය පහසුවෙන් කියවීමේ හැකියාව අවධාරණය කරන අතර object oriented ප්රවේශයක් ඇත. එය කුඩා මෙන්ම විශාල ව්යාපෘති සඳහා coding කිරීමට භාවිතා කරයි.
Ruby
Ruby යනු dynamically typed programming language එකකි. එය object oriented language එකකි. domain specific languages සඳහා එය පදනමක් ලෙස සේවය කරයි. එය සෑම platform එකක් හරහාම ක්රියාත්මක කළ හැකිය
PHP
PHP ලෙස ජනප්රියව හඳුන්වන Hypertext preprocessor language , එක open source language එකකි back-end web development සඳහා සුදුසු වේ. එය HTML තුළට ද ඇතුළත් කළ හැකිය.
Why do we need a framework for server side development?
ඔබට programming language භාවිතයෙන් code ලිවීමෙන් වෙබ් අඩවියක් සැලසුම් කර ගොඩනගා ගත හැක. එය කළ හැකි නමුත් වැඩි කාලයක් ගත වේ. එය සදහා අධික coding කිරීමක් අවශ්ය වන අතර විශාල මහන්සියක් දැරීමට සිදුවේ. එබැවින් ලියනු ලබන code ප්රමාණය අඩු කර තුලින් backend applications සඳහා වඩාත් සරල සහ ප්රවේශයක් ලබාගැනීමට frameworks අවශ්ය වේ.
වෙබ් අඩවි සංවර්ධනයේ සමස්ත ක්රියාවලිය සරල කරන tools, utilities සහ libraries, framework මඟින් සපයයි. සමහර back-end frameworks පහත සඳහන් විශේෂාංග ලබා දෙන අතර එමඟින් අනෙකුත් frameworks වලට වඩා ඉහළ ස්ථානයක් ලබා දෙන අතර සම්පූර්ණයෙන්ම programming language සමඟ coding කරයි
Server side frameworks
NodeJS
එය JavaScript වලින් ලියන ලද web development framework එකකි. එය Free and Opensource වේ. එසේම එය MEAN Stack හි back end කොටසයි.
Django
එය වේගවත් development framework එකකි. Python වලින් ලියා ඇත. එය open source framework එකකි. එහි පිරිසිදු සැලසුමක් ඇති අතර ලියා ඇති code ප්රමාණය අඩු කිරීම එහි අරමුණයි. එය පුළුල් framework එකක් වන අතර web developer කෙනෙකුට අවශ්ය වන බොහෝ විශේෂාංග ලබා දේ. මෙම පහසුකම් නිසා එය ඉතා හොඳ තේරීමක් . සෑම දෙයක්ම framework එක සමඟම සපයා ඇති බැවින් එය විවිධ modules හරහා බාධාවකින් තොරව ක්රියා කරයි
Flask
Flask යනු python වලින් ලියා ඇති තවත් framework එකකි. එය micro framework ගණයට අයත් වන අතර libraries සහ වෙනත් tools අවශ්ය නොවේ. එය සමඟ built-in development server සහ debugging system එකක් පැමිණේ. එය template support, unit testing සහ cookies security ද සපයයි.
Express
Express යනු NodeJS මත ගොඩනගා ඇති framework එකකි. එය වේගවත් හා නම්යශීලී වේ.
එය වෙබ් සහ ජංගම යෙදුම් සංවර්ධනය සඳහා හොඳ විශේෂාංග සමූහයක් සපයයි. සම්පත් හැසිරවීමේදී එය ඉතා කාර්යක්ෂමයි. එය සේවාලාභියාගේ පැත්ත සහ සේවාදායකයා අතර වෙබ් සමබන්ධය migrate කිරීම පහසු කරයි.
Ruby on Rails
Rails යනු Ruby වලින් ලියා Framework එකකි. එය Django framework එකට සමානය. එයට url routing සහ safe zone access කිරීම සඳහා පහසුකම් සපයයි.
ASP. NET
එය Microsoft සමාගමේ වෙබ් Framework එකකි. ඔබට HTML, CSS සහ JavaScript පදනම් කරගත් වෙබ් අඩවි සහ වෙබ් යෙදුම් සෑදිය හැකිය. ඉන්පසු ඔබට අවශ්ය විට එය scale කල හැක
SpringBoot
SpringBoot යනු Spring framework මත ගොඩනගා ඇති Framework එකකි. සේවාදායකයේ භාෂාව ලෙස Java භාවිතා කරන අයට එය හොඳ තේරීමකි. එය විසින්ම ක්රියාත්මක වන යෙදුම් නිර්මාණය කිරීම පහසුය. Scaling කළ හැකි සහ විශාල වෙබ් යෙදුම් සඳහා එය වඩාත් සුදුසු ය. Cloud based projects සඳහා එය කදිම විසඳුමකි.
සටහන - ශිහාන් සත්සර