SailsJs အကြောင်းနည်းနည်းပါးပါး

နည်းပညာ Feb 18, 2020

ကိုယ်တွေ သိသလောက်တော့ SailsJS developer ဆိုလို့ တစ်နိုင်ငံလုံး ကိုယ်တွေ တစ်ယောက်ပဲ ရှိတယ်ထင်တယ်။ အခုထိ အခြားလူတွေ အဲ့ဒါသုံးပြီး project လုပ်နေတာ မတွေ့ဖူးဘူး။ ရှိရင် ကျွန်တော့်နဲ့ စကားလာပြောလို့ ရပါတယ်။ ဘီယာတိုက်ပြီး တော်ကီပွားချင်လို့ :D ။

Google မှာ top 10 nodejs framework လို့ ရှာလိုက်ရင် Sailsjs က စာရင်းထဲ အမြဲပါတယ်။ ဒါပေမဲ့ community support အားနည်းနေတယ်။ community support ဆိုတာ error တတ်လို့ stackoverflow မှာရှာကြည့်ရင် မေးခွန်းရှိပြီး အဖြေမရှိတာမျိုးဖြစ်နေတာမျိုးပါ။ Framework တွေ မိုးပျံနေပြီး MVC pattern ကို ဖင်ပြန်ခေါင်းပြန်ရရင်တော့ လေ့လာတဲ့နေရာမှာ သိပ်ပြီး အခက်အခဲမရှိပေမဲ့ framework တစ်ခုကို စလုပ်မယ့် သူအတွက်တော့ အကြီးအကျယ်ကို ခက်ပါလိမ့်မယ်။ အဲ့ဒီတော့ sailsjs က intermediate နဲ့ advance သမားတွေ အတွက် သီးသန့်လို့ ပြောလို့ ရပါတယ်။ Laravel တို့ ExpressJs တို့ကနေ ခုန်ကူးရင်တော့ အိုစကီပေါ့ဗျာ။

Community support နည်းတဲ့ အကြောင်းအရင်း ကတော့ documentation အားနည်းလို့ပါ။ တရားဝင် documentation ထဲမှာ backend အကြောင်းပဲ ပါတယ်။ frontend အကြောင်း သိချင်ရင်တော့   ဒီမှာ ဆယ်ဒေါ်လာနဲ့ သင်တန်း ယူရပါတယ်။ founder ကိုယ်တိုင် သင်ပေးတာပါ။ သင်တာ ညံ့ပါတယ်။ teacher မဟုတ်ဘူး shower လို့ ပထမ ဗီဒီယိုမှာပြောပြီး ကုဒ်ဘဲရေးပြပြီး ကုဒ်အကြောင်း ရှင်းပြတာပါ။ အင်မတန် နားလည်ရခက်ပေမဲ့ ကြိုးစား သည်းခံရင်တော့ နားလည်သွားပါလိမ့်မယ်။ နားလည်သွားရင်တော့ အတော်လေးနေလို့ကောင်းပါတယ်။ အဲ့တော့ framework ကို ၁၀၀ဖိုးနားလည်ချင်ရင် သင်တန်းတတ်ဆိုပြီးလုပ်ထားတာ။ ဒါတော့မမိုက်ဘူး။ ဒါပေမဲ့ course ကဟာနားလည်သွားရင်အတော်လေးကိုသုံးလို့ကောင်းသွားပါပြီ။

SailsJS ဟာ backend အတွက် ExpressJs နဲ့ frontend အတွက် VueJs ကို ရောသမမွှေထားတဲ့ framework ပါ။ SailsJs မှာပဲပါတဲ့ သီးသန့် features (sails hook လိုဟာမျိုး) တွေကော ပါတယ်ဆိုပေမယ့် ExpressJs နဲ့ VueJs ကို သူတို့နည်းသူတို့ဟန်နဲ့ အကောင်းဆုံး လုပ်ပေးထားပါတယ်။ နားလည်ရင်တော့ တော်တော်လေးမိုက်ပါတယ်။ နားမလည်ရင်တော့ တော်တော်ခက်ပါတယ်။ ( နားမလည်ရင်လည်း စိတ်ဓာတ်မကျပါနဲ့။ သူတို့ရှင်းတာမှ မကောင်းတာ။ ဒါ့ကြောင့်လည်း community support ညံ့တာကို :3 )

ဘယ် role တွေသုံးသင့်လဲ ဆိုတာလည်း ရှိသေးတာကို။ frontend၊ backend၊ fullstack ဘာညာသာရကာ နေကြာကွာစေ့ပေ့ါ။ ကျွန်တော် ကတော့ sailsjs ကို frontend သီးသန့်သုံးဖို့ recommend မပေးပါဘူး။ သူက VueJs ပါပေမဲ့ SailsJs ရဲ့ documentation ထဲ မပါတဲ့ အဓိကကျတဲ့ parasailsjs နဲ့ CloudSDK ဆိုတဲ့ဟာက VueJs နဲ့  backend ကို ချိတ်ထားပေးတာပါ။ ဒီနေရာမှာ AJAX request တွေ အတွက် axios သုံးချင်ရင်လည်းသုံးလို့ရပါတယ်။ VueJs ကလည်း ကန့်သတ်ထားတာတွေများပါတယ်။ Vue plugin တွေဖြစ်တဲ့  vue-select တို့လိုဟာတွေ သုံးလို့မရပါဘူး (နည်းလမ်း မတွေ့တာလည်း ဖြစ်လောက်တယ် ၊ ဒါပေမယ့် အင်တာနက်မှာ ရှာမရဘူး )  စိတ်ဓာတ် ကျသွားပါလိမ့်မယ်။

