May 20, 2017

.Net Core ဆိုတာဘာလဲ။

Ko Sagaing

.Net ဆိုတာ ယခင်က Windows ပေါ်မှာပဲ အလုပ်လုပ်နိုင်တဲ့ Programming Language တစ်ခုလို့နားလည်ထားကြပေမယ့်၊ .Net Core ပေါ်လာတဲ့အခါမှာတော့ ဒီနားလည်မှုဟာမှန်ကန်မှု မရှိတော့ပါဘူး။  ဘာလို့လည်းဆိုတော့ .Net ဟာ Cross Platform တစ်ခုဖြစ်လာလို့ပါပဲ။  Cross Platform ဖြစ်တဲ့အတွက်မည်သည့် OS မှာမဆို (လက်ရှိအချိန်ထိတော့ Windows, Linux, MacOS ၃မျိုးကို ထောက်ပံ့ပေးထားပါတယ်။) အလုပ်လုပ်နိုင်တဲ့အတွက်ကြောင့်ဖြစ်တယ်။  .Net Core ဟာ Cross Platform ဖြစ်တဲ့အပြင် ၄င်းရဲ့ အခြားနောက်ထပ် ထူးခြားတဲ့လက္ခဏာတွေကတော့...

Open Source ဖြစ်ခြင်း
- Open Source ဖြစ်တဲ့အတွက် .Net Core Project ဖန်တီးမှုတွေမှာ ပါဝင်အားဖြည့်လို့ရပါတယ်။  အဲ့ဒီအတွက်လည်း GitHub မှာ .Net Core Repositories တွေကို Hosting လုပ်ထားပါတယ်။

Flexible Deployment လုပ်နိုင်ခြင်း
- Project တစ်ခုကို Deployment လုပ်တဲ့အခါမှာ သီးသန့် Install လုပ်ထားတဲ့ .Net Core Framework ပေါ်မှာမှီခိုပြီး အလုပ်လုပ်လို့ရသလို၊ မမှီခိုပဲ Project နှင့်အတူ .Net Core Framework ကိုပါတခါတည်း ထည့်သွင်းပြီးတော့လည်း အလုပ်လုပ်လို့ရတယ်။

Modular ဖြစ်ခြင်း
- .Net Core ထဲမှာရှိတဲ့ Assembly Package တွေကို သက်ဆိုင်ရာ လုပ်ဆောင်ချက်အလိုက် ခွဲထုတ်ပြီး ပေါင်းစည်းထားတာကြောင့် Modular ကဲ့သို့ဖြစ်နေပါတယ်။  ထို့ကြောင့် Project တစ်ခုအတွက် Assembly Package တွေကို အကုန်လုံးထည့်သွင်းလုပ်ဆောင်စရာမလိုပဲ၊ လိုအပ်တဲ့ Assembly Package တွေပဲထည့်ထားရုံနှင့် အလုပ်လုပ်နိုင်တယ်။

Multiple Programming Langauges နှင့်ရေးသားနိုင်ခြင်း
- Windows Platform မှာ ထင်ရှားတဲ့ Programming Language တွေဖြစ်တဲ့ C# နှင့် F# (VB ကိုလည်း .Net Core ထဲမှာ နောက်ပိုင်းထည့်သွင်းမယ်လို့ ပြောဆိုထားပေမယ့် အခုအချိန်ထိတော့ VB ကိုထောက်ပံ့ပေးမထားပါဘူး။) စသည်တို့နှင့် မိမိဖန်တီးချင်တဲ့ Application တွေကို ဖန်တီးလို့ရပါတယ်။  Application တွေဆိုတာ Windows, Web နှင့် Mobile စသည့် Application အမျိုးအစားတွေကိုပြောတာဖြစ်ပါတယ်။

Cloud Ready ဖြစ်ခြင်း
- Cloud ကိုအခြေခံတဲ့ Internet Application တွေကို အဆင်သင့်ဖန်တီးနိုင်ပါတယ်။  IoT App, Mobile Backend စသည့် Application မျိုးတွေဖြစ်ပါတယ်။

