ในงาน WWDC 2024 นอกจาก Apple จะเปิดตัวฟีเจอร์ใหม่ในระบบปฏิบัติการต่าง ๆ แล้ว ยังมีการเปิดตัวเครื่องมือสำหรับนักพัฒนา ที่ช่วยให้การเขียนแอปหรือพัฒนาบริการใหม่ๆ ได้ง่ายขึ้นบนแพลตฟอร์มของ Apple

Xcode 16

Xcode ถือเป็นเครื่องมือหลักที่นักพัฒนาทั่วโลกหลายล้านคน ใช้เพื่อพัฒนาแอปใช้งานบนอุปกรณ์ของ Apple ซึ่งก็มีการพัฒนาฟีเจอร์มาตลอดเพื่อช่วยย่นเวลาในการพัฒนาแอปให้เร็วขึ้น ความพิเศษในปีนี้คือการเปิดตัว Apple intelligence นั่นทำให้ Apple ได้อัปเกรด Xcode 16 ด้วยฟีเจอร์ล้ำๆ ด้วย Generative Model ช่วยให้นักพัฒนาเขียนโค้ดได้เร็วและง่ายขึ้น เรียกว่าเป็นการเปิดประวัติศาสตร์หน้าใหม่ของการเขียนโค้ด

นอกจากนั้น Apple ยังสร้างโมเดลการเขียนโค้ดเฉพาะทางที่รวบรวม API ล่าสุด คุณสมบัติทางภาษา เอกสารประกอบ และโค้ดตัวอย่าง ตลอดจนแนวปฏิบัติที่ดีที่สุดเพื่อใช้เป็นแนวทางในการพัฒนา ซึ่ง 2 ฟีเจอร์ใหม่ใน WWDC 2024 ก็คือ Predictive Code Completion และ Swift Assist

  • Predictive Code Completion

Predictive Code Completion เอา AI มาช่วยคาดเดาว่าเราจะเขียนโค้ดอะไรต่อ เพียงแค่เราพิมพ์โค้ดเริ่มต้น จากนั้น AI จะคาดเดาว่าเราต้องการเขียนอะไรต่อ พร้อมเติมโค้ดให้สมบูรณ์ได้ทันที เนื่องจากมันเข้าใจบริบทของการเขียนโค้ด เช่น โปรเจคที่ทำอยู่เกี่ยวกับอะไร, เข้าใจสัญลักษณ์ต่างๆที่ใช้ในการเขียนโค้ด จนไปถึง Swift syntax ซึ่งมันฉลาดมากไม่ใช่แค่เติมคำหรือเขียนให้ครบ แต่ยังเข้าใจถึงฟังก์ชันการทำงานของโค้ดที่เขียนอยู่ เติมเต็มให้ทำงานได้อย่างสมบูรณ์ รวมถึงแนะนำโค้ดที่จะเขียนต่อได้

ส่วนข้อมูลที่ใช้ฝึกสอนนั้นเอามาจากโค้ดที่เขียนบน swift และ SDKs ของ Apple เอง ที่สำคัญฟีเจอร์นี้จะประมวลผลบนอุปกรณ์ที่ใช้ Apple Silicon ทำให้มีความปลอดภัยและความเป็นส่วนตัวสูง รวมถึงทำานแบบออฟไลน์ได้ด้วย

การมาของ Predictive Code Completion จะช่วยเปลี่ยนการทำงานและวิธีคิดของนักพัฒนา แทนที่เราจะต้องท่องจำโค้ดต่างๆว่าอยากได้ฟังชันนี้ต้องเขียนยังไง ต่อไปก็แค่เขียนแค่ส่วนเริ่มต้นเท่านั้นที่เหลือก็ปล่อยให้ AI มาช่วย สิ่งที่เราต้องทำก็คือมาตรวจสอบและแก้ไขว่าโค้นนั้นเป็นอย่างที่อยากได้มั้ย ทำงานผิดพลาดรึเปล่า

นอกจากนั้นก็ยังลดข้อผิดพลาดในการพิมพ์ ซึ่งแต่ละคนอาจจะมีพิมพ์ผิดหรือพิมพ์ตกหล่นได้ แต่ AI นั้นข้อผิดพลาดเรื่องนี้น้อยมากๆ

ยิ่งไปกว่านั้นถ้านักพัฒนาใช้มากเท่าไหร่ ส่งความเห็นเข้ามาช่วยปรับปรุงการทำงานให้แม่นยำขึ้น ต่อไปความผิดพลาดต่างๆก็จะลดลงอย่างมาก นักพัฒนาจะได้มีเวลาเหลือเอาไปพัฒนาตัวเองหรือใช้กับเรื่องอื่นๆที่อยากทำ

นักพัฒนาที่สนใจ Predictive Code Completion ตอนนี้ปล่อยให้ทดสอบใช้งานเรียบร้อยแล้วใน Xcode 16 เวอร์ชันเบต้า

  • Swift Assist

Swift Assist คือ การนำ generative model มาผสานเข้าไปใน Xcode 16 ให้เข้าใจภาษาธรรมชาติ เปิดให้นักพัฒนาทดลองไอเดียใหม่ๆง่ายขึ้น ไม่ว่าจะเป็นการศึกษาเฟรมเวิร์กใหม่ หรือลองปรับเปลี่ยนโค้ดต่างๆ เพียงแค่เราพิมพ์สิ่งที่ต้องการเข้าไปคล้ายๆการใช้ Prompt ใน ChatGPT ซึ่งในช่วงแรกนั้นจะรองรับภาษาอังกฤษก่อน

