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 တွေကိုလည်း ပြန်ဖျက်ဖို့ လိုအပ်ပါတယ်။

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

Leave a Reply

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