Learning Swift vs Objective-C

what should I learn
ရေးသားသူ : saturngod

အခုနောက်ပိုင်းမှာ OS X နဲ့ iOS development တွေအတွက် Swift language ကို apple က ထုတ်ပြီး နောက်ပိုင်းမှာ မေးစရာ မေးခွန်းတစ်ခု ဖြစ်လာပါတယ်။ Objective-C ကို လေ့လာရ မလားဆိုတဲ့ မေးခွန်းပဲ။ Stanford ရဲ့ iOS Development course ကလည်း Swift ကို ပြောင်းသွားတဲ့အတွက် Objective-C ထက် swift ကို စလေ့လာဖို့ ပိုပြီး အဆင်ပြေစေပါတယ်။

Why Objective-C

iOS SDK စထုတ်ကတည်းက Objective-C နဲ့ ရေးသားထားပြီးတော့ Swift က 2014 WWDC မှသာ စတင် မိတ်ဆက်ခဲ့တာပါ။ လက်ရှိ လုပ်ငန်းခွင်တွေမှာ Production တွေမှာ ရေးသားထားတဲ့ code တွေ အားလုံးဟာ Objective-C ကို အသုံးပြုပြီးတော့ ရေးသားထားပါတယ်။

တကယ်လို့ Objective-C ကို မတတ်ဘူးဆိုရင်တော့ code အဟောင်းတွေကို maintenance လုပ်ဖို့အတွက် အခက်အခဲ ဖြစ်မှာ အမှန်ပဲ။ အကယ်၍ swift နဲ့ ပြန်ရေးမယ်ဆိုရင်တောင် logic တွေကို သိဖို့ အတွက် Objective-C ကို ဖတ်တတ်ဖို့ လိုအပ်ပါတယ်။

တကယ်လို့ သင်ဟာ လက်ရှိ iOS app တွေ ရှိပြီးသား company မှာ အလုပ်လုပ်မယ်ဆိုရင်တော့ Objective-C ကို အနည်းဆုံး တီးမိခေါက်မိဖို့ လိုအပ်ပါတယ်။

When Swift

Swift ဟာ အနာဂတ်အတွက် iOS development မှာ မဖြစ်မနေ အသုံးပြုရမယ့် language တစ်ခုပါ။ လက်ရှိ iOS Developer တွေ အနေနဲ့လည်း Swift ကို မဖြစ်မနေ ပြောင်းကို ပြောင်း ရပါလိမ့်မယ်။

Swift ဟာ Objetice-C ထက် စာရင် အများကြီး ပိုလွယ်သွားပြီး ခေတ်မှီတဲ့ language တစ်ခုပါ။ ဒါကြောင့် project အသစ်တွေဟာ swift နဲ့ပဲ ဖန်တီးကြပါလိမ့်မယ်။ တဖြည်းဖြည်းနဲ့ iOS development ဟာ swift ကို မဖြစ်မနေ တတ်ရမယ့် အချိန်တော့ ရောက်လာပါလိမ့်မယ်။ သို့ပေမယ့် အခုတော့ မဟုတ်သေးပါဘူး။

Bridge

Apple ဟာ Objective-C ကို Swift မှာ သုံးလို့ရအောင် Swift ကို Objective-C မှာ သုံးလို့ရအောင် bridge လုပ်ပေးထားပါတယ်။ ဒါကြောင့် လက်ရှိ ရှိပြီးသား Objective-C libary တွေကို swift မှာ လွယ်လင့် တကူ အသုံးပြုနိုင်ပါတယ်။ သို့ပေမယ့် ရှိပြီးသား Objective-C library မှာ ပြင်ချင်တယ်ဆိုရင်တော့ Objective-C ကို သိထားဖို့ လိုအပ်ပါတယ်။

Hard to convert Objective-C to Swift

လက်ရှိ ရှိပြီးသား project တွေကို objective-c ကနေ swift ကို ပြန်ပြောင်းဖို့က မလွယ်လှပါဘူး။ App တစ်ခု ဖန်တီးထားတဲ့ အခါမှာ အချိန်ကြာလာတာနဲ့အမျှ version တွေ ပြောင်းလာတာနဲ့ အမျှ classes တွေ များလာပါတယ်။ code တွေကလည်း ဖောင်းပွ လာတတ်ပါတယ်။ Swift ကို ပြန်ပြောင်းမယ်ဆိုရင်တော့ အတော့်ကို ကောင်းပေမယ့် အချိန် တော်တော်ပေးရမယ့် အလုပ်ဖြစ်လို့ ပြန်ပြောင်းဖို့ထက် အတော်များများက bridge ကို အသုံးပြုကြတာ ပိုများပါတယ်။

တကယ်လို့ သင်ဟာ iOS Developer အနေနဲ့ အခုအချိန်မှာ အသက်မွေးဝမ်း​ကြောင်းပြုမယ်ဆိုရင်တော့ Objective-C ကိုပါလေ့လာ ထားသင့်ပါတယ်။ ဒါပေမယ့် ကိုယ်ပိုင် App တွေကိုသာ ဖန်တီးမယ် , startup တစ်ခု လုပ်မယ်ဆိုရင်တော့ Swift တစ်ခုတည်းနဲ့ လုံလောက်ပြီးတော့ Objective-C လေ့လာရာထက် အများကြီး ပိုမို လွယ်ကူပါတယ်။

Swift ကလေ့လာရလွယ်ပါတယ်။ အချိန်ပေးရတာကတော့ iOS SDK ပါ။ iOS SDK ဟာ objective-C ပဲ ဖြစ်ဖြစ် Swift ပဲ ဖြစ်ဖြစ် အတူတူပါပဲ။ ဒါကြောင့် Swift ကို လွယ်လင့် တကူ လေ့လာလို့ ရပေမယ့် iOS SDK ကို လေ့လာရာမှာတော့ အချိန်ပေးရပါလိမ့်မယ်။