iOS App Developer Life

အရင္တုန္းကေတာ့ web development လုပ္ရင္ IE ေၾကာင့္ အၿမဲစိတ္ညစ္ရတယ္။ Safari , Firefox , Opera စတဲ့ browser ေတြမွာ align တစ္ခုနဲ႔ တစ္ခု မညီတာ ညႇိရတာေတြ တခ်ိဳ႕ javascript ေတြက အလုပ္မလုပ္တာေတြကို ျပင္ရတာေတြကို ေတာ္ေတာ္ စိတ္ညစ္ခဲ့တာ။ လြန္ခဲ့တဲ့ ၁ ႏွစ္ ေက်ာ္ေလာက္တုန္းက အခုအခ်ိန္လို HTML5 , CSS 3 standard က က်ယ္ျပန႔္မႈမရွိေသးဘူး။ webkit မွာ တစ္မ်ိဳး firefox မွာ တစ္မ်ိဳး အဆိုးဆုံးကေတာ့ customer က IE 6 , IE 7 , IE 8 , IE 9 စတာေတြေပၚမွာ အဓိက ထားလုပ္ေပးပါဆိုရင္ ျပင္ရတာ ေတာ္ေတာ္ အခ်ိန္ကုန္တယ္။ Mac နဲ႔သုံးလိုက္ windows မွာ စမ္းလိုက္နဲ႔ ေတာ္ေတာ္ တိုင္ပတ္ခဲ့တာ။

iOS Developer ဘဝလည္း ေရာက္ရင္ အဲဒီ ျပႆနာေတြ မရွိေတာ့ဘူး။ သို႔ေပမယ့္လည္း ထင္သေလာက္ေတာ့ မဟုတ္ဘူး။ iOS Developer ေတြမွာ အခက္အခဲေတြ ေတာ္ေတာ္မ်ားမ်ားရွိပါတယ္။

iOS Version

App တစ္ခု ထုတ္ေတာ့မယ္ဆိုရင္ ဘာမွ မေရးခင္ ဘယ္ version အတြက္ ထုတ္မွာလဲလို႔ ေသခ်ာဆုံးျဖတ္ရတယ္။ iOS 4 နဲ႔ iOS 5 က code ေတြက ေတာ္ေတာ္ကြာသြားတယ္။ iOS 5 မွာ customize လုပ္ရတာ ပိုလြယ္တယ္။ Developer ေတြကေတာ့ iOS 5 app ေတြပဲ လုပ္ခ်င္ၾကတယ္။ သို႔ေပမယ့္ အခ်ိဳ႕ Partner ေတြက iOS 4 ကိုမပစ္ပယ္ခ်င္ၾကေသးဘူး။

50%-60% က iOS 5 users ေတြ ဆိုေပမယ့္ က်န္တဲ့ percentage က ေတာ့ iOS 4 နဲ႔ iOS 3 ပါ။ iOS 3 ကေတာ့ percentage က အမ်ားႀကီး မက်န္ေတာ့ေပမယ့္ အနည္း အက်ဥ္းေလးေတာ့ ရွိေသးတယ္။ iOS 4 ကေတာ့ 50%-40% ရွိေနေသးတယ္။ Market ေပၚမွာ iOS 4 သမားေတြ ကို လက္မလႊတ္ခ်င္ၾကဘူး။ iOS 4 အတြက္ေရးထားရင္ iOS 5 မွာ ရဖို႔ ေသခ်ာတယ္။ သို႔ေပမယ့္ တခ်ိဳ႕ feature ေတြ animation ေတြ သုံးလို႔ရမွာ မဟုတ္ေတာ့ဘူး။ သုံးလို႔ရခ်င္ရင္ သီးသန႔္ ထပ္ေရးရေတာ့မယ္။ အဲဒီအတြက္ အခ်ိန္ပိုၾကာမယ္။ ေငြပိုကုန္မယ္။ အဲလို တြက္ျပန္ေတာ့လည္း iOS 4 ကို လက္လႊတ္ခ်င္ျပန္တယ္။ Developer အေနနဲ႔ကေတာ့ iOS 5 မွာ ေရးရတာ အဆင္ေျပဆုံးပဲ။

Test Test Test

Web Development ပိုင္း Desktop Application Development ပိုင္း စတာေတြနဲ႔ မတူတာကေတာ့ Bugs တစ္ခုပါသြားရင္ ခ်က္ျခင္း update လုပ္လို႔ မရဘူး။ App store ေပၚမွာတင္ၿပီး ၃ ရက္ကေန ၅ ရက္ျပန္ေစာင့္ရမယ္။ အဲဒီလိုေစာင့္ရမွာ ျဖစ္တဲ့အတြက္ေၾကာင့္ မတင္ခင္မွာ Test ကို ပိုလုပ္ရတယ္။ လုံးဝ bugs ရွိတာ အမွားရွိတာ သိပ္မခံႏိုင္ဘူး။ Crash ျဖစ္တာေတြ မရွိေအာင္ ပိုဂ႐ုစိုက္ရတယ္။ Bugs ရွိခဲ့လို႔ ျပင္ရင္ေတာင္ ျပင္တာက ၁ ရက္ app store ေပၚတင္ၿပီး ေစာင့္ရတာက ၅ ရက္။ စုစုေပါင္း ၆ ရက္ေလာက္ Users ေတြဆီကေန Bad Feedback ေတြ ျပန္လာႏိုင္တယ္။ ဒါေၾကာင့္ Test က အရမ္းကို အေရးႀကီးတဲ့ အဆင့္မွာ ရွိတယ္။