สิ่งที่เหมือนกับ Predictive Code Completion คือ ความสามารถในการเข้าโปรเจคที่ทำอยู่เกี่ยวกับอะไร, เข้าใจสัญลักษณ์ต่างๆที่ใช้ในการเขียนโค้ด เมื่อโค้ดมีการเปลี่ยนแปลงเราจะเห็นตัวอย่างของการเปลี่ยนแปลงด้านข้างแบบไดนามิกเพื่อให้เราเห็นภาพมากขึ้น

ฟีเจอร์นี้จะทำงานผ่าน Cloud แต่ก็คำนึงถึงความเป็นส่วนตัวและความปลอดภัยของผู้ใช้เป็นหลัก ที่สำคัญฟีเจอร์นี้ไม่ได้ใช้งานตลอดเวลา แต่ระบบระบบจะใช้โค้ดของนักพัฒนาเพื่อการประมวลผลตามคำขอเท่านั้น และไม่มีการจัดเก็บโค้ดไว้บนเซิร์ฟเวอร์โดยเด็ดขาด อีกทั้ง Apple จะไม่ใช้โค้ดของนักพัฒนาเพื่อฝึกฝนโมเดลการเรียนรู้ของระบบด้วย

ฟีเจอร์ Swift Assist นั้นจะเปิดให้ใช้งานในช่วงปลายปีนี้

Swift 6

ความพิเศษในปีนี้คือภาษา Swift นั้นมีอายุครบรอบ 10 ปีแล้ว ซึ่งใน App Store นั้นก็มีแอปเกือบ 1 ล้านแอปที่พัฒนาด้วย Swift ผ่าน ผ่านทางชุดเทคโนโลยีซอฟต์แวร์ของ Apple อย่างกว้างขวาง ตั้งแต่แอป เฟรมเวิร์ก ไปจนถึงเฟิร์มแวร์ เช่น Secure Enclave

Swift 6 จะมีการเพิ่มฟีเจอร์ใหม่ ที่ทำให้โค้ดมีความชัดเจนเข้าใจง่าย สถาปัตยกรรมแบบหลายคอร์ทำให้อุปกรณ์ต่างๆ ทรงพลังยิ่งขึ้น เพื่อให้การเขียนโปรแกรมแบบทำงานพร้อมกันเป็นไปได้ง่ายขึ้น

Swift 6 นั้นมีความสามารถใหม่ด้านความปลอดภัยที่ช่วยป้องกันการแย่งเข้าถึงข้อมูลพร้อมกัน (Data race) ณ ช่วงที่ทำการคอมไพล์ โดยจะมีการวินิจฉัยการเข้าถึงหน่วยความจำในลักษณะพร้อมกันในทุกส่วนของโปรเจ็กต์ของนักพัฒนา ณ ช่วงที่ทำการคอมไพล์ ความล้ำหน้าดังกล่าวทำให้สามารถตรวจจับข้อผิดพลาดและแก้ไขซอร์สโค้ดได้โดยไม่ยุ่งยาก ยกระดับความปลอดภัยและช่วยอำนวยความสะดวกในการดูแลจัดการโค้ดในอนาคต

Apple ได้ขยายโอกาสการใช้ Swift ไปยังกลุ่มนักพัฒนาและโปรแกรมเมอร์ในวงกว้าง ทั้งยังใช้ได้กับโปรแกรมที่ใช้เขียนโค้ดอีกหลายตัวที่รองรับ Language Server Protocol นอกเหนือจากความสามารถที่เพิ่มขึ้นแล้ว GitHub Organization ที่ปรับปรุงใหม่สำหรับ Swift โดยเฉพาะยังมีการโฮสต์โปรเจ็กต์สำคัญสำหรับระบบนิเวศ Swift เอาไว้หลายตัว ซึ่งรวมถึงคอมไพเลอร์ Swift, เฟรมเวิร์ก Foundation และไลบรารีสำคัญอื่นๆ

นอกจากนั้นยังมีการขยาย open source framework สำหรับทดสอบ swift สำหรับแพลตฟอร์มอื่นๆ เช่น Linux และ Windows เพื่อให้สะดวกขึ้น

ภาพแสดง Language Server Protocol บน MacBook Pro รุ่น 14 นิ้ว
  • Swift Testing

เฟรมเวิร์ก Swift Testing ใหม่มี API ที่นักพัฒนาเข้าใจง่าย ทำให้สามารถเขียนคำสั่งเพื่อรันการทดสอบได้ไม่ยาก อีกทั้งยังทำงานในแบบข้ามแพลตฟอร์มและเรียนรู้ได้ง่าย นักพัฒนาจึงใช้ในการเขียนคำสั่งการทดสอบสำหรับแพลตฟอร์มและโดเมนที่หลากหลาย เฟรมเวิร์กนี้ยังมีระบบแท็กที่ยืดหยุ่น ช่วยให้นักพัฒนาจัดระเบียบการทดสอบและแผนการทดสอบได้สะดวกยิ่งขึ้น ทั้งนี้ Swift Testing ได้รับการออกแบบมาเพื่อใช้งานกับ Swift ในหลากหลายสถานการณ์ ตั้งแต่ระดับแอปไปจนถึงระดับเซิร์ฟเวอร์

  • SwiftUI

SwiftUI คือ เฟรมเวิร์กสำหรับสร้างแอปที่สามารถทำงานบนอุปกรณ์ต่างๆของ Apple โดยผสานการทำงานเข้ากับระบบปฏิบัติการพื้นฐานได้อย่างราบรื่น และรองรับฟีเจอร์ใหม่ๆอัตโนมัติ ซึ่งทาง Apple พยายามผลักดันให้นักพัฒนาสร้างแอปด้วย SDK นี้เพื่อให้เกิดประสิทธิภาพที่เร็วที่สุด เนื่องจากเครื่องมือ