မကြာခင် MERN Stack Course Launch လုပ်တော့မှာဖြစ်ပါတယ်။

0
1256

Native Or Cross Platform Mobile DEV

Myo Thant Kyaw

မနေ့က article တစ်ခုမှာ ညီလေးနှစ်ယောက်မေးထားတာလေးတွေ
ဒီ article ကနေဖြေပေးလိုက်ပါမယ်ဗျ
နောက်သိချင်တာတွေရှိရင်တော့ အောက်မှာ comment ရေးထားလို့ရပါတယ်
ဒီိarticle က နေမေးစရာရှိရင်လည်း comment မှာမေးထားနိုင်ပါတယ်ဗျ။
ခေါင်းစဉ်ကတော့အမြဲဘယ်လိုပေးရမလည်းမသိပါဘူး ဟဟ
ပထမဆုံးပြောချင်တာကကျွန်တော်က mobile developer တစ်ယောက်တော့မဟုတ်ပါဘူး
ဒါပေမဲ့ movie streaming app , ecommerce app တွေနဲ့ employee သုံးမဲ့ appမျိုးတွေတော့
react native နဲ့ရေးဖူးပါတယ်။
အခုပြောပြမှာတွေက cross platofrm လမ်းကြောင်းကိုဘယ်လိုသွားမလည်းဆိုတာရယ်
မြန်မာနိုင်ငံမှာ အတွက် ဘယ်လို libiary တွေက အလုပ်မြန်မြန်ရနိင်သလည်းဆိုတာရယ်
cross platofrm နဲ့ native ကွာခြားချက်တစ်ချို့ရယ် ဒီမှာပြောပြပေးပါမယ်
ကျွန်တော်က react native ကိုအသားပေးပြောထားပေမဲ့ တခြားအပိုင်းတွေကျွန်တော့်ကျွမ်းကျင်အပိုင်းမဟုတ်လို့ပါ
education purpose အနေနဲ့သာဖတ်ပေးပါ


Native

ပထမဆုံးခေါင်းစဉ်လေးကိုပဲအရင် ပြောရအောင်ပါ
cross platofrm ကတော့ write once run anywhere ဆိုတဲ့တိုင်း platform(window osx linux mobile)
အားလုံးမှာ run နိုင်အောင် single code base နဲ့ရေးလိုရတာမျိုးကိုဆိုလိုပါတယ်
single code base ဆိုပေမဲ့ သက်ဆိုင်ရာ platofrmအလိုက် စဉ်းစားဖို့တော့လိုပါတယ်ဥပမာ

native ကတော့ ဥပမာ java kotlin နဲ့ရေးတာကိုဆိုလိုတယ်
ios app တစ်ခုရေးမယ်ဆို swift ကိုသုံးရမယ်ပေါ့
ဒါဆို cross platofrm app တွေထက် performace ပိုမိုက်တဲ့ size ပိုသေးတဲ့ appတွေထွက်လာမယ်
ဒါပေမဲ့ cross platform libiary တွေထက် လေ့လာရခက်ပါတယ်
java kotlin swift ကကျွန်တော်လေ့လာနေတဲ့အပိုင်းတွေမဟုတ်လို့ သေချာတော့ မပြောပြတော့ပါဘူး

Cross Platform libiary

cross platform app တွေရေးဖို့ အတွက်တော့ libiary တွေ framework တွေအများကြီးရှိပါတယ်
အများစုnodejs နဲ့ ရေးထားတာတွေဖြစ်ပါတယ်။

Ionic , ReactNative , VueNative , Nativescript
အထက်က libiary တွေက nodejs libiary တွေဖြစ်ပါတယ် ။

နောက်ထပ် google ကထွက်လာတဲ့ flutter ကလည်းရှိနေပါသေးတယ် ။

cross paltform တွေရဲ့ production app size တွေက native app တွေထက် ပိုပီး
size များပါတယ် တော်တော်လေးများပါတယ်။

