#Zawgyi
Android ကိုဘယ္လိုဖြဲ႕စည္းထားသလဲ
⏰⏲⏱
⏰⏲⏱
Android ကိုဘယ္လို ဖြဲ ့စည္းထားပါသလဲ? ဒီေမးခြန္းဟာ သိပ္ကို ေမးသင့္ေမးအပ္တဲ့ ေမးခြန္းတခုျဖစ္သလို သိထားသင့္တဲ့အခ်က္ထဲမွာလဲပါ၀င္ပါတယ္။ ဘာလို ့လဲဆိုေတာ့ ကိုယ္က Android developer တစ္ေယာက္ ျဖစ္ဖို ့ စိတ္ကူးရွိေနၿပီဆိုရင္ေတာ့ ကိုယ္စီးမယ့္ျမင္းဟာ အထီးလား အမလားဆိုတာေတာ့ သိထားသင့္တယ္ မဟုတ္လား။ Android Application ကိုေရးသားမယ့္ developer တစ္ေယာက္ဟာ ကိုယ္ေရးသားမယ့္ Operating System ဟာ ဘယ္လို ဖြဲ ့စည္းတည္ေဆာက္ထားသလဲ system ရဲ ့အခင္းအက်င္း ေတြကို ေကာင္းစြာ နားလည္ သေဘာေပါက္ ထားမွသာလွ်င္ ကိုယ္ေရးသားမည့္ application ေတြဟာ ၄င္း OS ေပၚမွာ ေကာင္းစြာ အလုပ္လုပ္မွာပါ။ Android developer တစ္ေယာက္အတြက္ တကယ့္ကို အေရးပါဆုံး အခ်က္ကေတာ့ API (Application Programming Interface) Level ျဖစ္ပါတယ္။ ဘာလို ့လဲဆိုေတာ့ ကိုယ့္ application ဟာ ဘယ္ ကိရိယာေတြ (devices) ဘယ္ OS version မွာ အလုပ္ လုပ္မည္ မလုပ္မည္ ဆိုတဲ့ ကိစၥကို သတ္မွတ္ နိုင္စြမ္းရွိတဲ့ အဆင့္ျဖစ္လို ့ပါပဲ။ ဥပမာ တခ်ိဳ႕ Application ေတြဟာ graphic ဘယ္ေလာက္ရွိမွ CPU ကဘယ္ေလာက္ျဖစ္မွ OS version က ဘယ္ေလာက္မွသုံးလို ့ရမယ္ မရဘူး စတာေတြကို ဒီအဆင့္မွာ သတ္မွတ္တာ ျဖစ္တဲ့အတြက္ေၾကာင့္ပါ။ Android ဟာ Linux Kernel ကို အေျခခံေရးသားထားတဲ့ OS (Operating System) တခုျဖစ္တယ္ဆိုတာ ၿပီးေတာ့ Open Source ျဖစ္တယ္ဆိုတာကို ၿပီးခဲ့တဲ့ အပိုင္းမွာ တင္ျပခဲ့ပါတယ္။ ဒါဆို ဘာအေၾကာင္း ေတြေၾကာင့္မ်ား Android က Linux အေပၚ အေျခခံရသလဲဆိုတဲ့ ေမးခြန္း တခု ထြက္လာပါတယ္။ Linux ဟာလဲ Free and Open Source ျဖစ္ပါတယ္။ ၿပီးေတာ့ Linux က ေပါ့ပါးတယ္။ လုံၿခဳံမႈရွိတယ္။ Features ေတြစုံလင္မႈရွိတယ္။ Linux ဟာ ကြန္ပ်ဳတာ hardware ေတာ္ေတာ္မ်ားမ်ားမွာ ( mobile ဖုန္းေတြ၊ tablet computers ေတြ network routers, televisions , vedio game consoles, desktop computer, mainframes နဲ ့super computer ေတြအထိ) အလြယ္တကူ ေပါင္းစပ္ အလုပ္ လုပ္နိုင္စြမ္း ရွိပါတယ္။ ဒီလို hardware အေတာ္မ်ားမ်ားမွာ အလြယ္တကူ ေပါင္းစပ္ အလုပ္ လုပ္နိုင္စြမ္းရွိတဲ့ OS တခုကို Android က အေျခခံၿပီး ရယူသုံးစြဲလိုက္ျခင္းဟာ hardware မ်ားကို အတိုင္းအတာ တခုအထိခ်ဳံ ့နိုင္ခဲ့သလို hardware ႏွင့္ ၄င္းရဲ႕ features အေတာ္ မ်ားမ်ားကိုလည္း ထည့္သြင္းစဥ္းစားဖို ့မလိုအပ္ေတာ့ပါဘူး။ အားလုံး သိၿပီးတဲ့အတိုင္း Linux ရဲ ့Low Level အပိုင္း အေတာ္အမ်ားမ်ားကို ေပါ့ပါးတဲ့ C programming language code ေတြနဲ ့ေရးသားထားတဲ့အတြက္ Android ရဲ႕ hardware device ေတြနဲ ့android application တို ့ဟာ လြယ္ကူ အဆင္ေျပစြာ ေပါင္းစပ္ အလုပ္လုပ္နိုင္ ေနေတာ့တာပါပဲျဖစ္ပါတယ္။ ဒါေၾကာင့္ Android ဟာလဲ ေပါ့ပါးသြက္လပ္တဲ့ mobile OS တခုအျဖစ္ ရပ္တည္လာနိုင္ေတာ့တာပါပဲျဖစ္ပါတယ္။ ေနာက္ၿပီး Linux ဟာ လုံၿခဳံေရးေကာင္းမြန္တဲ့ Operating System ဆိုတာ ဘယ္သူမွ မျငင္းနိုင္ပါဘူး။ သူ ျဖတ္သန္း လာခဲ့တဲ့ သမိုင္းကာလ ေတြကိုၾကည့္ရင္ သူယခု ရပ္တည္ေနတဲ့ အေျခအေနေတြကိုၾကည့္ရင္ ဘယ္ေလာက္ထိ လုံၿခဳံမႈ ေပးနိုင္သလဲဆိုတာ သိနိုင္ပါတယ္။ ၿပီးတာ့ application တစ္ခုကိုတစ္ခု တည္မွီၿပီး အလုပ္ လုပ္ျခင္း မရွိတာေၾကာင့္ application တစ္ခုကေန application တစ္ခုသို ့ထိုးေဖာက္ၿပီးေတာ့ တိုက္ခိုက္လာနိုင္ေသာ လုံၿခဳံေရးဆိုင္ရာ ျပႆနာမ်ားလည္း အေတာ့ကို ကင္းရွင္းသြားပါတယ္။ Android ဟာ ဘာေၾကာင့္ ဒီလို လုံၿခဳံေရးဆိုင္ရာ အားသာခ်က္ မ်ာစြာရွိေနတဲ့ Linux Kernel ကိုအေျခခံရယူသုံးစြဲ ရသလဲဆိုတာ ေမးခြန္းေတာင္ ေမးေနစရာမလိုေအာင္ပါပဲ။
#Unicode
Android ကိုဘယ်လိုဖွဲ့စည်းထားသလဲ
Android ကိုဘယ်လို ဖွဲ ့စည်းထားပါသလဲ? ဒီမေးခွန်းဟာ သိပ်ကို မေးသင့်မေးအပ်တဲ့ မေးခွန်းတခုဖြစ်သလို သိထားသင့်တဲ့အချက်ထဲမှာလဲပါ၀င်ပါတယ်။ ဘာလို ့လဲဆိုတော့ ကိုယ်က Android developer တစ်ယောက် ဖြစ်ဖို ့ စိတ်ကူးရှိနေပြီဆိုရင်တော့ ကိုယ်စီးမယ့်မြင်းဟာ အထီးလား အမလားဆိုတာတော့ သိထားသင့်တယ် မဟုတ်လား။ Android Application ကိုရေးသားမယ့် developer တစ်ယောက်ဟာ ကိုယ်ရေးသားမယ့် Operating System ဟာ ဘယ်လို ဖွဲ ့စည်းတည်ဆောက်ထားသလဲ system ရဲ ့အခင်းအကျင်း တွေကို ကောင်းစွာ နားလည် သဘောပေါက် ထားမှသာလျှင် ကိုယ်ရေးသားမည့် application တွေဟာ ၄င်း OS ပေါ်မှာ ကောင်းစွာ အလုပ်လုပ်မှာပါ။ Android developer တစ်ယောက်အတွက် တကယ့်ကို အရေးပါဆုံး အချက်ကတော့ API (Application Programming Interface) Level ဖြစ်ပါတယ်။ ဘာလို ့လဲဆိုတော့ ကိုယ့် application ဟာ ဘယ် ကိရိယာတွေ (devices) ဘယ် OS version မှာ အလုပ် လုပ်မည် မလုပ်မည် ဆိုတဲ့ ကိစ္စကို သတ်မှတ် နိုင်စွမ်းရှိတဲ့ အဆင့်ဖြစ်လို ့ပါပဲ။ ဥပမာ တချို့ Application တွေဟာ graphic ဘယ်လောက်ရှိမှ CPU ကဘယ်လောက်ဖြစ်မှ OS version က ဘယ်လောက်မှသုံးလို ့ရမယ် မရဘူး စတာတွေကို ဒီအဆင့်မှာ သတ်မှတ်တာ ဖြစ်တဲ့အတွက်ကြောင့်ပါ။ Android ဟာ Linux Kernel ကို အခြေခံရေးသားထားတဲ့ OS (Operating System) တခုဖြစ်တယ်ဆိုတာ ပြီးတော့ Open Source ဖြစ်တယ်ဆိုတာကို ပြီးခဲ့တဲ့ အပိုင်းမှာ တင်ပြခဲ့ပါတယ်။ ဒါဆို ဘာအကြောင်း တွေကြောင့်များ Android က Linux အပေါ် အခြေခံရသလဲဆိုတဲ့ မေးခွန်း တခု ထွက်လာပါတယ်။ Linux ဟာလဲ Free and Open Source ဖြစ်ပါတယ်။ ပြီးတော့ Linux က ပေါ့ပါးတယ်။ လုံခြုံမှုရှိတယ်။ Features တွေစုံလင်မှုရှိတယ်။ Linux ဟာ ကွန်ပျုတာ hardware တော်တော်များများမှာ ( mobile ဖုန်းတွေ၊ tablet computers တွေ network routers, televisions , vedio game consoles, desktop computer, mainframes နဲ ့super computer တွေအထိ) အလွယ်တကူ ပေါင်းစပ် အလုပ် လုပ်နိုင်စွမ်း ရှိပါတယ်။ ဒီလို hardware အတော်များများမှာ အလွယ်တကူ ပေါင်းစပ် အလုပ် လုပ်နိုင်စွမ်းရှိတဲ့ OS တခုကို Android က အခြေခံပြီး ရယူသုံးစွဲလိုက်ခြင်းဟာ hardware များကို အတိုင်းအတာ တခုအထိချုံ ့နိုင်ခဲ့သလို hardware နှင့် ၄င်းရဲ့ features အတော် များများကိုလည်း ထည့်သွင်းစဉ်းစားဖို ့မလိုအပ်တော့ပါဘူး။ အားလုံး သိပြီးတဲ့အတိုင်း Linux ရဲ ့Low Level အပိုင်း အတော်အများများကို ပေါ့ပါးတဲ့ C programming language code တွေနဲ ့ရေးသားထားတဲ့အတွက် Android ရဲ့ hardware device တွေနဲ ့android application တို ့ဟာ လွယ်ကူ အဆင်ပြေစွာ ပေါင်းစပ် အလုပ်လုပ်နိုင် နေတော့တာပါပဲဖြစ်ပါတယ်။ ဒါကြောင့် Android ဟာလဲ ပေါ့ပါးသွက်လပ်တဲ့ mobile OS တခုအဖြစ် ရပ်တည်လာနိုင်တော့တာပါပဲဖြစ်ပါတယ်။ နောက်ပြီး Linux ဟာ လုံခြုံရေးကောင်းမွန်တဲ့ Operating System ဆိုတာ ဘယ်သူမှ မငြင်းနိုင်ပါဘူး။ သူ ဖြတ်သန်း လာခဲ့တဲ့ သမိုင်းကာလ တွေကိုကြည့်ရင် သူယခု ရပ်တည်နေတဲ့ အခြေအနေတွေကိုကြည့်ရင် ဘယ်လောက်ထိ လုံခြုံမှု ပေးနိုင်သလဲဆိုတာ သိနိုင်ပါတယ်။ ပြီးတာ့ application တစ်ခုကိုတစ်ခု တည်မှီပြီး အလုပ် လုပ်ခြင်း မရှိတာကြောင့် application တစ်ခုကနေ application တစ်ခုသို ့ထိုးဖောက်ပြီးတော့ တိုက်ခိုက်လာနိုင်သော လုံခြုံရေးဆိုင်ရာ ပြဿနာများလည်း အတော့ကို ကင်းရှင်းသွားပါတယ်။ Android ဟာ ဘာကြောင့် ဒီလို လုံခြုံရေးဆိုင်ရာ အားသာချက် မျာစွာရှိနေတဲ့ Linux Kernel ကိုအခြေခံရယူသုံးစွဲ ရသလဲဆိုတာ မေးခွန်းတောင် မေးနေစရာမလိုအောင်ပါပဲ။
No comments:
Post a Comment