Codelab นี้เป็นส่วนหนึ่งของหลักสูตร Kotlin Bootcamp สำหรับโปรแกรมเมอร์ คุณจะได้รับประโยชน์สูงสุดจากหลักสูตรนี้หากทำตาม Codelab ตามลำดับ คุณอาจข้ามบางส่วนได้ ทั้งนี้ขึ้นอยู่กับความรู้ของคุณ หลักสูตรนี้เหมาะสำหรับโปรแกรมเมอร์ที่รู้จักภาษาเชิงวัตถุและต้องการเรียนรู้ Kotlin
บทนำ
หลักสูตร Kotlin Bootcamp for Programmers จะสอนภาษาโปรแกรม Kotlin ใน Codelab นี้ คุณจะได้เรียนรู้ข้อดีของการเขียนโปรแกรมในภาษาโปรแกรม Kotlin และติดตั้ง IDE เพื่อเตรียมพร้อมสำหรับบทเรียนแรก
หลักสูตรนี้เหมาะสำหรับโปรแกรมเมอร์ที่รู้จักภาษาเชิงวัตถุและต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Kotlin หากคุณคุ้นเคยกับ C# คุณจะคุ้นเคยกับฟีเจอร์บางอย่างของ Kotlin หากคุณคุ้นเคยกับภาษาโปรแกรม Java เป็นหลัก คุณอาจประหลาดใจที่โค้ดของคุณกระชับและอ่านง่ายขึ้นมาก
ตั้งแต่ปี 2017 Google ได้รองรับ Kotlin อย่างเป็นทางการสำหรับการพัฒนาแอป Android อ่านประกาศได้ที่บล็อกของนักพัฒนาแอป Android เนื้อหาหลักสูตรนี้เป็นข้อกำหนดเบื้องต้นของหลักพื้นฐานของ Android Kotlin
สิ่งที่คุณควรทราบอยู่แล้ว
คุณควรคุ้นเคยกับสิ่งต่อไปนี้
- พื้นฐานของภาษาโปรแกรมเชิงวัตถุที่ทันสมัยซึ่งมีการพิมพ์แบบคงที่ เช่น Java หรือ C#
- วิธีเขียนโปรแกรมด้วยคลาส เมธอด และการจัดการข้อยกเว้นในภาษาอย่างน้อย 1 ภาษา
- การใช้ IDE เช่น IntelliJ IDEA, Android Studio, Eclipse หรือ Visual Studio
สิ่งที่คุณจะได้เรียนรู้
- วิธีทำงานกับเชลล์แบบอินเทอร์แอกทีฟ Kotlin REPL (Read-Eval-Print Loop)
- ไวยากรณ์พื้นฐานของโค้ด Kotlin
สิ่งที่คุณต้องดำเนินการ
- ติดตั้ง Java Development Kit (JDK) และ IntelliJ IDEA แล้วทำความคุ้นเคยกับฟีเจอร์บางอย่างของ Kotlin
Kotlin เป็นภาษาโปรแกรมใหม่ที่ทันสมัยซึ่งสร้างขึ้นโดยโปรแกรมเมอร์เพื่อโปรแกรมเมอร์ โดยมุ่งเน้นที่ความชัดเจน ความกระชับ และความปลอดภัยของโค้ด
โค้ดที่มีประสิทธิภาพ
ผู้สร้าง Kotlin ได้ตัดสินใจด้านการออกแบบต่างๆ เกี่ยวกับภาษาเพื่อช่วยโปรแกรมเมอร์สร้างโค้ดที่มีประสิทธิภาพ ตัวอย่างเช่น ข้อยกเว้นตัวชี้แบบ Null ในซอฟต์แวร์ทำให้เกิดการสูญเสียทางการเงินและคอมพิวเตอร์ล่มอย่างน่าตกใจ รวมถึงทำให้ต้องใช้เวลาในการแก้ไขข้อบกพร่องเป็นเวลาหลายชั่วโมง ดังนั้น Kotlin จึงแยกความแตกต่างระหว่างประเภทข้อมูลที่กำหนดค่า Null ได้และกำหนดค่า Null ไม่ได้ ซึ่งช่วยตรวจหาข้อผิดพลาดได้มากขึ้นในเวลาคอมไพล์ Kotlin เป็นภาษาที่กำหนดประเภทอย่างเข้มงวด และมีการอนุมานประเภทจากโค้ดของคุณ มีแลมบ์ดา โครูทีน และพร็อพเพอร์ตี้ ซึ่งช่วยให้คุณเขียนโค้ดน้อยลงและมีข้อบกพร่องน้อยลง
แพลตฟอร์มที่พัฒนาแล้ว
Kotlin เปิดตัวตั้งแต่ปี 2011 และเผยแพร่เป็นโอเพนซอร์สในปี 2012 Kotlin เปิดตัวเวอร์ชัน 1.0 ในปี 2016 และตั้งแต่ปี 2017 เป็นต้นมา Kotlin เป็นภาษาที่ได้รับการสนับสนุนอย่างเป็นทางการสำหรับการสร้างแอป Android ซึ่งรวมอยู่ใน IntelliJ IDEA รวมถึง Android Studio 3.0 ขึ้นไป
โค้ดที่กระชับและอ่านง่าย
โค้ดที่เขียนใน Kotlin จะกระชับมาก และภาษาได้รับการออกแบบมาเพื่อขจัดโค้ดสำเร็จรูป เช่น Getter และ Setter ตัวอย่างเช่น ลองพิจารณาโค้ด Java ต่อไปนี้
public class Aquarium {
private int mTemperature;
public Aquarium() { }
public int getTemperature() {
return mTemperature;
}
public void setTemperature(int mTemperature) {
this.mTemperature = mTemperature;
}
@Override
public String toString() {
return "Aquarium{" +
"mTemperature=" + mTemperature +
'}';
}
}
คุณเขียนโค้ดนี้ใน Kotlin ได้อย่างกระชับดังนี้
class Aquarium (var temperature: Int = 0)
บางครั้งเป้าหมายของความกระชับและความสามารถในการอ่านอาจขัดแย้งกัน Kotlin ออกแบบมาให้ใช้ "โค้ดบอยเลอร์เพลตที่เพียงพอ" เพื่อให้มั่นใจว่าอ่านง่ายในขณะที่ยังคงความกระชับ
ทำงานร่วมกับ Java ได้
โค้ด Kotlin จะคอมไพล์เพื่อให้คุณใช้โค้ด Java และ Kotlin ควบคู่กันไปได้ และใช้ไลบรารี Java ที่ชื่นชอบต่อไปได้ คุณสามารถเพิ่มโค้ด Kotlin ลงในโปรแกรม Java ที่มีอยู่ หรือหากต้องการย้ายข้อมูลโปรแกรมทั้งหมด IntelliJ IDEA และ Android Studio ต่างก็มีเครื่องมือในการย้ายข้อมูลโค้ด Java ที่มีอยู่ไปยังโค้ด Kotlin
หากยังไม่ได้ติดตั้ง JDK เวอร์ชันล่าสุดในคอมพิวเตอร์ ให้ทำตามขั้นตอนด้านล่าง คุณต้องติดตั้ง JDK เพื่อเรียกใช้โปรแกรม Kotlin
หากต้องการดูว่าคุณติดตั้ง JDK เวอร์ชันใดไว้หรือไม่ ให้พิมพ์ javac -version
ในหน้าต่างเทอร์มินัล
javac -version
คุณดู JDK เวอร์ชันล่าสุดได้ในหน้าการดาวน์โหลด Java SE หากคุณมีเวอร์ชันล่าสุดอยู่แล้ว ให้ข้ามไปยังส่วนติดตั้ง IntelliJ IDEA
ขั้นตอนที่ 1: ถอนการติดตั้ง JDK/JRE เวอร์ชันเก่า
ก่อนที่จะติดตั้งเวอร์ชันล่าสุดและดีที่สุด ให้นำ JDK เวอร์ชันเก่าทั้งหมดออกโดยทำดังนี้
- สำหรับ Windows ให้เลือกแผงควบคุม > เพิ่ม/นำโปรแกรมออก
- ดูวิธีการสำหรับ Mac ได้ที่การถอนการติดตั้ง JDK
ดูข้อมูลเพิ่มเติมเกี่ยวกับการถอนการติดตั้ง JRE เวอร์ชันเก่าได้ที่ฉันจะถอนการติดตั้ง Java ใน Mac ได้อย่างไร หรือฉันจะถอนการติดตั้ง Java ในคอมพิวเตอร์ Windows ได้อย่างไร
ขั้นตอนที่ 2: ดาวน์โหลด JDK
คุณดาวน์โหลด JDK ได้ฟรีที่
http://www.oracle.com/technetwork/java/javase/downloads/index.html
- คลิกปุ่มดาวน์โหลดใต้ JDK สำหรับ Java SE เวอร์ชันล่าสุด
- เลือกยอมรับข้อตกลงใบอนุญาต
- เลือก JDK สำหรับระบบปฏิบัติการของคุณ
ขั้นตอนที่ 3: ติดตั้ง JDK (สำหรับ Mac)
จากหน้าต่างดาวน์โหลดของเบราว์เซอร์หรือจากเบราว์เซอร์ไฟล์ ให้ดับเบิลคลิกไฟล์ .dmg
เพื่อเปิดไฟล์ติดตั้ง
- หน้าต่าง Finder จะปรากฏขึ้นพร้อมไอคอนกล่องที่เปิดอยู่และชื่อไฟล์
.pkg
- ดับเบิลคลิกไอคอนแพ็กเกจเพื่อเปิดแอปการติดตั้ง แล้วทำตามข้อความที่ปรากฏ
- คุณอาจต้องป้อนรหัสผ่านของผู้ดูแลระบบเพื่อดำเนินการต่อ
- หลังจากติดตั้งเสร็จแล้ว คุณสามารถลบไฟล์
.dmg
เพื่อประหยัดพื้นที่ได้
ขั้นตอนที่ 3: ติดตั้ง JDK และ JRE (สำหรับ Windows)
- เรียกใช้โปรแกรมติดตั้งที่ดาวน์โหลดมา (เช่น
jdk-12_windows-x64_bin.exe
) ซึ่งจะติดตั้งทั้ง JDK และ JRE โดยค่าเริ่มต้น ระบบจะติดตั้ง JDK ในไดเรกทอรีC:\Program Files\Java\jdk-12
JRE จะได้รับการติดตั้งในC:\Program Files\Java\jre1.8.0_x
โดยx
จะแสดงหมายเลขเวอร์ชัน - ยอมรับค่าเริ่มต้น แล้วทำตามวิธีการบนหน้าจอเพื่อติดตั้ง JDK
ขั้นตอนที่ 4: เพิ่มไดเรกทอรีการติดตั้ง JDK และ JRE ลงใน PATH (Windows เท่านั้น)
Windows จะค้นหาโปรแกรมที่เรียกใช้งานได้ในไดเรกทอรีปัจจุบันและไดเรกทอรีที่แสดงอยู่ในตัวแปรสภาพแวดล้อม PATH
(ตัวแปรระบบ)
- เปิด Control Panel > System > Advanced system settings > Environment Variables
- ในส่วนตัวแปรระบบ ให้คลิกใหม่ แล้วเพิ่มตัวแปรชื่อ
JAVA_HOME
โดยใช้ไดเรกทอรีของ JRE เป็นค่า เช่นC:\Program Files\Java\jre1.8.0_x
โดยที่x
คือหมายเลขเวอร์ชัน - ในส่วนตัวแปรระบบ ให้เลื่อนลงเพื่อเลือกเส้นทาง แล้วคลิกแก้ไข
- เพิ่มไดเรกทอรี
bin
ของ JRE ที่จุดเริ่มต้นของPath
ตามด้วยเครื่องหมายเซมิโคลอน:%JAVA_HOME%\bin;
- ต่อท้ายไดเรกทอรี
bin
ของ JDK ที่ท้ายPath
โดยมีเครื่องหมายอัฒภาคคั่น เช่น;C:\Program Files\Java\jdk-12\bin
ขั้นตอนที่ 5: ยืนยันการติดตั้ง JDK
- หากต้องการยืนยันว่าติดตั้ง JDK อย่างถูกต้องแล้ว ให้พิมพ์คำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัล
java -version javac -version
ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้ง IntelliJ IDEA
ดาวน์โหลด IntelliJ IDEA สำหรับระบบปฏิบัติการของคุณ
Windows:
- เรียกใช้ไฟล์
ideaIC.exe
ที่คุณดาวน์โหลด - ทำตามวิธีการในวิซาร์ดการติดตั้ง
Mac:
- หากต้องการเมานต์อิมเมจดิสก์ macOS ให้ดับเบิลคลิกไฟล์
ideaIC.dmg
ที่คุณดาวน์โหลด - คัดลอก IntelliJ IDEA ไปยังโฟลเดอร์ Applications
Linux:
- ดู
Install-Linux-tar.txt
ในไฟล์.tar.gz
ที่ดาวน์โหลด
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีติดตั้งและตั้งค่า IntelliJ IDEA ได้ที่ติดตั้ง IntelliJ IDEA
ขั้นตอนที่ 2: ยืนยันการติดตั้ง IntelliJ IDEA
- เริ่ม IntelliJ IDEA
- ติดตั้งการอัปเดตและเนื้อหาเพิ่มเติมที่ระบบแจ้ง
- เลือกกำหนดค่า > ตรวจหาการอัปเดตจนกว่าจะไม่มีการอัปเดตอีก
สร้างโปรเจ็กต์ Kotlin เพื่อให้ IntelliJ IDEA ทราบว่าคุณกำลังทำงานใน Kotlin
- ในหน้าต่างยินดีต้อนรับสู่ IntelliJ IDEA ให้คลิกสร้างโปรเจ็กต์ใหม่
- ในแผงโปรเจ็กต์ใหม่ ให้เลือก Kotlin ในการนำทางด้านซ้าย
- เลือก Kotlin/JVM ในแผงด้านขวา แล้วคลิกถัดไป
- ตั้งชื่อโปรเจ็กต์
Hello Kotlin
- คลิกเสร็จสิ้น
ตอนนี้คุณเข้าถึง REPL (Read-Eval-Print Loop) ซึ่งเป็นเชลล์แบบโต้ตอบของ Kotlin ได้แล้ว ระบบจะตีความคำสั่งที่คุณพิมพ์ลงใน REPL ทันทีที่คุณกด Control+Enter
(Command+Enter
ใน Mac)
- เลือกเครื่องมือ > Kotlin > Kotlin REPL เพื่อเปิด REPL
- พิมพ์หรือวางโค้ดด้านล่างลงใน REPL
fun printHello() {
println("Hello World")
}
printHello()
- กด
Control+Enter
(Command+Enter
ใน Mac) คุณควรเห็นHello World
ดังที่แสดงด้านล่าง
- ลองดูโค้ด Kotlin นี้
fun
คีย์เวิร์ดจะกำหนดฟังก์ชัน ตามด้วยชื่อ เช่นเดียวกับภาษาโปรแกรมอื่นๆ วงเล็บจะใช้สำหรับอาร์กิวเมนต์ของฟังก์ชัน (หากมี) และวงเล็บปีกกาจะใช้จัดกรอบโค้ดสำหรับฟังก์ชัน ไม่มีประเภทการคืนค่าเนื่องจากฟังก์ชันไม่ได้คืนค่าใดๆ นอกจากนี้ โปรดทราบว่าไม่มีเครื่องหมายอัฒภาคที่ท้ายบรรทัด
ยินดีด้วย คุณได้เขียนโปรแกรม Kotlin โปรแกรมแรกแล้ว
- Kotlin มีลักษณะคล้ายกับภาษาโปรแกรมเชิงวัตถุอื่นๆ
- ติดตั้ง JDK เวอร์ชันล่าสุดสำหรับระบบปฏิบัติการของคุณเพื่อใช้ Kotlin
- ติดตั้ง IntelliJ IDEA เพื่อทำงานกับ Kotlin
- ใน IntelliJ IDEA ให้เริ่ม Kotlin REPL (Tools > Kotlin > Kotlin REPL) เพื่อฝึกฝนในเชลล์แบบอินเทอร์แอกทีฟ
- ป้อนรหัสตามด้วย
Control+Enter
(Command+Enter
ใน Mac) เพื่อเรียกใช้ - นี่คือ "Hello World" ใน Kotlin
fun printHello() {
println ("Hello World")
}
printHello()
เอกสารประกอบ Kotlin
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อใดก็ตามในหลักสูตรนี้ หรือหากคุณติดขัด https://kotlinlang.org คือจุดเริ่มต้นที่ดีที่สุด
บทแนะนำ Kotlin
เว็บไซต์ https://try.kotlinlang.org มีบทแนะนำที่สมบูรณ์ซึ่งเรียกว่า Kotlin Koans, ตัวแปลภาษาบนเว็บ และชุดเอกสารอ้างอิงที่สมบูรณ์พร้อมตัวอย่าง
หลักสูตร Udacity
หากต้องการดูหลักสูตร Udacity ในหัวข้อนี้ โปรดดูค่ายฝึก Kotlin สำหรับโปรแกรมเมอร์
IntelliJ IDEA
เอกสารประกอบสำหรับ IntelliJ IDEA อยู่ในเว็บไซต์ของ JetBrains
ส่วนนี้แสดงรายการการบ้านที่เป็นไปได้สำหรับนักเรียน/นักศึกษาที่กำลังทำ Codelab นี้เป็นส่วนหนึ่งของหลักสูตรที่สอนโดยผู้สอน ผู้สอนมีหน้าที่ดำเนินการต่อไปนี้
- มอบหมายการบ้านหากจำเป็น
- สื่อสารกับนักเรียนเกี่ยวกับวิธีส่งงานที่ได้รับมอบหมาย
- ให้คะแนนงานการบ้าน
ผู้สอนสามารถใช้คำแนะนำเหล่านี้ได้มากน้อยตามที่ต้องการ และควรมีอิสระในการมอบหมายการบ้านอื่นๆ ที่เห็นว่าเหมาะสม
หากคุณกำลังทำ Codelab นี้ด้วยตนเอง โปรดใช้แบบฝึกหัดเหล่านี้เพื่อทดสอบความรู้ของคุณ
ตอบคำถามต่อไปนี้
คำถามที่ 1
ข้อใดต่อไปนี้ไม่ใช่ประโยชน์ของการใช้ภาษา Kotlin
▢ Kotlin แยกความแตกต่างระหว่างประเภทข้อมูลที่กำหนดให้เป็น Null ได้และกำหนดให้เป็น Null ไม่ได้
▢ Kotlin เป็นภาษาที่รองรับสำหรับการสร้างแอป Android
▢ Kotlin ออกแบบมาเพื่อให้คุณเขียนโค้ดได้น้อยลงและมีข้อบกพร่องน้อยลง
▢ โค้ดจะคอมไพล์ได้เร็วขึ้นใน Kotlin
คำถามที่ 2
คุณจะเริ่ม Kotlin REPL ได้อย่างไร
▢ พิมพ์ repl
ในบรรทัดคำสั่ง
▢ สร้างโปรเจ็กต์ Kotlin ใน IntelliJ IDEA แล้วเลือกเรียกใช้ > Kotlin REPL
▢ เปิด IntelliJ IDEA แล้วเลือกFile > Kotlin REPL
▢ สร้างโปรเจ็กต์ Kotlin ใน IntelliJ IDEA แล้วเลือกเครื่องมือ > Kotlin > Kotlin REPL
คำถามที่ 3
ข้อใดต่อไปนี้ไม่เป็นจริงเกี่ยวกับโค้ด Kotlin และ Java
▢ โค้ด Kotlin และโค้ด Java สามารถทำงานควบคู่กันได้
▢ คุณเพิ่มโค้ด Kotlin ลงในโปรแกรม Java ที่มีอยู่ได้
▢ คุณย้ายข้อมูลโค้ด Java ที่มีอยู่ไปยัง Kotlin ได้
▢ โค้ด Kotlin จะทำงานเร็วกว่าโค้ด Java
ไปที่บทเรียนถัดไป:
ดูภาพรวมของหลักสูตร รวมถึงลิงก์ไปยังโค้ดแล็บอื่นๆ ได้ที่ "Kotlin Bootcamp for Programmers: Welcome to the course"