Should we use Node.js

အခုတလော Node.js နဲ့ တော်တော်ရေးဖြစ်တယ်။ အဓိကတော့ Backend ပိုင်းပေါ့။ Front End ပိုင်းကတော့ မလုပ်ဖြစ်တာ တော်တော်ကြာပြီလို့ ဆိုရမယ်။ Backend တည်ဆောက်တဲ့ အခါမှာ အရင်က PHP ကိုယ်ပိုင် framework Ava ကို သုံးဖြစ်တယ်။ အခု Node.js ကို သုံးတဲ့အခါမှာတော့ Espresso ကို သုံးဖြစ်တယ်။ Espresso ကို သုံးရင်း ကိုယ်ပိုင် framework လေး ရေးကြည့်ချင်စိတ် ပေါက်လာတယ်။

နောက်ပြီး Google Go နဲ့ Node.js က ဘာ ပိုမှန်လဲဆိုတာကို ငြင်းနေကြတာတွေကိုလည်း ဖတ်ဖြစ်တယ်။ ယေဘူယျပြောရရင်တော့ Go က ပိုမှန်တယ်လို့ ဆိုရမယ်။ သို့ပေမယ့် ဘာ ပိုမှန် မမှန်ဆိုတာကတော့ Server Config လုပ်တာပေါ်မှာ မူတည်တယ်။ Node.js ကို Dual Core processor နဲ့ Worker နှစ်ခုခွဲပြီး အလုပ်လုပ်ခိုင်းရင် Go Lang ထက် အများကြီး မြန်အောင် လုပ်လို့ရပါတယ်။ ဒီ အပိုင်းတွေက Server config နဲ့ Programmar တွေနဲ့ ဆိုင်တယ်။ Go lang မှာ သဘောကျတဲ့ framework လေးကတော့ Revel Web Framework လေးပဲ။ သို့ပေမယ် မစမ်းရသေးတာကတော့ အမှန်ပါ။ Revel ကို code လေးတွေပဲ ဖတ်ကြည့်ရင်း သဘောကျမိတာပါ။

Node.js ကို ကျွန်တော်တို့ သုံးသင့်လား ? ဒီမေးခွန်းက မေးသင့်တဲ့ မေးခွန်းပဲ။ ကျွန်တော်လည်း စဉ်းစားမိတယ်။ သုံးဖို့ တကယ်လိုအပ်လား ။ ကျွန်တော့် အမြင်ပြောရရင်တော့ ဘာ Project လုပ်မှာလဲ ဆိုတဲ့ မေးခွန်းကို ပြန်မေးရမယ်။

၁။ Real Time Web App တစ်ခု ဖန်တီးဖို့လား ?
၂။ Socket သုံးဖို့လိုလား ?
၃။ ကိုယ့် Site ကို သုံးစွဲသူတွေ အရမ်းများလို့ မနိုင်တော့လို့ infrastructure တစ်ခုလုံး ပြန်ပြောင်းမလို့လား ?

တကယ်လို့ ဒီ 3 ချက်မှ မညီရင်တော့ Node.js ကို သုံးစွဲစရာ အကြောင်းသိပ်မရှိလှပါဘူး။ လက်ရှိ PHP , Ruby On Rail , Django စတဲ့ web fraemwork နဲ့ Programming langauge တွေဟာ ပုံမှန် web site တွေ web app တွေ အတွက် လုံလောက်ပါတယ်။

Node.js က ဘယ်သူတွေ အတွက် အဆင်ပြေသလဲ ?

၁။ Programming Language ကို မလေ့လာချင်တဲ့ Javascript Developer ။ အထူးသဖြင့် Front End Developer တွေ။
၂။ backend RestFul အမှန် တည်ဆောက်လိုသူတွေ
၃။ Node.js ကို လေ့လာလိုသူတွေ။

ကျွန်တော် PHP ထက် Node.js ကို ရွေးချယ်ရတဲ့ အကြောင်းကတော့ အဲဒီ ၃ ချက်ကြောင့်ပါပဲ။ PHP ထက် Javascript ကို ပိုသဘောကျတယ်။ Backend Restful ကို powerful ဖြစ်ဖြစ် တည်ဆောက်ချင်တယ်။ Node.js ကို လေ့လာချင်တယ်။ အပေါ်က ၃ ချက် နဲ့ မကိုက်ညီပေမယ့် ကိုယ့်ဘာသာကိုယ် ဖန်တီးထားတဲ့ ၃ ချက်နဲ့ ကိုက်ညီပါတယ်။

Front End Developer တွေဟာ PHP , Ruby , Python တို့ကို ထပ်လေ့လာနေမယ့်အစား Node.js နဲ့ backend ကို လွယ်လင့် တကူရေးနိုင်ပါတယ်။ ဒါဟာ Node.js ရဲ့ အားသာချက်လို့ ဆိုရမယ်။

Node.js အတွက် အသုံးဝင်တဲ့ Module တွေကတော့

၁။ ExpressJS

လက်ရှိ ပုံမှန် web App တွေ အတွက် အကောင်းဆုံး web framework တစ်ခုပါ။

၂။ DerbyJS

Real Time web app တွေအတွက် အသုံးတည့်တဲ့ framework တစ်ခုပါ။

၃။ Meteor

အခုနောက်ပိုင်း Node.js လောကမှာ အရမ်း နာမည်ကြီးလာတဲ့ Real Time Web Framework တစ်ခုပါ။

ကျွန်တော့် အတွက်ကတော့ ရေးရတာ အနည်းငယ် နားလည်ဖို့ ခက်ခဲနေဆဲပါ။ တကယ်လို့ Real Time Web App တစ်ခုသာ ရေးဖြစ်ခဲ့မယ်ဆိုရင်တော့ Meteor ကို ရွေးချယ်ဖြစ်ပါလိမ့်မယ်။

၄။ Forever

Node.js ဟာ PHP နဲ့ မတူတဲ့ အချက်ကတော့ run နေရင်း page တစ်ခုမှာ အမှားပါသွားရင် Error တက်ပြီး run ထားတာပါ ရပ်သွားပါတယ်။ အဲဒီ အချိန်မှာ auto restart လုပ်ပေးဖို့ လိုအပ်ပါတယ်။ ဒီ ပြဿနာတွေကို Forever package က ဖြေရှင်းပေးထားပါတယ်။

၅။ Mongodb Native Driver

Mongodb ကို server ပေါ်မှာ သုံးတတ်တဲ့ သူတိုင်း လွယ်လင့် တကူ အသုံးပြုနိုင်ပါတယ်။

၆။ socket.io

Socket ကို သုံးပြီးရေးချင်သူတွေ အတွက် တော်တော်ကို အဆင်ပြေပါတယ်။ ExpressJS 3.0 မှာ socket.io ကို support လုပ်ထားပါတယ်။

Node.js ကို သုံးသင့်လားဆိုတာကတော့ အပေါ်မှာ ကျွန်တော် ပြောပြီးပါပြီ။ စသုံးတဲ့အခါမှာတော့ အခက်ခဲလေးတွေ ရှိနိုင်ပါတယ်။ Async နဲ့ မရင်းနှီးတဲ့သူတွေ MVC ကို မသိတဲ့ သူတွေ အတွက်ကတော့ အစပိုင်းမှာ အနည်းငယ် ခက်ခဲပါလိမ့်မယ်။

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.