Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาดูกันว่า Swift และ Kotlin มันเหมือนหรือต่างกันอย่างไร ?

$
0
0

Kotlin-logo

Screen Shot 2559-04-03 at 10.31.01 PM จากงาน iOS Dev Meetup #4 มีการพูดถึงภาษา Kotlin กันพอสมควร ว่าตัวภาษามันเกือบจะเหมือนกับภาษา Swift เลย ต่างกันเพียง
  • Swift ใช้สำหรับพัฒนา iOS app
  • Kotlin ใช้สำหรับพัฒนา Android app
ดังนั้นถ้าพัฒนา Mobile app ด้วยสองภาษานี้ ก็น่าจะทำให้การพัฒนา app มันง่ายขึ้น หรือสามารถใช้แนวคิดในการพัฒนาเหมือนหรือคล้ายกันไปได้เลย ส่งผลให้การดูแลรักษาระบบงานมันง่ายขึ้น !! ดังนั้นมาดูว่าทั้งสองภาษานี้เหมือนหรือต่างกันอย่างไรบ้าง เพื่อทำให้การศึกษาภาษาใหม่ ๆ ง่ายขึ้น มาเริ่มนับ 1 กับ ภาษา Kotlin กัน อย่างแรกเลยคือ Semicolon คือ optional จะบอกไปทำไมล่ะเนี่ย !!
Swift คือภาษา self Kotlin คือภาษา this
การประกาศตัวแปร ใช้ var เหมือนกันทั้ง infer type และ explicit type [gist id="1159a6806ec9deb92ce705ac7c30e64b" file="variable.txt"] การประกาศแปรแบบ Immutable ใน swift จะใช้ let ส่วน Kotlin ใช้ val ดังนี้ [gist id="1159a6806ec9deb92ce705ac7c30e64b" file="immutable.txt"] เรื่องของ Optional และ Nullable เหมือนกันเลย [gist id="1159a6806ec9deb92ce705ac7c30e64b" file="optional.txt"] แถม Type checking และ Casting ก็เหมือนกันอีก [gist id="1159a6806ec9deb92ce705ac7c30e64b" file="cast.txt"] ดูเรื่องของ String template หน่อยสิ มันก็ต่างกันนิดหน่อย ดังนี้ [gist id="1159a6806ec9deb92ce705ac7c30e64b" file="string.txt"] การสร้าง function ต่างกันที่ keyword สำหรับประกาศ function Swift ใช้ func Kotlin ใช้ fun (ภาษาสนุก !!) และสัญลักษณ์ของการ return นั่นเอง [gist id="1159a6806ec9deb92ce705ac7c30e64b" file="function.txt"] ส่วนการเรียกใช้งาน function นั้น สิ่งที่แตกต่างกันคือ Swift นั้นต้องใช้ name parameter Kotlin ไม่ต้อง [gist id="1159a6806ec9deb92ce705ac7c30e64b" file="call_function.txt"] การสร้าง class ต่างกันในส่วนของ constructor คือ Swift ใช้ init() Kotlin ใช้ constructor() [gist id="1159a6806ec9deb92ce705ac7c30e64b" file="class.txt"] การสร้าง instance ใหม่ขึ้นมาก็เหมือนกัน การ overriding ระดับ function ก็เหมือนกันอีก !! ยังไม่พอนะ Swift มี protocol Kotlin มี trait มีอะไรอีกล่ะ !! Enum ก็แล้วกัน ต่างกันนิดหน่อย คือ Kotlin จะมี keyword class ด้วยดังนี้ [gist id="1159a6806ec9deb92ce705ac7c30e64b" file="enum.txt"] และอื่นๆ อีกมากมาย
สุดท้ายแล้ว ทั้งสองภาษามันคล้ายกันมาก ๆ เราศึกษาทั้งสองภาษาไปพร้อม ๆ กันได้เลย ดังนั้นเริ่มศึกษาทั้งภาษา Swift และ Kotlin กันเถอะนะ
Reference Websites https://nilhcem.github.io/swift-is-like-kotlin/

Viewing all articles
Browse latest Browse all 1997

Trending Articles