အခုတလော Meteor JS နဲ့ ပတ်သက်ပြီး ပြန်ဖတ်ဖြစ်နေတယ်။ Meteor JS နဲ့ ပတ်သက်ပြီး သူတို့ version 0.4 လောက် က စပြီး သိတာလို့ ဆိုရမယ်။ Daily JS ကနေ သိတာနဲ့တူတယ်။ စတွေ့ကာစတော့ တော်တော်မိုက်တယ်။ သို့ပေမယ့် security ပြဿနာတွေ ရှိနိုင်တယ်ဆိုပြီး မလေ့လာဖြစ်ဘူး။ Discover Meteor ဆိုတဲ့ စာအုပ်ထွက်တော့မှပဲ Meteor JS ကို စပြီးလေ့လာဖြစ်တော့တယ်။
Meteor JS ဟာ real time app တွေ ရေးတဲ့ အခါမှာ အသုံးဝင်တယ်။ Meteor JS ကို အသုံးပြုပြီး Trello လိုမျိုး real time App တွေကို ရေးသားနိုင်ပါတယ်။ အရင်က ကျွန်တော်တို့တွေ Real time app တွေ အတွက် Socket , ဒါမှမဟုတ် Long pooling အသုံးပြုခဲ့တယ်။ Backend နဲ့ ချိတ်ဆက်တဲ့ အခါမှာ Backbone , Angular JS စတာတွေက Restful ကို အသုံးပြုခဲ့တယ်။ Meteor JS ကတော့ DDP , Distributed Data Protocol ကို အသုံးပြုပါတယ်။ အဲဒီ Protocol က Meteor JS က ဖန်တီးထားတဲ့ အသစ်စက်စက် Protocol ပါ။ server က publish လုပ်ထားတာကို client က subscribe လုပ်ထားရပါတယ်။ server က changes တွေ အားလုံးကို publish လုပ်နေပြီး client က ပြောင်းသွားတဲ့ changes တွေကို အလိုလို update လုပ်နေပါတယ်။ အဓိကတော့ Add/Update/Delete ပါပဲ။ ဥပမာ။။ Tasks Collection ထဲကို ကျွန်တော် insert လုပ်လိုက်တယ်။ အဲဒီ collection ကို publish လုပ်ထားတယ်။ Tasks Collection ကို client က subscribe လုပ်ထားတယ်ဆိုရင် သူ့အလိုလို client ဘက်မှာလည်း ဖျက်သွားပါလိမ့်မယ်။ ကျွန်တော်တို့ အနေနဲ့ receive ရခဲ့ရင် client ထဲက object ထဲက သွားဖျက်ဆိုပြီး ပြောနေစရာမလိုပါဘူး။ Server Collection နဲ့ client collection က changes ဖြစ်တိုင်း sync လုပ်နေပါတယ်။ Database အတွက် MySQL နဲ့တော့ အခုလက်ရှိမှာ အသုံးပြုလို့မရသေးပါဘူး။ Mongodb ကို အသုံးပြုပြီး Meteor Collection တွေ ကို mongodb ထဲမှာ သိမ်းထားပါတယ်။
Meteor JS မှာ default အနေနဲ့ autopublish package နဲ့ unsecure package က သွင်းထားပေးပါတယ်။ autopublish ကတော့ publish , subscribe လုပ်စရာမလိုပဲ အမြဲ သူ့အလိုလို ရှိသမျှ collection တွေကို sync လုပ်ပေးနေပါတယ်။ Just For Show လောက်ကတော့ အသုံးဝင်ပေမယ့် တကယ့် project ဆိုရင်တော့ မဖြစ်မနေ remove လုပ်ရပါတယ်။ အဲဒီလိုပါပဲ။ unsecure က ဘယ် collection မဆို insert , update , remove တွေ လုပ်ခွင့်ပေးထားတာပါ။ Meteor JS demo တွေ အတွက်လောက်သာ အသုံးဝင်ပေမယ့် တကယ့် project တွေ အတွက် ဖြုတ်ရပါတယ်။ Meteor JS ဟာ server side နဲ့ client side ရေးရတာ တစ်ခုတည်းလို ခံစားရပါတယ်။ ဘာလို့လည်းဆိုတော့ collection တွေဟာ sync လုပ်နေပြီး client ကနေ insert , update , remove စတာတွေကို ခေါ်လို့ရပါတယ်။ User login အတွက် meteor မှာ User package ပါပြီးသားပါ။ User create လုပ်တာဖြစ်ဖြစ် login လုပ်တာဖြစ်ဖြစ် User package ကို အသုံးပြုဖို့လိုပါတယ်။ Template အတွက်ကတော့ Meteor JS ဟာ handlebars ကို အသုံးပြုထားပါတယ်။ Meteor handlebars document ကိုတော့ ဒီမှာ ဖတ်နိုင်ပါတယ်။ အနည်းငယ်သာ ကွဲပြားမှုရှိပါတယ်။
Meteor JS ဟာ အခုအချိန်မှာ version 0.6.4.1 ရောက်နေပါပြီ။ ပုံမှန်အားဖြင့် HTML , CSS , Javascript Front end ပိုင်းကို အားသာပြီး Web ကို web ပုံစံသာရေးချင်တဲ့သူတွေ အတွက် Meteor JS က အဆင်ပြေမှာ မဟုတ်ဘူး။ Meteor JS Documentation ဟာ စလေ့လာကာစ သူတွေ အတွက်တော့ နားလည်ဖို့ အတော်ခက်ပါတယ်။ Meteor JS ကို မလေ့လာခင်မှာ သူပေးထားတဲ့ example လေးတွေကို စမ်းကြည့်ပါ ။ leaderboard example က စဖို့အတွက် အကောင်းဆုံး example ပါပဲ။ ရိုးတယ်။ ရှင်းတယ်။ သဘောပေါက်လွယ်တယ်။ သို့ပေမယ့် စလုံးရေ စ အဆင့်ပါပဲ။ example တွေ ကြည့်ပြီးတော့ ဆက်လေ့လာချင်ရင်တော့ Discover Meteor စာအုပ်ကို ဖတ်ဖို့ အကြံပေးချင်တယ်။ အဲဒီစာအုပ်က Starter အဆင့်ကနေ Beginner အဆင့်ကို ကူးနိုင်မယ့် စာအုပ်ဆိုလည်း မမှားပါဘူး။ စာအုပ်ဖတ်ပြီးသွားရင်တော့ Meteor JS ကို အတော်အသင့် သဘောပေါက်သွားမယ်။ ကျွန်တော်ဖတ်တာ မပြီးသေးဘူး။ Chapter 9 ရောက်နေပြီ။ Chapter 9 ရောက်တဲ့ အဆင့်မှာ အတော်အသင့် ရေးနိုင်ပြီလို့ ဆိုလို့ရပါတယ်။ စာအုပ်ဖတ်ပြီး လေ့လာတဲ့ အချိန်မှာ Github က commits တွေပါ တစ်ခါတည်း ကြည့်ပြီး ရေးရေးသွားတာ အတော်လေးကို သဘောပေါက်လွယ်ပါတယ်။ Chapter 9 အပြီးမှာ ကျွန်တော့်ဘာသာ စမ်းရေးနေတဲ့ Todos list project က commits ကို လေ့လာနိုင်ပါတယ်။ လွယ်လွယ်လေးတွေ အသုံးပြုပြီး ရေးထားတဲ့အတွက် commit ကို ကြည့်တာနဲ့ နားလည်နိုင်ပါတယ်။
Meteor JS ဟာ Restful ကို မသုံးထားဘူး။ DDP ဆိုတော့ API Service တွေ အတွက် ဘယ်လိုလုပ်မလဲ။ အဲဒီအတွက် ကျွန်တော်တို့တွေလည်း Mobile မှာ DDP ကို အသုံးပြုပြီး collection ကို subscribe လုပ်ရပါတယ်။ iOS အတွက် ObjectiveDDP ကိုလေ့လာနိုင်ပါတယ်။ Android အတွက်တော့ Java DDP client ရှိပါတယ်။ Meteor JS ကို လေ့လာမယ့်သူဟာ HTML , CSS , Javascript အခြေခံရှိဖို့လိုပြီး Mongodb ကို နားလည်ထားဖို့တော့ လိုပါလိမ့်မယ်။ တကယ်လို့ Real Time App တွေကို စိတ်ဝင်စားတယ်။ Meteor JS လေ့လာပြီး မသိတာတွေကို မေးမြန်းချင်တယ်ဆိုရင် MYSTERY ZILLION မှာ မေးမြန်းနိုင်ပါတယ်။ ကျွန်တော် သိသလောက် ဖြေပေးနိုင်ပါတယ်။
Leave a Reply