.Net Core ကို Download ချပြီး Install လုပ်ချင်ရင် ဒီနေရာမှာ လုပ်လို့ရပါတယ်။

.Net Core Application တွေဖန်တီးဖို့ဘာလိုမလဲ။
.Net Core နှင့် Application တွေဖန်တီးဖို့ မည်သည့် IDE - Integrated Development Environment မှမရှိလည်းဖြစ်ပါတယ်။  သို့သော် IDE တစ်ခုဖြစ်တဲ့... ဥပမာ Visual Studio နှင့် Application တွေဖန်တီးမယ်ဆိုရင်တော့ ပိုပြီးကောင်းမွန်ပါတယ်၊ လွယ်ကူပါတယ်။  အကယ်၍ Visual Studio ကို Download ချချင်တယ်ဆိုရင်တော့ ဒီနေရာမှာ Visual Community Edition ကို Download ချပြီးအသုံးပြုနိုင်ပါတယ်။  Community Edition ဟာ ကျောင်းသားတွေ၊ တကိုယ်တော် Coder တွေ နှင့် အခြား လေ့လာချင်သူတွေအတွက် Free ပေးထားတဲ့ Edition ဖြစ်ပါတယ်။  Visual Studio ကို Windows၊ Mac နှင့် Linux တွေမှာ Install လုပ်လို့ရပါတယ်။ အကယ်၍ Visual Studio မသုံးချင်ဘူးဆိုရင် အခြား IDE တွေလည်းရှိပါတယ်။  အဲ့ဒါတွေကတော့ OmniSharp နှင့် JetBrains Rider တို့ပဲဖြစ်ပါတယ်။

.Net Core Architecture Diagram

(Microsoft မှပုံဖြစ်ပါသည်။)

Microsoft မှာ ယခင်က .Net Framework ဆိုတာရှိပေမယ့်၊ အပေါ်မှာပြောခဲ့သလို ထူးခြားတဲ့ လက္ခဏာတွေပါတဲ့ .Net Core Framework တစ်ခုကို အသစ်သီးသန့်ဖန်တီးခဲ့တာဖြစ်ပါတယ်။  .Net Framework ထဲမှာ အဓိကပါဝင်တာက CLR (Common Language Runtime) နှင့် FCL (Functional Class Library) ဖြစ်ပါတယ်။  ၄င်းကဲ့သို့ပဲ .Net Core ထဲမှာလည်း Core CLR နှင့် Core FX (Core Libraries) ဆိုတာပါဝင်ပါတယ်။  Core CLR နှင့် Core FX ကိုမည်သည့် OS (Operation System) မှာမဆို အလုပ်လုပ်နိုင်အောင်ဖန်တီးထားတာဖြစ်ပါတယ်။  .Net Core ရဲ့အပေါ်မှာရှိတဲ့ အစိတ်အပိုင်း ၂ခုကတော့ Web နှင့်သက်ဆိုင်တဲ့ ASP.Net Core နှင့် ASP.Net Core MVC တို့ပဲဖြစ်ပါတယ်။

နမူနာ .Net Core Project တစ်ခုဖန်တီးခြင်း
.Net Core နှင့် Project တစ်ခုကို Visual Studio မပါပဲနှင့် Command Prompt ကနေဖန်တီးကြည့်မယ်။
Windows + R နှိပ်ပြီး cmd ဖြင့် Command Prompt ထဲကို ဝင်လိုက်မယ်။
ပြီးရင် dotnet + Enter နှိပ်လိုက်ပါက အောက်ပါအတိုင်း Command Prompt မှာ မြင်တွေ့ရလိမ့်မယ်။


.Net Core Version နှင့် dotnet Command နောက်မှာထပ်ဖြည့်သုံးနိုင်တဲ့ Options တွေကို မြင်တွေ့ရလိမ့်မယ်။
အရင်ဆုံး Project ကိုသိမ်းဖို့ Folder တစ်ခုကို md sampleprj + Enter နှိပ်ပြီး ဖန်တီးလိုက်မယ်။  Project သိမ်းမယ့် Folder အမည်ကို sampleprj လို့ပေးလိုက်တယ်။
cd sampleprj + Enter နှိပ်ပြီး sampleprj Folder ထဲကို ဝင်လိုက်မယ်။  အောက်ပါအတိုင်း Command Prompt မှာမြင်တွေ့ရလိမ့်မယ်။


