Mobile Apps Development : Part 4

အပိုင်း ၁အပိုင်း ၂အပိုင်း ၃

Apps တစ်ခုကို ဖန်တီးတဲ့အခါမှာ iOS , Android စတာတွေကို တစ်ခါတည်းရေးပြီး ၂ ခုလုံးမှာ run လို့မရဘူးလား။ cross platform ရေးဖို့ tools တွေရှိလား။ နောက်ပြီး HTML , CSS , Javascript နဲ့ပဲ Mobile App တွေ ရေးလို့ မရဘူးလား ? Cross Platform တွေအတွက် ကျွန်တော်တို့တွေ ဘယ်လို App ရေးမှာလဲပေါ်မူတည်တယ်။ တချို့ feature တွေ က Android နဲ့ iOS မတူတာတွေ ရှိပါတယ်။ ဥပမာ။ iOS မှာ newsstand ရှိပေမယ့် Android မှာ မရှိဘူး။ Airprint က Android မှာ မရှိဘူး။ ဒီလိုပဲ Android မှာ လုပ်လို့ရတဲ့ တော်တော်များများက iOS မှာ လုပ်လို့မရဘူး။ ဒါကြောင့် Cross platform ရေးမယ်ဆိုရင် ကိုယ့် App က ဘယ် platform မှာ ဘာတွေ လုပ်နိုင်မယ် မလုပ်နိုင်ဘူးဆိုတာ သေချာသိထားဖို့လိုတယ်။ နောက်ပြီးတော့ Cross platform လုပ်တဲ့ အခါမှာ တချို့ function တွေက ကိုယ်သုံးနေတဲ့ tools နဲ့ မရတာတွေ ရှိတတ်ပါတယ်။

ကျွန်တော် mobile app စရေးကာစက Native Platform ထက် cross platform ကို သွားဖို့ စမ်းခဲ့ပါသေးတယ်။ သို့ပေမယ်လည်း လုပ်ချင်တာ တော်တော်များများ လုပ်မရတာ ကြောင့် native ကိုပဲ ရေးဖြစ်သွားတယ်။ ကျွန်တော်လေ့လာကစ အချိန်တုန်းကတော့ Cross Platform ဟာ Native ထက် စာရင် နှေးပါတယ်။ HTML , CSS , Javascript သုံးပြီးရေးမယ်ဆိုရင် သိထားသင့်တာက UIWebView နဲ့ Safari မတူပါဘူး။ Safari မှာ Nitro Engine ပါပြီး javascript ကို မြန်မြန်ဆန်ဆန် အလုပ်လုပ်ပေးနိုင်ပါတယ်။ UIWebView မှာမပါပါဘူး။ ဒါကြောင့် Web App တွေက UIWebView မှာ ပိုနှေးပါလိမ့်မယ်။

Cross Platform နဲ့ native ကွာခြားချက်တစ်ခုက SDK ပါပဲ။ SDK တော်တော်များများဟာ native version အတွက်ပဲ ထွက်ပါတယ်။ dropbox sdk , facebook sdk စတဲ့ official version တွေဟာ native အတွက်ပဲ ရှိပါတယ်။ သို့ပေမယ့်လည်း cross platform sdk တွေဟာ နာမည်ကြီး sdk တွေကို လိုက်ပြီး support ပေးပါတယ်။ ဥပမာ။ facebook sdk ကို titanium မှာ အသုံးပြုလို့ရအောင် လုပ်ထားပေးသလို dropbox , testflight စတာတွေလည်း အသုံးပြုလို့ရအောင် ဖန်တီးထားပေးပါတယ်။ Cross platform ဟာ native SDK update ဖြစ်တာနဲ့ လိုက်ပြီး update မလုပ်နိုင်ပါဘူး။ ဥပမာ ။ ။ iOS SDK 6.0 ဒီနေ့ ထွက်ပြီ ဆိုပါဆို့ cross platform တွေဟာ iOS SDK 6.0 အတွက် မနက်ဖြန် လိုက်ပြီး မထွက်နိုင်ပါဘူး။ လူတိုင်း iOS 6.0 မသုံးသေးတာကြောင့် နောက်ပြီး sdk ကို upgrade လုပ်ရာမှာ လက်ရှိ app တွေနဲ့ stable ဖြစ်အောင် ပြန်ပြင်ရေးရတာကြောင့် ကြာတတ်ပါတယ်။

Phonegap

ပထမဆုံး ကျွန်တော် Singapore PHP meetup ပွဲသွားတုန်းက ပွဲမှာ phonegap အကြောင်းပြောပြလို့ သဘောကျရင်းနဲ့ စမ်းဖြစ်ခဲ့တာပါ။ အဲဒီတုန်းက Phonegap စပေါ်ကာစပဲ ရှိသေးပြီး version 1.0 တောင် မရောက်သေးပါဘူး။ Phonegap version 1.0 ရောက်ဖို့ တော်တော်လေးကို ကြာပါတယ်။ အခုတော့ version 2.7 တောင် ရောက်သွားပြီ ဖြစ်တဲ့အတွက် ကျွန်တော် လေ့လာတုန်းက အချိန်နဲ့စာရင် တော်တော်လေးကို ကွာသွားလောက်ပါပြီ။ ကျွန်တော် phonegap ကို သုံးမယ်လို့ စဉ်းစားအချိန်တုန်းက preloaded SQLite ကို read လုပ်လို့မရပဲ application ပထမဆုံး ဖွင့်ချိန်မှာ sql insert တွေထည့်ရမယ်ဆိုတာကြောင့် phonegap ကို မသုံးဖြစ်ခဲ့တော့တာပါ။

