Framework ဆိုတာ ဆော့ဖ်ဝဲဒီဇိုင်းတစ်ခုလုံးအတွက် အခြေခံအုတ်မြစ် (Foundation) နဲ့ ချိတ်ဆက်ထားတဲ့ ကြမ်းခင်း (Scaffolding) တွေပါတဲ့ ပုံစံချပြီးသား Structure တစ်ခု လို့ နားလည်နိုင်ပါတယ်။
ဥပမာအနေဖြင့်- အိမ်ဆောက်တာနဲ့နှိုင်းယှဉ်ပြရမယ်ဆိုရင် Framework ဆိုတာ အခြေခံအုတ်မြစ်၊ ကွန်ကရစ်တိုင်တွေ၊ ကြမ်းခင်းတွေ ပါဝင်ပြီးသား “အိမ်အဆောက်အအုံအကြမ်းထည်” နဲ့ တူပါတယ်။ Developer တွေက ဒီအကြမ်းထည် အဆောက်အအုံထဲမှာ အခန်းဖွဲ့တာ၊ နံရံတွေကပ်တာ ရေလိုင်းမီးလိုင်းတပ်ဆင်တာ Decoration တွေဖြည့်တာ စတာတွေကို ထည့်သွင်းတပ်ဆင်ရုံပါပဲ။ အုတ်မြစ်ကစပြီး အိမ်ကို အစကနေဆောက်စရာမလိုတော့ပါဘူး။
နည်းပညာအနေဖြင့်ပြောရမယ်ဆိုရင် Framework ဆိုတာ pre-written code (ကြိုတင်ရေးသားထားတဲ့ ကုဒ်)၊ libraries၊ tools (ကိရိယာ)၊ APIs (Application Programming Interfaces) နဲ့ standards (စံချိန်စံညွှန်းများ) တွေစုစည်းထားတဲ့ collection တစ်ခု ဖြစ်ပါတယ်။ ဒါတွေကို အသုံးပြုပြီး software application တွေကို ပိုမိုမြန်ဆန်စွာ၊ စနစ်တကျ၊ စံချိန်စံညွှန်းနဲ့အညီ ဖန်တီးနိုင်ပါတယ်။
Developer/Programmer တွေအတွက် Application ရဲ့ အခြေခံ structure ကို Framework က သတ်မှတ်ပေးပြီး၊ Software ရဲ့ လိုအပ်ချက်အတွက် specific logic တွေကို ထည့်သွင်းရေးသားရုံဘဲဖြစ်ပါတယ်။
Framework တွေကို ဘာကြောင့် အသုံးပြုကြတာလဲ?
Framework တွေကို အသုံးပြုရတဲ့ အဓိကအကြောင်းအရာတွေကတော့ –
အချိန်ကုန်သက်သာခြင်း (Efficiency & Speed)
o Database ချိတ်ဆက်တာ၊ user login function တစ်ခုဖန်တီးတာ၊ security အားနည်းချက်တွေကို ကာကွယ်တာ စတဲ့ အခြေခံလုပ်ဆောင်ချက်အတွက် pre-built code တွေ ပါပြီးသားဖြစ်နေတာမို့ ဆော့ဖ်ဝဲကို မြန်မြန်ဆန်ဆန် တီထွင်ဖန်တီးနိုင် ပါတယ်။
လုံခြုံရေးဆိုင်ရာများထည့်သွင်းစဉ်းစားခြင်း (Security)
o Framework အများစုဟာ SQL Injection, Cross-Site Scripting (XSS), CSRF စတဲ့ လုံခြုံရေးအားနည်းချက်တွေကို ကြိုတင်ကာကွယ်ပေးထားတဲ့ function တွေ ပါဝင်ပါတယ်။ Developer တစ်ယောက်အနေနဲ့ ဒီအန္တရာယ်တွေကို ကာကွယ်ရာမှာ Framework ရဲ့ built-in security feature တွေကို အသုံးပြုတာက ပိုစိတ်ချရပါတယ်။
စံချိန်စံညွှန်းများနှင့် ကိုက်ညီမှု (Maintainability & Scalability)
o Framework တစ်ခုကို အသုံးပြုတာဟာ Project တစ်ခုလုံးကို စနစ်တကျ ဖွဲ့စည်းထားနိုင်ပါတယ်။ Code တွေကို ပုံမှန်ရေးရတာ၊ နားလည်ရလွယ်တာ၊ ထိန်းသိမ်းရလွယ်တာ၊ နောက်ပိုင်း feature အသစ်တွေ ထပ်ထည့်ရတာ လွယ်ကူစေပါတယ်။ Developer အသစ်တစ်ယောက် project ထဲဝင်လာရင်လည်း Framework ရဲ့ structure ကို သိရင် codebase ကို လွယ်လွယ်ကူကူ နားလည်နိုင်ပါတယ်။
Community မှ အကူအညီရရှိမှု (Community Support)
o Famous Framework တွေမှာ Developer Community ရှိပါတယ်။ Error တစ်စုံတစ်ရာရှိခဲ့ရင် Google မှာ ရှာရလွယ်တယ်၊ Forum တွေမှာ အကူအညီ တောင်းလို့ရတယ်၊ Third-party plugins/libraries တွေအများကြီးရှိတယ်။
Testing ပြုလုပ်ရန် လွယ်ကူခြင်း (Easier Testing)
o Modern Framework အများစုဟာ Unit Testing, Feature Testing တွေကို built-in support လုပ်ပေးထားပါတယ်။ ဒါဟာ bug-free application တစ်ခုကို ဖန်တီးနိုင်ဖို့ မရှိမဖြစ်အရေးပါကြပါတယ်။
Popular ဖြစ်တဲ့ Framework တွေက ဘာတွေလဲ?
Application တွေ Develop ဖန်တီးတည်ဆောက်ရာမှာ Frontend နဲ့ Backend ဆိုပြီး (၂) ပိုင်းခွဲပြီး ပြုလုပ်လေ့ရှိပါတယ်။
• Frontend အပိုင်းအတွက် အသုံးများသော Framework များ
o React
o Angular
o Vue.js
o Svelte
• Backend အပိုင်းအတွက် အသုံးများသော Framework များ
o Node.js Frameworks: Express.js, NestJS
o Python Frameworks: Django, Flask
o PHP Frameworks: Laravel
o Java Frameworks: Spring Boot,, Spring – Struts – Hibernate
• Mobile Application တွေ Develop ပြုလုပ်ရာတွင် အသုံးပြုသော Framework များ
o Flutter
o React Native
o Ionic
• Data Science & Machine Learning အတွက်အသုံးပြုသော Framework များ
o TensorFlow
o PyTorch စတာတွေဘဲ ဖြစ်ပါတယ်။
Framework တစ်ခုချင်းစီမှာတော့ အားသာချက်/အားနည်းချက်များရှိနိုင်ပေမယ့် မိမိအားသန်ရာ Framework တစ်ခုခုကို အသုံးပြုပြီး Software/Application များကို Develop ပြုလုပ်နိုင်ပါတယ်။
#ယနေ့သင်ယူခြင်းသည် မနက်ဖြန်အတွက်ဝေမျှရန်ဖြစ်ပါသည်။
