Dart for Beginner

Dart for Beginners – Part 1

အားလုံးပဲ မင်္ဂလာပါ။ ကျွန်တော် ဒီအပိုင်းမှာတော့ Dart Programming Language ကို Beginner တွေအတွက် ရည်ရွယ်ပြီး ရေးမှာ ဖြစ်ပါတယ်။ အရင်ရေးနေတဲ့ Dart အခြေခံများ အပိုင်းတွေက တကယ် Development အပိုင်းကို သွားမယ့်သူတွေအတွက် ရည်ရွယ်ပြီး ရေးနေတာဖြစ်ပါတယ်။ ဒီအပိုင်းမှာတော့ Absolute Beginner တွေအတွက် ရေးမှာပါ။

Dart Environment ကို ဘယ်လို တည်ဆောက်မလဲ

Dart SDK ကို သွင်းတဲ့အခါ ကိုယ်သုံးတဲ့ OS အပေါ်မှာ မူတည်ပြီး ကွဲပြားခြားနားမှု ရှိနိုင်ပါတယ်။ IDE အနေနဲ့ကတော့ Android Studio, IntelliJ Idea ဒါမှမဟုတ် Visual Studio Code စတာတွေ သုံးနိုင်ပါတယ်။ (ကျွန်တော်အနေနဲ့ကတော့ Flutter ပါ ရေးဖို့ ရည်ရွယ်တဲ့အတွက် ပေါ့လဲပေါ့သလို Platform-oriented Language တွေကို ရွေးချယ်နိုင်တဲ့ (ဥပမာ – ​Java နဲ့ Kotlin ရွေးချယ်နိုင်တာမျိုး၊ Objective-C နဲ့ Swift ကို​ရွေးချယ်နိုင်တာမျိုးအတွက်ပါ) IntelliJ Idea Community Edition ကို သဘောကျပါတယ်။ အွန်လိုင်းမှာ အခမဲ့ရယူနိုင်ပါတယ်။

Dart SDK

Windows မှာ ရေးမယ်ဆိုရင်တော့ Dart Installer ကနေ Installer ရယူပြီး Install ပြုလုပ်နိုင်ပါတယ်။ တစ်ခြား OS တွေအတွက် ဆိုရင်တော့ Get Dart ကို သွားပြီး အဲဒီမှာ​ ပြောထားတဲ့အတိုင်း ရယူ ထည့်သွင်းနိုင်ပါတယ်။

အဲဒီလို SDK ထည့်သွင်းပြီးရင်တော့ Dart Plugin ကို IDE မှာ install လုပ်ပေးဖို့ လိုမှာ ဖြစ်ပါတယ်။

Plugins in IntelliJ Idea

အဲဒီလို ရွေးပြီးရင်တော့ Dart ဆိုပြီး ရိုက်ရှာလိုက်ပါ။ အင်တာနက်ချိတ်ထားဖို့တော့ လိုအပ်မှာ ဖြစ်ပါတယ်။

Dart Plugin

Dart Project တစ်ခု စရေးရအောင်

Dart Project တစ်ခု စရေးနိုင်ဖို့အတွက် ကျွန်တော်တို့ အောက်ပါအတိုင်း​ ရွေးချယ်ပေးဖို့ လိုအပ်မှာ ဖြစ်ပါတယ်။ IntelliJ Idea မှာ Create New Project ဆိုပြီး Project တစ်ခု ဆောက်လိုက်ပါ။

Choose your Dart Project

Dart SDK Path ကို ရွေးချယ်တဲ့အခါ ကျွန်တော် အခုပြထားတာက Windows အတွက် ဖြစ်ပါတယ်။ သူ့ OS နဲ့သူ လမ်းကြောင်းတွေက တူမှာမဟုတ်ပါဘူး။ အဲဒီလို SDK ကို ရွေးပြီးရင် Generate Sample Content ကို Tick လုပ်ပြီး Console Application ကို ရွေးချယ်ပေးဖို့ လိုပါလိမ့်မယ်။

ဒီနေရာမှာ ကျွန်တော်တို့ အနေနဲ့ Console Application အသုံးပြုပြီး လေ့လာသွားမှာ ဖြစ်ပါတယ်။ Dart အနေနဲ့ Web Platform အတွက် အပြင် တစ်ခြားဟာတွေပါ ရွေးချယ်လို့ ရနိုင်ပါတယ်။ တစ်ခြား ရွေးချယ်စရာ တစ်ခုအနေနဲ့ Dart Pad ကို အသုံးပြုပြီး Online မှာ Dart Program တွေကို တိုက်ရိုက်ရေးသား Run ကြည့်လို့ရပါတယ်။

Hello World

ကျွန်တော်တို့တွေ အစဉ်အလာအတိုင်း Hello World နဲ့ စလိုက်ရအောင်။ bin folder ထဲက main.dart မှာ အောက်ပါအတိုင်း ရေးလိုက်ပါမယ်။ main() { } block ဟာ စမှတ်ပါ။ အထဲမှာ ရေးထားတဲ့ print ဆိုတာကတော့ “Hello World” ကို ရိုက်ထုတ်လိုက်ပါလို့ ပြောတာ ဖြစ်ပါတယ်။

Run (Shift + f10)

Run ဆိုတဲ့ Button လေးကိုနှိပ်လိုက်မယ်ဆိုရင် အောက်မှာပြထားတဲ့အတိုင်း Result ရိုက်ထုတ်ပြမှာ ဖြစ်ပါတယ်။

Hello World Result

Dart Language ဆိုတာ ဘယ်လို Programming Language အမျိုးအစားလဲ

Dart ဟာ Pure Object-Oriented Programming ဖြစ်ပါတယ်။ Java လို တစ်ချို့ Variable တွေဟာ Primitive Data Type တွေ ဖြစ်နေတာ မဟုတ်ပဲ ဘယ် Variable မဆို Object တွေ ဖြစ်ပါတယ်။ ဘယ် Variable ကိုမဆို ကြေငြာလိုက်ပြီဆိုတာနဲ့ Object ဆိုတဲ့ class ကနေ အလိုအလျှောက် ရယူထားတယ်ဆိုတာ နားလည်ထားဖို့ လိုပါတယ်။

Variables များ သတ်မှတ်ခြင်း

ကျွန်တော်တို့ Programming Language တစ်ခုကို စပြီး လေ့လာမယ်ဆိုတာနဲ့ Variable တွေ ဘယ်လို သတ်မှတ်မလဲဆိုတာ အရင်ဆုံး စလေ့လာဖို့ လိုပါတယ်။ Dart မှာ အောက်ပါအတိုင်း Variable တွေ သတ်မှတ်လို့ရပါတယ်။

Variable တွေကို သတ်မှတ်တဲ့အခါ JavaScript မှာ var ဆိုပြီး သတ်မှတ်ပေးလို့ရပါတယ်။

ဒါပေမယ့် Loosely Typed Variable ပုံစံမဟုတ်ပါဘူး။ JavaScript မှာတုန်းက var နဲ့ သတ်မှတ်ပြီး variable type ကို ချိန်းသွားလို့ရပါတယ်။ ဒီမှာတော့ အဲဒီလို မရပါဘူး။ တစ်ဖက်မှာရှိတဲ့ Value ရဲ့ data type အပေါ် မူတည်ပြီး Variable Type ကို သတ်မှတ်သွားပါတယ်။ ပြီးရင် type ကို ထပ်ချိန်းလို့မရတော့ပါဘူး။

အဲဒီအပြင် variable type တွေကို ရှေ့မှာရေးပြီး ကြေငြာလို့လဲ ရပါတယ်။ အဲဒီမှာတော့ String တစ်ခုပဲ စာလုံးအကြီးနဲ့ စပါတယ်။ ကျန်တာအားလုံးကတော့ စာလုံးအသေးပါ။

final နဲ့ const ကတော့ လုံးဝမပြောတော့တဲ့ တန်ဖိုးတွေ သတ်မှတ်ဖို့အတွက် ဖြစ်ပါတယ်။ final နဲ့ const ကွာတာ တစ်ခုတော့ ရှိပါတယ်။ const က compile time constants တွေ ဖြစ်ပြီး final ကတော့ runtime constant ဖြစ်ပါတယ်။ နားလည်လွယ်အောင် ပြောရရင်တော့ ကားတစ်စီးကို စက်မနိုးခင်ကတည်းက ဆီထည့်ထားမှသာ နိုးလို့ရမှာ ဖြစ်ပါတယ်။ အဲဒီ ဆီကို compile time constant လို့ ခေါ်ဆိုနိုင်ပါတယ်။ ရေဖြည့်တာတော့ စက်နိုးထားတဲ့ အချိန်မှာလဲ ဖြည့်လို့ရပါတယ်။ အဲဒီရေကို runtime constant လို့ အကြမ်းအားဖြင့် သတ်မှတ်ထားလို့ ရပါတယ်။

ဆက်ပါဦးမယ် (ဖတ်လို့ အဆင်ပြေတယ် ဆက်ဖတ်ချင်တယ်ဆိုရင် Social Network မှာ Share ပေးပါဦးခင်ဗျ)