backend အနေနဲ့ ကတော့ အတော်လေးသုံးလို့ အဆင်ပြေပါတယ်။ file structure က အဆင်ပြေပေမဲ့ project ကြီးလာရင် ပိစိပွစိ file လေးတွေ များလာမှာကလွဲလို့ ကျန်တာ အဆင်ပြေပါတယ်။ project ကြီးတယ်ဆိုရင်တော့ အစကတည်းက ကြိုတင်ပြင်ဆင်ပြီး ရေးတာကောင်းပါတယ်။ မဟုတ်ရင်ရှုပ်ပွပြီးရေးလက်စ project အရှုပ်လွန်လွန်းလို့ စိတ်ဓာတ် ကျသွားပါလိမ့်မယ်။ socket ကိုအသားပေးတာမို့လို့ live data broadcast လုပ်လို့ အဆင်ပြေပါတယ်။

fullstack အနေနဲ့ သုံးမယ်ဆိုရင်တော့ လုံးဝ recommend ပေးပါတယ်။ Single page application တွေ AJAX သုံးတဲ့ application တွေ ရေးလို့အရမ်းကောင်းပါတယ်။ CloudSDK က အတော်လေး မိုက်ပါတယ်။ ဒါပေမဲ့ jQuery နဲ့ Vue ကို build in ကတည်းက ရောထားလို့ တခါတလေ တိုင်အရမ်းပတ်ပါတယ်။ select 2 ကို vuejs နဲ့တွဲသုံးလို့မရတဲ့အခြေအနေမျိုးပေါ့။

အားသာချက်တွေ ကတော့ generator တွေ ကောင်းပါတယ်။ action တွေ controller တွေ helper တွေ model တွေ generate လုပ်တဲ့ဟာတွေဟာ ရှင်းရှင်းလေးနဲ့ ပေါ့ပေါ့ပါးပါးလေးပါ။ ပေါ့ပေါ့ပါးပါး app တွေ အတွက် API ထုတ် ဘာညာဆိုရင် productivity ကော performance ကော မဟားတရားကောင်းပြီး မြန်ပါတယ်။ Nodejs framework တစ်ခုဖြစ်တဲ့အပြင် socket ပါလို့ Game server လုပ်ရင်လည်း မိုက်ပါတယ်။ Game backend တစ်ခုရေးမလို့ ပျင်းနေတာ။

အားနည်းချက်ကတော့ လူတိုင်း လိုက်မလုပ်နိုင်လောက်အောင် ဂွမ်းတယ်။ အဲ့တော့ လူတိုင်းမသုံးနိုင်တော့ ပြသနာတစ်ခုတတ်ရင် အဖြေမရှိတာဖြစ်တတ်တယ်။ B2B project ကြီးတွေမှာ framework နဲ့လုပ်နိုင်မလုပ်နိုင် သေချာကြည့် ဆန်းစစ်ပြီးမှ project စသင့်တယ်။ မဟုတ်ရင် တစ်သွားပြီး လစ်သွားမယ်။ အဖြေမရှိတဲ့ error နဲ့ ရိုးရိုး error မတူဘူးလေ။ တစ်နေရင်စိတ်ဓာတ်ကျသွားမှာပေါ့လို့။

အချုပ်အားဖြင့် ပြောရင်ရင် sailsjs ကို ဒီအတိုင်းကြီး အပျော်လေ့လာဖို့ အပျော် ပရောဂျက်တွေ သုံးဖို့အတွက်တော့ မလေ့လာသင့်ပါဘူး။ အလုပ်အရ လိုအပ်လို့ လေ့လာရသည် ဖြစ်စေ၊ ဒီ framework နဲ့ အလုပ်ခေါ်စာတွေ့လို့ လေ့လာရတော့မည်ဖြစ်စေ အဲ့လို အခြေအနေမှာဆိုရင်တော့ မကြောက်ဘဲ လေ့လာသင့်ပါတယ်။ ကျွန်တော်လည်း လုပ်ငန်းအရ လိုအပ်လို့ လေ့လာဖြစ်သွားတာပါ။ ဘာနေနေ ကြောက်နေရင် ရှေ့ဆက်ဖို့ခက်တယ် ဆိုတော့ ကြောက်မနေဘဲ အားရပါးရသာ လေ့လာလိုက်ပါ။ Laravel တို့ ExpressJs တို့လေးနှစ်လောက်သုံးဘူးရင် တစ်လလောက်နဲ့ အပီ ရအောင်လေ့လာလို့ရပါတယ်။ SailsJs နဲ့ပတ်သက်ပြီးမေးချင်ရင် ကျွန်တော့်ကို မေးလို့ရပါတယ်။ ဒါကတော့ SailsJS အကြောင်းလေး နည်းနည်းပြောရင်း ကျွန်တော့်လို အထီးကျန်နေတဲ့ SailsJs framework သုံးတဲ့ developer လေးများရှိမလားလို့ သိချင်လို့ပါ။ :D