Phonegap က HTML + CSS + JS သုံးပြီးတော့ iOS , Android , Windows Phone စတာတွေကို ရေးလို့ရပါတယ်။ Phonegap သုံးထားပြီး ရေးထားတဲ့ Apps တွေကို http://phonegap.com/app/ မှာ ကြည့်လို့ရပါတယ်။ Phone gap က ရနိုင်တဲ့ feature တွေကိုတော့ http://phonegap.com/about/feature/ မှာ ကြည့်နိုင်ပါတယ်။

Phonegap ဟာ HTML + CSS + JS ဖြစ်တာကြောင့် UI design အတွက် HTML web app ရေးသလိုပဲ ရေးပေးရပါတယ်။ UI design အတွက်

စတာတွေကို အသုံးပြုပြီး mobile UI ဖန်တီးနိုင်ပါတယ်။

Titanium SDK

Titanium SDK က အဓိက javascript ကို အသုံးပြုပြီးတော့ cross platform ကို ဖန်တီးပါတယ်။ Phonegap ပြီးတော့ Titanium နဲ့ app စမ်းပြီး ဖန်တီးကြည့်သေးပါတယ်။ Titanium ဟာ ရေးထားတဲ့ code တွေကို compile လုပ်တဲ့ အခါမှာ native ပြောင်းပြီး compile လုပ်တဲ့အတွက် UIWebView ထက်စာရင် ပိုပြီးတော့ မြန်ပါတယ်။ ကျွန်တော် စသုံးကာစကတော့ Titanium ဟာ သီးသန့် Javascript အနေနဲ့ ရှိ ပေမယ့် အခုအခါမှာတော့ Alloy Framework ကို အသုံးပြုပြီး MVC ပုံစံ အသုံးပြုနိုင်ပါပြီ။ မသုံးဖြစ်တာတော်တော်လေးကြာသွားပေမယ့် အသုံးပြုတဲ့သူက အရင်ကထက် ပိုပြီးများလာတာကို တွေ့ရတယ်။ အခုအချိန်မှာ version 3.x ရောက်သွားပြီး ကျွန်တော် သုံးခဲ့တုန်းက တစ်ခြားစီ ဖြစ်သွားပါပြီ။ Titanium ဟာ Titanium Studio ဆိုတာရှိပါတယ်။ Titanium SDK အတွက် IDE ပေါ့။ Titanium အသုံးပြုထားတဲ့ app တွေကို https://marketplace.appcelerator.com/home မှာ ကြည့်လို့ရပါတယ်။ Titanium နဲ့ App ရေးနည်း အကြောင်း အနည်းငယ်သိချင်ရင်တော့ Creating Your First Titanium Apps မှာ ကြည့်လို့ရပါတယ်။ Titanium ဟာ UI Develop လုပ်ရတာတော့ phonegap လောက် မလွယ်ပါဘူး။

Xamarin

C# သမား များအနေနဲ့ iOS နဲ့ Android ကို ရေးမယ်ဆိုရင်တော့ xamarin ရှိပါတယ်။ xamarin ကတော့ Phonegap , Titanium လိုမျိုး Free တော့ မရပါဘူး။ Free version က စမ်းရုံပဲ စမ်းလို့ရပြီး source code file size အစ limit ရှိလို့ project တစ်ခုလုံး အနေနဲ့ သုံးလို့မရပါဘူး။ Indie version က US $299 per platform and per developer ပေးရပါမယ်။ iOS , Android platform ၂ ခု အတွက် ဆိုရင် US $538.20 ကျပါမယ်။ တကယ်ကျသင့်တဲ့ $598.00 မှာ Multiple Licenses ဆိုရင် 10% လျော့ပေးပါတယ်။ သူ့ရဲ့ pricing ကို ဒီမှာ ဖတ်လို့ရပါတယ်။ Xamarin အသုံးပြုထားတဲ့ App တွေကို http://xamarin.com/apps မှာ ကြည့်လို့ရပါတယ်။ Rdio က xamarin ကို အသုံးပြုထားပါတယ်။ ကျွန်တော်ကတော့ အခုအချိန်ထိ တစ်ခါမှ မစမ်းရသေးပါဘူး။

Game Development

တကယ်လို့ game ရေးမယ်ဆိုရင်တော့ cross platform ကို ရွေးချယ်တာ အကောင်းဆုံးပါပဲ။ Game အတွက် cross platform တွေကတော့ Corona က 2D game တွေအတွက် အဆင်ပြေပါတယ်။ Corono နဲ့ ရေးစွဲထားတဲ့ Game တွေကို http://developer.coronalabs.com/showcase/ မှာ ကြည့်နိုင်ပါတယ်။ Corona က သုံးစွဲတဲ့လူလည်း များသလို tutorial တွေလည်း လွယ်လင့် တကူ ရှာဖွေနိုင်ပါတယ်။ တကယ်လို့ 3D game အတွက်ဆိုရင်တော့ Unity ရှိပါတယ်။ Angry Bird ထုတ်တဲ့ company Rovio က Bad Piggies ကို Unity နဲ့ ရေးထားတာပါ။ ဒါ့အပြင် Temple Run 2 လည်း Unity ကို အသုံးပြုထားပါတယ်။ Unity ကို အသုံးပြုထားတဲ့ Game တွေအများကြီးပါ။ စာရင်းကိုတော့ http://unity3d.com/gallery/made-with-unity/game-list မှာ ကြည့်နိုင်ပါတယ်။

2 responses to “Mobile Apps Development : Part 4”

  1. You should mention about RubyMotion where people can write with ruby code for iOS dev.

    1. This part is only for cross platform. Ruby motion only support for iOS. Can’t write for both. That why I didn’t mention about ruby motion.

Leave a Reply

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