အဲ့ထဲမှာမှ ionic က web ui မှာ render လုပ်တာပါ
ဆိုလိုတာ ဖုန်းပေါ်မှာionic နဲ့ရေးထားတဲ့ app တစ်ခုကိုဖွင့်တာနဲ့ မြင်နေရတဲ့ ui တွေက web ui ပါ

ဒါပေမဲ့ flutter အပါအဝင်တခြား libiary(ReactNative , VueNative , Nativescript ) တွေကတော့
native ui နဲ့ထွက်လာပါတယ် ဆိုလိုတာ ဒီ libiary တွေနဲ့ရေးထားတာတွေက java kotlin swift နဲ့ရေးထားတဲ့အတိုင်း
ထွက်ပါတယ် performace issue မရှိပေမဲ့ app ရဲ့ size ကများပါတယ်

တိတိကျကျပြောရရင်တော့ mobile app ရေးဖို့
java kotlin ကိုရွေးမလား
nodejs libiary တွေကိုရွေးမလား
flutter ရွေးမလား ဒီသုံးမျျိုးရွေးလို့ရပါတယ် ။





What Should ?


အဲ့တော့ ဘယ်ဟာကိုလေ့လာရမလည်းဆက်ဆွေးနွေးရအောင်ပါ
ကျွန်တော်ကဘယ်ကိုလေ့လာပါလို့တော့ တည့်တိုးတော့မပြောပါဘူး 😛

စာဖတ်သူဟာ freelancer တစ်ယောက် company တွေမှာ အလုပ်မလုပ်ဘူး
app မြန်မြန်ထွက်ဖို့ကို ပဲ focus လုပ်ချင်တယ်
html cssနဲ့ mobile app ရေးချင်တယ်
ဒါဆိုရင် ionic ကိုရွေးချယ်ရပါမယ်
ionic ကအရမ်းလွယ်ပီး react vue angular သုံးခုနဲ့ရေးလိုရသလို
pure javascript နဲ့လည်း ရေးလို့ရပါသေးတယ်
တချိန်က အသုံးများခဲ့ပေမဲ့ အခုတော့ မြန်မာနိုင်ငံမှာ မတွေ့ရသလောက်ကိုဖြစ်နေပါပီ။
ionic built ui component လေးတွေကအရမ်းမိုက်ပါတယ်

စာဖတ်သူက မြန်မာနိုင်ငံမှာ mobile developer အနေနဲ့အလု့ပ်လုပ်ချင်တယ်
လစာကောင်းကောင်းရချင်တယ် web app တွေပါရေးချင်သေးတာ
mature ဖြစ်တဲ့ community တစ်ခုရှိဖို့လည်း လိုအပ်တယ်
ui libiary တွေလည်းများတယ်
mainstream gient technology တွေသုံးတဲ့ libiary ဖြစ်ဖို့လည်းလိုတယ်
discussion တေွ tutorial တွေ article တွေလည်းများရမယ်ဆိုတဲံ
အစရှိတဲ့အချက်တွေကို focus လုပ်နေတယ် ဆိုရင်
react native ကို လုပ်ပါ

React Native ကိုလုပ်ဖိုံအတွက် React ကို သိဖို့လိုပါတယ်
React မှာ class base နဲ့ react hook(functional) နှစ်မျိုးရှိပါတယ်
အဲ့နှစ်ခုက ကျွန်တော့်ဟာကျွန်တော်ပေးလိုက်တာပါ hook ကိုလေ့လာပါ လွယ်ပီး ပို ရေးရတာအဆင်ပြေပါတယ် ။

React Basic -> React Router -> build mini project -> react context api -> react http (fetching data)
-> build ecommerce or mobile application -> redux -> build project with redux
အထက်က road map အတိုင်းReact ကို လေ့လာသွားပါ ။
React အသေးစိတ်ကို Article ဆက်ရေးပေးပါမယ်

