Welcome to Swift!

Apo
Technologies For Everyone
2 min readMar 20, 2017

--

Swift เป็นภาษาคอมพิวเตอร์สำหรับพัฒนาแอพพลิเคชั่นของ macOS iOS watchOS และ tvOS ที่ทั้งทรงพลังและใช้งานง่ายมากๆ จนทำให้การเขียน Swift code นั้นสนุกกว่าการเขียนโปรแกรมภาษาอื่นๆ รูปแบบการเขียนของ Swift นั้นก็ไม่ยาก มันทำให้โปรแกรมดูกระชับและเข้าใจง่ายเหมือนการเขียนประโยคทั่วๆไปในชีวิตประจำวันของเรา นอกเหนือจากนั้น Swift ยังมีความพิเศษอีกหลายอย่างที่ทำให้นักพัฒนาหลายต่อหลายคนต้องตกหลุมรัก

Swift

Introducing Swift 3

Swift 3 คือการผสมผสานอย่างลงตัวของภาษาและการแสดงผลสำหรับผู้ใช้ การปรับปรุงของ Swift ทำให้การเขียนโปรแกรมของเราดูเป็นธรรมชาติในขณะที่โปรแกรมของเรามีการพัฒนาอย่างต่อเนื่อง ตัวอย่างเช่น การใช้งานตัวแปรสำหรับการระบุวันและเวลาที่ทำได้เร็วกว่าที่ผ่านมา และการใช้ตัวแปรสำหรับการระบุวันในปฎิทินที่ทำให้รู้สึกเหมือนการใช้งานในชีวิตจริง

“เมื่อก่อนอาจแทนวันจันทร์ด้วยเลข 1 แต่ Swift 3 แทนด้วย Monday ได้เลย”

Why Swift?

ทุกครั้งที่เราเจอภาษาใหม่ๆ เราก็มักจะเกิดคำถามอยู่เสมอ ว่าเป้าหมายของการออกแบบภาษานั้นๆขึ้นมาคืออะไร สำหรับ Swift แล้ว มันถูกออกแบบมาเพื่อ “แทนที่” ภาษา Objective-C เพราะภาษา Objective-C นั้นมีข้อบกพร่องเยอะ แต่การที่จะพูดว่า Swift เป็นภาษาที่ทันสมัยกว่า Objective-C โดยไม่ได้ระบุเหตุผล ก็อาจไม่น่าเชื่อเท่าไหร่ ดังนั้นจึงต้องมาดูกันว่า อะไรที่ทำให้ Swift เป็นภาษาที่ทันสมัยกว่า Objective-C

  • Easier to read
    Swift ก็เหมือนภาษาอังกฤษทั่วๆไป ทำให้มันง่ายต่อการอ่าน ไม่ว่าจะเป็นนักพัฒนาจากภาษาไหนๆ ก็สามารถที่จะปรับเปลี่ยนมาใช้ Swift ได้
Xcode
  • Easier to maintain
    Xcode และ LLVM เป็น compiler สำหรับ Swift ที่สามารถระบุการเกี่ยวข้องกันของส่วนของโปรแกรมได้ ดังนั้น การแบ่ง Header file (.h) ออกจาก Implementation file (.m) ก็จะเป็นสิ่งเก่าๆ Swift จะทำให้ทั้งสองส่วนรวมกันเป็นไฟล์เดียว (.swift)
  • Safer
    สิ่งที่น่าสนใจอีกอย่างของ Objective-C คือเมื่อเราพยายามที่จะเรียก method ที่มี pointer variable เป็น nil(null) แล้ว ทั้งคำสั่งจะไม่ถูกประมวลผล ดูเหมือนว่าจะเป็นข้อดีที่โปรแกรมจะสามารถ execute ต่อไปได้ แต่จริงๆแล้วมันจะทำให้เกิด bugs เยอะมาก
  • Unified with memory management
    เมื่อก่อนนักพัฒนาจะต้องเป็นคนจัดการ memory เอง แต่ตอนนี้ Automatic Reference Counting (ARC) จะทำหน้าที่นี้แทน ทำให้ตอนนี้นักพัฒนาสามารถให้ความสนใจแก่ตัวของผลงานได้มากขึ้น
  • Requires less code
    Swift ลดจำนวนของ code ที่จำเป็นต่อการทำคำสั่งซ้ำและการจัดการ string ได้ จากที่เคยใช้ code จำนวนมากในการนำเอา string 2 ตัวมาต่อกันก็แทนที่ด้วย operator + ได้เลย
  • Faster
    อ้างอิงจากผลการทดลองของ Primate Labs ผู้พัฒนาโปรแกรม GeekBench อันโด่งดัง พบว่า Swift เร็วขึ้นจริงๆ
  • Fewer name collision with open source project
    Swift มี namespace ที่เชื่อมต่อถึงกันได้ทั้งโปรแกรมโดย classes หรือ values ก็จะมี namespace identifier ของตัวเอง ทำให้เราสามารถมีไฟล์ที่ทั้งชื่อและเนื้อหาเหมือนกันอยู่ในโปรแกรมเดียวกันได้
  • Supports dynamic libraries
    การเปลี่ยนแปลงครั้งใหญ่ของ Swift ที่ไม่ค่อยได้รับความสนใจก็คือการเปลี่ยนมาใช้ dynamic libraries สิ่งนี้จะทำให้แอพพลิเคชั่นเก่าๆสามารถเชื่อมต่อกับ Swift เวอร์ชันใหม่ได้
Swift Playground on iPad
  • Playground encourages interactive coding
    Playground คือที่ที่นักพัฒนาสามารถสร้างส่วนของโปรแกรมขึ้นมา เพื่อทำการทดลองก่อนที่ะนำไปพัฒนาต่อได้ โดยที่ไม่ต้องสร้างทั้งแอพลิเคชั่น
  • Swift is a future you can influence
    Swift มี community ที่สามารถสื่อสารโดยตรงกับนักพัฒนาทั่วทุกมุมโลกได้ ทำให้การเรียน Swift นั้นไม่ยาก

--

--

Apo
Technologies For Everyone

GC#1 CKK || ENTANEER GEAR 45 CMU || CPE 23 CMU || #sir(61)(64)(61) ......