dotnet new mvc + Enter နှိပ်ပြီး .Net Core MVC Project တစ်ခုဖန်တီးကြည့်လိုက်မယ်။  အောက်ပါအတိုင်း Command Prompt မှာမြင်တွေ့ရလိမ့်မယ်။


.Net Core Command (CLI - Command Line Interface) တွေနှင့်ပတ်သက်ပြီး အသေးစိတ်လေ့လာချင်ရင် ဒီနေရာမှာ လေ့လာလို့ရပါတယ်။  dotnet new mvc + Enter Command က MVC Project အတွက်လိုအပ်တဲ့ဖိုင်တွေကို ဖန်တီးပေးတယ်၊  Windows Explorer ထဲမှာသွားကြည့်ရင် File တွေကို ယခုလိုမြင်တွေ့ရလိမ့်မယ်။


ပြီးရင် Command Prompt ဘက်ကိုပြန်သွားပြီး dotnet restore + Enter နှိပ်ပြီး Project အတွက်လိုအပ်တဲ့ ဖိုင်တွေကို ထည့်သွင်းပေးရမယ်။  restore လုပ်ပြီးသွားရင် Command Prompt မှာ အောက်ပါအတိုင်း မြင်တွေ့ရလိမ့်မယ်။


ပြီးရင် ဖန်တီးထားတဲ့ Project ကို dotnet run + Enter နှိပ်ပြီး Run ကြည့်လိုက်မယ်။  အောက်ပါအတိုင်း မြင်တွေ့ရလိမ့်မယ်။

Project က MVC Web Site အမျိုးအစားဖြစ်တဲ့အတွက် Browser မှာ Run လိုက်တဲ့ Result ကိုဖွင့်ကြည့်ရမှာဖြစ်တယ်။  Command Prompt မှာလည်း Now listening on: http://localhost:5000 ဆိုတဲ့ Status တစ်ခုတွေ့လိမ့်မယ်။  အဲ့ဒီ localhost Address ကို Browser မှာဖွင့်ကြည့်လိုက်ရင် အောင်ပါအတိုင်းမြင်တွေ့ရလိမ့်မယ်။


.Net Core Project ကို Visual Studio ကနေ ဖန်တီးမယ်ဆိုရင် လွယ်ပါတယ်။  Command Prompt ကနေ ဖန်တီးမှု၊ လုပ်ဆောင်မှုတွေက အခြား Programming Language တစ်ခုဖြစ်တဲ့ Note.js  နှင့်အနည်းငယ် ဆင်တူပါတယ်။  .Net Core ထဲမှာ အခြား Project တွေကိုလည်း အခုလို ဖန်တီးနိုင်ပါတယ်။  .Net Core ကိုအပြည့်အစုံ လေ့လာချင်တယ်ဆိုရင် ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။

မှတ်စုရေးသူအကြောင်း

Ko Sagaing / Software Engineer

နာမည်အရင်းမှာ လှိုင်မင်းထက်ဖြစ်ပြီး၊ ကိုစစ်ကိုင်းဆိုသည့် နာမည်ပြောင်နှင့် မိတ်ဆွေ၊ သူငယ်ချင်းများက ရင်းနှီးစွာခေါ်ကြပါသည်။ ယခင်ကမြန်မာနိုင်ငံတွင် သင်ကြားရေး နှင့် Software Development လုပ်ငန်းများတွင် ဝင်ရောက်လုပ်ကိုင်ခဲ့ပြီး၊ ယခုလက်ရှိမှာ စင်ကာပူနိုင်ငံရှိ နည်းပညာကုမ္ပဏီတစ်ခုတွင် ဝင်ရောက်လုပ်ကိုင်နေပါသည်။

0 ခုမှတ်ချက်ပေးထားတယ်။:

Post a Comment

ကိုစစ်ကိုင်း၏ မှတ်စုများ. Powered by Blogger.