Web API !!!

iOS Development ပိုင္းမွာ client ႀကီးတစ္ခုတည္းနဲ႔ မျဖစ္တာေတြ အမ်ားႀကီးပဲ။ Server Side ကေန Restful API ထုတ္ေပးရတာ။ ဒီအတြက္ web api ပါ သီးသန႔္ထပ္ေရးရတာ။ client က server က database ကို တိုက္႐ိုက္ ကိုင္တြယ္လို႔ မရဘူး။ ဒါေၾကာင့္ web API background ရွိကို ရွိသင့္တယ္လို႔ ဆိုရမယ္။ Restful ဆိုတာ ဘာမွန္းမသိ။ POST , GET ေတြကို နားမလည္ရင္ သိပ္အဆင္မေျပလွဘူး။ ေနာက္ၿပီး အခုေနာက္ပိုင္း API ေတာ္ေတာ္မ်ားမ်ားက JSON respond ေတြ ျဖစ္တဲ့အတြက္ေၾကာင့္ JSON ကို နားမလည္ရင္ မျဖစ္သလို JSON ကေန ျပန္ေျပာင္းလိုက္တဲ့ NSDictionary (or) NSArray ကို မကိုင္တြယ္တတ္လို႔လည္း မျဖစ္ဘူး။

Memory !!!

Web Development မွာလို memory ႀကိဳက္သေလာက္ သုံး။ သုံးခ်င္သေလာက္ သုံးဆိုတာမ်ိဳးကို iOS Development မွာ စဥ္းစားလို႔ မရေတာ့ဘူး။ High Level ပိုင္းက လြယ္ေပမယ့္ တစ္ခါတစ္ေလ low level C++ ပိုင္းေတြနဲ႔ ေရးသင့္ရင္ ေရးရတာ ရွိမယ္။ Memory သက္သာေအာင္ စဥ္းစားရတယ္။ ဥပမာ။။ တစ္ျခား game ေတြအျပင္ apps ေတြ အမ်ားႀကီးပါ ဖြင့္ထားၿပီး ကိုယ့္ app ကို ဖြင့္လိုက္ရင္ ကိုယ့္ app က memory မႏိုင္ေတာ့တာေတြ တစ္ခါတစ္ေလ ျဖစ္တတ္တယ္။ ဒီအတြက္ Memory ပိုင္းကို ေသခ်ာ ေရးရတာ။ iOS 5 မွာ Arc ပါလာေပမယ့္ ကြၽန္ေတာ္ကေတာ့ သိပ္မႀကိဳက္လွဘူး။ Arc ထက္ အရင္တုန္းကလို ကိုယ့္ဘာသာကိုယ္ retain , release လုပ္ရတာ ပိုအဆင္ေျပတယ္။ ပိုၿပီး management လုပ္ရတာ လြယ္တယ္။

File Size

iOS Development လုပ္တဲ့ အခါမွာ File Size မႀကီးသြားေအာင္လည္း ဂ႐ုစိုက္ရပါတယ္။ File Size မ်ား ဘာမ်ား ဂ႐ုစိုက္စရာ ရွိသလဲဆိုေတာ့ App Store ေပၚကေန download ခ်တဲ့အခါ Wifi မဟုတ္ပဲ 3G သာ ျဖစ္ခဲ့ရင္ 20 MB ေက်ာ္ရင္ download ခ်လို႔ မရေတာ့ပါဘူး။ လမ္းသြားလမ္းလာ သူငယ္ခ်င္း မိတ္ဆက္လို႔ျဖစ္ျဖစ္ သတင္းတစ္ခုမွာ ပါလို႔ download ခ်ခ်င္လို႔ ျဖစ္ျဖစ္ App size က 20 MB ထက္ေက်ာ္လို႔ download ခ်မရတဲ့ အခါ မခ်ျဖစ္ေတာ့တာ မ်ားပါတယ္။

ဒါေၾကာင့္ Graphic ေတြကို ေသခ်ာ စဥ္းစားရပါတယ္။ ဥပမာ။။ Button ေတြအတြက္ images တစ္ခုျခင္းဆီ လုပ္မယ့္အစား image ကို stretch လုပ္ၿပီးေတာ့ သုံးတာ။ ေနာက္ၿပီးေတာ့ image ေတြ အစား font embed လုပ္ၿပီး သုံးတာ။ စတဲ့ နည္းလမ္းေတြနဲ႔ ေလ်ာ့ခ်ဖို႔ စဥ္းစားရပါတယ္။ အသုံးမဝင္တဲ့ images ေတြကိုလည္း ျပန္ဖ်က္ဖို႔ လိုအပ္ပါတယ္။

ဆက္ေရးပါအုံးမည္ .....


 
3 Kudos
Don't
move!

Leave a Reply

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