React native မှာ bare project နဲ့ expo project နှစ်မျိုးရှိပါသေးတယ်
ဘာတွေကွာသွားတာလည်းတစ်ဆက်ထည်းဆွေးနွေးလိုက်ရအောင်ဗျာ ။

expo က bare ထက်ပိုပီးအဆင့်မြင့်မြင့်လုပ်ပေးထားပါတယ်
သူ့ build size က bare project ထက်ပိုပီးများပါတယ် သူ့ libiary တွေကို ထမ်းထားရလို့ဖြစ်ပါတယ်။
ဒါပေမဲ့ expo project က သူငယ်ချင်းတွေဆီအလွယ်တစ်ကူ sharing လုပ်ပေးနိုင်တယ်
computerက လောလာဆယ် performace နိမ့်နေသေးလား စိတ်မပူနဲ့ ဖုန်းကနေ qr sacn ဖတ်ပီး ios or android မှာ
run လို့ရအောင် expo ကဖန်တီးပေးထားပါတယ် တခြား libiary and api တွေ expo ကအသင့် ထုတ်ပေးထားတာတွေအများကြီးရှိနေပါသေးတယ်။
သူ့မှာ bare project နဲ့ယှဉ်ရင် စိတ်မကောင်းစွာပဲ limitation တွေအများကြီးရှိနေတယ်။

bare project ကတော့ အထက်ကဟာတွေဘာမှလုပ်မရ
သူငယ်ချင်းတွေကိုအလွယ်ရှဲမရ
performace ကောင်းကောင်း computerတစ်လုံးလိုတယ် setup လုပ်ဖို့ android ide လိိုတယ်
run ဖို့ အတွက် ios and android ဖုန်းတွေမှာ qr scan feature မရ
ဒါပေမဲ့ size ကို ပိုပီးသေးတယ် expo နဲ့ယှဉ်ရင် limit မရှိ စိတ်ကြိုက်၀ုန်း 😛

ဘယ်ဟာစလုပ်ရမလည်းဆို
အခုမှစပီးလေ့လာမှာဆို expo နဲ့အရင်သွားပါ
ပီး မှာ bare project ကိုလေ့လာပါ

စာဖတ်သူဟာ မြန်မာနိုင်ငံမှာအလုပ် လုပ်မယ်
လစာလည်း ကောင်းချင်သေးတယ်
web developer တစ်ယောက်မဟုတ်ဘူး java c# တို့နဲ့တော့အတွေ့အကြုံရှိပီးသား(web developer တစ်ယောက်အနေနဲ့ flutter ကရွေးချယ်စရာမဟုတ်ဘူးထင်လို့ပါ)
google ကထုတ်တဲ့ product မှ ယုံကြည်တာ
material ui crazy တစ်ယောက်
cross platofrm app တွေရေးချင်တယ်
ဆိုရင် flutter ကိုလေ့လာသင့်ပါတယ်
flutter ကလည်း ကျွန်တော်လေ့လာနေတဲ့ အပိုင်းမဟုတ်လို့ အသေးစိတ်တော့ မပြောပြပေးနိင်ပါဘူးဗျ 😛

စာဖတ်သူဟာ performace ကို အထူးဂရုစိုက်ရမဲ့ app မျိုးဖန်တီးချင်တယ်
security ကိုဂရုစိုက်တယ်
android ဆိုလည်း system file တွေထိ effect ဖြစ်စေမဲ့ app မျိုးရေးနေတယ်
ခက်ခဲလည်း ကိစ္စမရှိဘူး ရတယ်
အလုပ် ကောင်းကောင်းရှာမယ်
လူလည်းလေးစားခံရမယ် 😛
native language(java,kotlin,swift) တွေကို ရွေးချယ်ဖို့အကြံပြုပါတယ် ။

Comment:
Please Login To Create Comment Login
Loading...