Swift ใช้เขียนหรือสร้างแอปสำหรับอุปกรณ์ macOS และ iOS Apple ออกแบบ Swift โดยเฉพาะเพื่อให้ได้ประสิทธิภาพที่เร็วที่สุดและมีประสิทธิภาพสูงสุดจากอุปกรณ์ และ Swift 3 ขยายชุดคุณสมบัติที่น่าประทับใจแล้ว
อะไรใหม่ใน Swift 4?

"Swift ถูกปล่อยเป็นโครงการโอเพนซอร์สเพียง 6 เดือนที่แล้ว" กล่าวโดย Ted Kremenek Senior Manager, Languages and Runtimes ที่ Apple "ส่วนใหญ่ของการทำอย่างนั้น ไม่ใช่แค่โยนซอร์สโค้ดไป GitHub แต่มุ่งสร้างชุมชนเปิดเผยทั้งหมดที่ขับเคลื่อนวิวัฒนาการของ Swift ต่อไป Swift 3 เป็นการอัปเดตครั้งใหญ่แรกที่ตั้งใจจะเป็นผลลัพธ์ของชุมชนนั้น"
มุมมองใหญ่อีกมุมของ Swift คือ มันไม่ได้เกี่ยวกับการพัฒนา iOS และ OS X เท่านั้นแล้ว นับตั้งแต่ Swift กลายเป็นโอเพนซอร์ส เวอร์ชันสำหรับคอมพิวเตอร์ Linux ปรากฏขึ้น ซึ่งเปิดโอกาสให้ Swift เข้าถึงนักพัฒนาฝั่งเซิร์ฟเวอร์ รวมถึงนักเขียนโค้ดแอป
"ระบบนิเวศซอฟต์แวร์วันนี้หลากหลายมาก" Kremenek กล่าว "ไม่ว่าจะทำงานบนเซิร์ฟเวอร์ หรือทำงานบนแอป เราอยากให้ Swift เป็นสำหรับทุกคน นี่คือการอัปเดตครั้งใหญ่แรกนับตั้งแต่ Swift ถูกพอร์ตไป Linux"
เรามีบทความเฉพาะสำหรับเวอร์ชันใหม่นี้: วิธีสร้างแอปด้วย Swift 4
วิธีเขียนแอปด้วย Swift 3: ทำให้พื้นฐานแก่นกลางถูกต้องด้วยภาษา API ใหม่ของ Swift 3

สิ่งที่อาจทำให้นักพัฒนาที่ใช้ Swift 2 (หรือก่อนหน้า) รู้สึกประหลาดคือภาษาเปลี่ยนแปลงมากแค่ไหนใน Swift 3 "เรื่องใหญ่ของ Swift 3 คือเราอยากให้พื้นฐานแก่นกลางอยู่ในรูปที่ถูกต้องและสร้างต่อยอดจากมันต่อไป" Kremenek กล่าว "เราอยากทำให้ Swift Awesome เพื่อ Awesomeness"
Chris Lattner Sr. Director, Developer Tools Department ที่ Apple ยอมรับ "เราอยากทำประสบการณ์แก่นกลางของ Swift ให้ยอดเยี่ยม
"นี่เป็นปัญหาที่ยาก ไม่ใช่แค่เรื่องว่าจะใช้ comma หรือ colon มันยังเกี่ยวกับความเข้ากันได้ ดังนั้นเราทำทุกอย่างที่ทำได้เพื่อให้ Swift อยู่ในรูปแบบนั้น จึงจะใช้ได้ตลอดกาล"
ดังนั้น มีคุณสมบัติใหม่หลายอย่างใน Swift:
- การเข้าถึง APIs ใน Swift 3. การเปลี่ยนแปลงใหญ่ที่สุดคือภาษา API การเข้าถึง Apple APIs เป็นส่วนสำคัญของการสร้างซอฟต์แวร์ใน Swift (และภาษาสมัยใหม่ส่วนใหญ่) Apple เปลี่ยนภาษา API อย่างรุนแรงเพื่อเน้นความชัดเจน คุณอ่านไวยากรณ์ใหม่เพิ่มเติมได้ที่ Swift.org
- Playground support ตอนนี้มีการรองรับ Playground สำหรับ snapshots ที่ดาวน์โหลดได้ใน Xcode 8 หมายความว่าคุณสามารถดาวน์โหลด snapshot ล่าสุดของ Swift ใน Xcode และเริ่มทดลองทันที คุณแม้แต่ไม่ต้องรีสตาร์ท Xcode ควรจะทำให้นักพัฒนาง่ายขึ้นในการติดตามภาษาใหม่ขณะที่มันวิวัฒนาการ
- Parameter labelling มีการเปลี่ยนแปลงค่อนข้างหนักในการติดฉลากพารามิเตอร์ใน Swift 3 ใน Swift 2 มันสอดคล้องกับ Objective-C แต่เพราะภาษา API เปลี่ยนไปมาก จึงสมเหตุสมผลที่จะทำให้พารามิเตอร์สอดคล้องกับ Swift
- Generics เป็นอีกพื้นที่ที่เห็นการเปลี่ยนแปลงไวยากรณ์ ลายเซ็น (signature) ตอนนี้อยู่หน้า และ constraints เป็นรอง
- Warnings หากคุณมีผลลัพธ์ที่ไม่ได้ใช้ในฟังก์ชัน ตอนนี้คุณจะได้รับคำเตือน คุณสามารถ override คำเตือนนี้ได้หากพฤติกรรมเป็นเจตนา
นอกจากการเพิ่มคุณสมบัติใน Swift 3.0 Apple ยังกำลังเอาคุณสมบัติบางอย่างออก นี่คือคุณสมบัติที่ถูกลบสำหรับ Swift 3.0:
- Currying func declaration syntax
- var in function parameter lists
- ++ และ -- operators
- C-style for loop
- Implicit tuple splat in calls
"บางอย่างในนี้ ฉันรับรู้ว่า อาจก่อให้เกิดข้อโต้แย้งหรือข้อถกเถียง" Kremenek กล่าว แต่เขาไวยว่ามันเป็นผลลัพธ์ของการอภิปรายอย่างยาวนานกับชุมชนนักพัฒนา และบันทึกทั้งหมดพร้อมใช้งานออนไลน์
อ่านต่อ: วิธีใช้ Swift Playgrounds และเรียนรู้การเขียนโค้ด
วิธีเขียนแอปด้วย Swift 3: ติดตั้ง Xcode 8 beta

Swift 3.0 พร้อมใช้งานสำหรับนักพัฒนาทุกคนแล้ว และคุณไม่ต้องเป็นส่วนหนึ่งของ Apple Developer Connection ที่ต้องเสียเงินเพื่อเริ่มใช้งาน การดาวน์โหลด Xcode 8 beta ช่วยให้คุณเริ่มใช้ภาษา Swift 3.0 ได้ทันที Apple ยังทำให้คู่มือภาษาการเขียนโปรแกรม Swift 3 พร้อมใช้งานบน iBooks Store ดังนั้นคุณสามารถเริ่มต้นและรันกับคุณสมบัติและไวยากรณ์ใหม่ๆ ได้
อ่านเพิ่มเติม: คู่มือครบถ้วน Swift 3.0: คุณสมบัติใหม่ทั้งหมดในภาษาการเขียนโปรแกรมของ Apple
วิธีเขียนแอปด้วย Swift 3: Swift เป็นโอเพนซอร์สหมายถึงอะไร?

ณ ธันวาคม 2015 Swift 2 เป็นโอเพนซอร์ส แต่นั้นหมายถึงอะไรสำหรับโปรแกรมเมอร์และผู้ใช้แอป?
โอเพนซอร์สโดยทั่วไปหมายถึงซอร์สโค้ดเบื้องหลังโปรแกรมหรือภาษาการเขียนโปรแกรม ถูกเปิดให้สาธารณะเข้าถึง โปรแกรมเมอร์สามารถตรวจสอบ แก้ไข และปรับใช้โปรแกรมได้ทุกที่ที่ต้องการ
ในทางปฏิบัติ หมายความว่านักพัฒนาสามารถนำภาษาการเขียนโปรแกรม Swift ไปสร้างสำหรับการปรับใช้บนระบบปฏิบัติการที่ไม่ใช่ Apple โดยเฉพาะเราเห็น Swift บน Linux OSes (เพราะทั้ง Linux และ OS X มีโครงสร้างพื้นฐานคล้าย Unix)
ทฤษฎีแล้ว คุณอาจเห็น Swift ถูกนำไปใช้บนคอมพิวเตอร์ Windows ในที่สุด แม้เรายังคงรอเวอร์ชัน Swift ที่ใช้งานได้บน Windows มีข่าวลือว่า Google ซึ่งใช้ Java สำหรับ Android อยู่แล้ว อาจย้ายไป Swift เราคิดว่าไม่น่าจะเป็นไปได้ โดยเฉพาะหลัง Google ชนะคดีลิขสิทธิ์ Java API ต่อ Oracle
เยี่ยม! เราจะรันแอป iOS บนโทรศัพท์ Android ได้ไหม?
แม้คุณจะสามารถใช้โค้ด Swift บนอุปกรณ์อื่นได้ แต่องั้นอย่าเชื่อว่าหมายความว่าคุณจะเห็นซอฟต์แวร์ OS X และ iOS รันบน Windows และ Android แม้จะทำให้การพอร์ทซอฟต์แวร์จากอุปกรณ์หนึ่งไปอีกอุปกรณ์ง่ายขึ้น เราคาดว่า Apple จะยังคงควบคุม SDKs (Software Development Kit) ของตน แม้เราไม่รู้ว่า Apple ตั้งใจจะทำให้ส่วนไหนของ Swift เป็นโอเพนซอร์ส เราเชื่อว่า Apple จะยังคงเก็บซอร์สโค้ดของ Xcode ไว้ ดังนั้นคุณยังคงใช้ Mac เพื่อพัฒนาซอฟต์แวร์ OS X และ iOS
แม้ Apple จะเป็นบริษัทที่เป็นส่วนตัวมาก และคุ้มครองผลงานของตนมาก ทำให้โอเพนซอร์สดูเหมือนไม่เข้ากับบริษัท แต่ Apple ไม่ได้แปลกหน้ากับชุมชนโอเพนซอร์สโดยเด็ดขาด OS X สร้างบน UNIX และส่วนประกอบซอฟต์แวร์ส่วนใหญ่เป็นโอเพนซอร์ส
หน้า Apple's Open at the source ระบุ: "Apple เชื่อว่าการใช้เมธอดโอเพนซอร์ส ทำให้ Mac OS X เป็นระบบปฏิบัติการที่แข็งแกร่งและปลอดภัยกว่า เนื่องจากองค์ประกอบแก่นกลางได้รับการทดสอบจากการทบทวนโดยเพื่อนร่วมงานมาหลายทศวรรษ"
วิธีเขียนแอปด้วย Swift 3: ภาษาการเขียนโปรแกรม Swift ของ Apple ใช้งานอย่างไร?
ภาษาการเขียนโปรแกรม Swift ของ Apple เปิดตัวครั้งแรกที่ WWDC 2014 ออกแบบมาเพื่อให้การเขียนโปรแกรม Mac OS X และ iOS ง่ายขึ้น ส่วนที่เหลือของบทความนี้มองที่ Swift ของ Apple เป็นอย่างไรในฐานะภาษาการเขียนโปรแกรม วิธีตั้งค่า Apple Swift บน Mac และวิธีเรียนรู้การเขียนโปรแกรมใน Apple Swift
Swift เสริม และตั้งใจจะแทนที่ภาษาการเขียนโปรแกรม Objective-C ปัจจุบันของ Apple ในที่สุด Objective-C ถูกพัฒนาในทศวรรษ 1980 และนำเข้าสู่ Mac ในปี 1996 ก่อนปี 2014 ผ่านมา 17 ปีแล้วที่ Apple ปล่อยภาษาการเขียนโปรแกรมใหม่ ดังนั้น Swift จึงสำคัญมากต่อชุมชนนักพัฒนา Apple
- Apple เปิดตัวอะไรที่ WWDC 2014?

วิธีเขียนแอปด้วย Swift 3: ภาษาการเขียนโปรแกรม Swift ของ Apple คืออะไร?
Swift เป็นภาษาการเขียนโปรแกรมสำหรับ Cocoa และ Cocoa Touch (ซึ่งเป็นเฟรมเวิร์กการเขียนโปรแกรมสำหรับ Mac OS X และ iOS ตามลำดับ) โปรแกรม Swift ถูกสร้างโดยใช้ Xcode 6 เวอร์ชันล่าสุดของ integrated development environment (IDE) ของ Apple
Swift เป็นภาษาการเขียนโปรแกรมที่ใหม่ค่อนข้าง แนะนำในปี 2014 แต่ถูกออกแบบมาเพื่ออยู่ร่วมกับโปรแกรม Objective-C ที่มีอยู่ (ซึ่งเป็นสิ่งที่โปรแกรม OS X และ iOS เคยพัฒนาด้วย) นี่ช่วยให้นักพัฒนาสามารถเพิ่มโค้ด Swift ลงในแอปที่มีอยู่ได้โดยไม่ต้องแทนที่โค้ด Objective-C เก่าทั้งหมด
วิธีเขียนแอปด้วย Swift 3: ข้อดีของการเขียนโปรแกรมใน Apple Swift คืออะไร?
Apple ได้ระบุข้อดีหลายประการที่ Swift มีเหนือโค้ด Objective-C เก่า เนื่องจากภาษาใหม่ค่อนข้าง จะมีอะไรมากที่ยังไม่ได้เห็น แต่นี่คือเหตุผลบางส่วนที่ Swift เป็นภาษาการเขียนโปรแกรมที่ดีกว่า Objective-C:
Apple Swift มีไวยากรณ์สะอาด (Clean Syntax)
Apple Swift ออกแบบมาเพื่อเป็นภาษาการเขียนโปรแกรมที่อ่านและเขียนง่ายกว่ามาก ไวยากรณ์ของ Swift (การจัดรูปแบบ) ไม่ต้องการ semicolons ที่ท้ายแต่ละบรรทัด และฟังก์ชันเข้าใจง่ายขึ้น ตัวอย่างเช่น คำสั่ง Print เหมือนที่คนส่วนใหญ่คุ้นเคยจาก Basic คือ NSLOG ใน Objective-C (NS เป็นการอ้างอิงย้อนกลับไปที่ NextStep บริษัทที่ Steve Jobs ก่อตั้งเมื่อเขาออกจาก Apple ซึ่งแสดงว่า Apple กำลังแทนที่มรดกมากแค่ไหน) ใน Swift คำสั่งนั้นคือ 'println' ที่คุ้นเคยมากกว่า มีสัญลักษณ์น้อยลงที่ต้องใช้ในการเขียนโค้ด และโดยทั่วไป Swift มีประสิทธิภาพมากกว่า Objective-C
หากเราดูโปรแกรม Hello World คלאสสิกในแต่ละภาษา (โปรแกรมที่เขียน "Hello, world!" บนหน้าจอ) คุณจะเห็นว่า Swift เรียบง่ายและมีความหมายมากกว่า Objective-C
Objective-C: Hello World
นี่คือลักษณะโปรแกรม Hello World ใน Objective-C:
#import
#import <Foundation/Foundation.h>
int main(void)
{
NSLog(@"Hello, world!\n");
return 0;
}
Swift: Hello World
นี่คือลักษณะโปรแกรม Hello World ใน Swift:
println("Hello, world!")
ตามที่คุณเห็น Swift เป็นโค้ดที่สะอาดและเรียบง่ายกว่ามากในการอ่านและเรียนรู้ นี่คือฟีเจอร์อื่นๆ ที่ Apple รายการว่าสำคัญต่อการทำให้โค้ดมีความหมาย:
- Closures unified with function pointers
- Tuples and multiple return values
- Generics
- Fast and concise iteration over a range or collection
- Structs that support methods, extensions, protocols.
- Functional programming patterns, e.g.: map and filter
หน่วยความจำของ Apple Swift ถูกจัดการอัตโนมัติ
หนึ่งในข้อดีใหญ่ของ Swift คือนักพัฒนาไม่ต้องจัดการการจัดสรรหน่วยความจำ ใน Swift ตัวแปรถูก initialize ก่อนใช้งาน อาร์เรย์และจำนวนเต็มถูกตรวจสอบ overflow และหน่วยความจำถูกจัดการอัตโนมัติ นี่ทำให้ภาษาการเขียนโปรแกรม Swift 안전한กว่าสำหรับนักพัฒนาที่ไม่ค่อยมีประสบการณ์ การจัดการหน่วยความจำของ Swift จะทำให้แอปน่าเชื่อถือมากขึ้น ซึ่งจะเป็นประโยชน์ต่อทั้งนักพัฒนาและผู้ไม่ใช่นักพัฒนา
คู่มือครบถ้วนการตลาดแอป iOS ที่ประสบความสำเร็จบน App Store
วิธีเขียนแอปด้วย Swift 3: หา Apple Swift สำหรับ Mac ได้ที่ไหน?
Swift เป็นส่วนหนึ่งของ Xcode IDE (integrated development environment) พร้อมดาวน์โหลดฟรีจาก Mac App Store

วิธีเขียนแอปด้วย Swift 3: ควรเรียนรู้การเขียนโปรแกรมใน Swift หรือไม่?
ข้อสรุปทั่วไปจากนักพัฒนาดูเหมือนว่า Swift เป็นภาษาการเขียนโปรแกรมที่ยอดเยี่ยม Swift คล้ายกับ Python ในหลายด้าน อีกภาษาที่ได้รับการยกย่องสูง Swift ควรเป็นภาษาที่ง่ายกว่าสำหรับมือใหม่ในการเรียนรู้เมื่อเทียบกับ Objective-C Python ใช้เป็นภาษาเลือกสำหรับชั้นเรียนเขียนโปรแกรมอย่างสม่ำเสมอ ดังนั้นโปรแกรมเมอร์หลายคนอาจคุ้นเคยกับไวยากรณ์ Swift ของ Apple แล้ว
อ่านเพิ่มเติม: วิธีเขียนโค้ดด้วย Python บน Mac
แต่มันยังดีกว่าสำหรับนักพัฒนาที่มีประสบการณ์ที่จะพบว่าไวยากรณ์ที่สะอาดกว่าง่ายต่อการใช้งาน
หากคุณใช้เวลาคุ้นเคยกับ Objective-C คุณควรจะพบอะไรมากใน Swift ที่ทำให้ชีวิตง่ายขึ้น แม้การย้ายไปภาษาการเขียนโปรแกรมใหม่จะต้องเรียนรู้โค้ดใหม่ ซึ่งจะเป็นการเบี่ยงเบนสำหรับนักพัฒนาปัจจุบัน แต่ในระยะยาว การเขียนโค้ด Swift คาดว่าจะคุ้มค่าแม้สำหรับนักพัฒนา Objective-C ที่มีประสบการณ์
Swift ไม่จะทำให้การย้ายโค้ดจาก Mac OS X และ iOS ไปยังแพลตฟอร์มอื่น เช่น Android ง่ายขึ้น นักพัฒนาหลายคนกำลังชั่งน้ำหนักข้อดีของการพัฒนา Swift ต่อการล็อกอิน (lock-in) เข้าสู่ระบบนิเวศ Apple เพิ่มเติม ในขณะนี้ Apple รองรับโค้ด Objective-C และ Swift ทั้งคู่สำหรับการสร้างแอป Cocoa และ Cocoa Touch แต่ในที่สุดเราคาดว่าจะย้ายทุกคนไป Swift
วิธีเขียนแอปด้วย Swift 3: เรียนรู้การเขียนโปรแกรม Swift อย่างไร?
หากการเรียนรู้ Swift ดึงดูดคุณ มีทรัพยากรหลายอย่างให้เลือก คุณสามารถดาวน์โหลด Xcode จาก App Store และ Apple ได้ปล่อยหนังสือเกี่ยวกับการเขียนโปรแกรม Swift บน iBooks Store แล้ว: The Swift Programming Language (iBooks Store) ใครก็สามารถดาวน์โหลดหนังสือได้ ไม่ต้องเป็นนักพัฒนาที่ลงทะเบียน Apple
หนังสือ Swift Programming Language ของ Apple สามารถอ่านได้ด้วย iBooks บน Mac OS X หรือคุณสามารถอ่านบน iPad (หรือ iPhone) หนังสือของ Apple นำคุณจาก Basic Operators ไปจนถึง Inheritance แต่ The Swift Programming Language book ไม่ครอบคลุมการพัฒนาแอป iOS ในสภาพแวดล้อม Xcode เราคาดว่าจะมีหนังสือรายละเอียดเพิ่มเติมเกี่ยวกับ Swift รวมถึงบทช่วยสอนสำหรับมือใหม่ ปรากฏขึ้นเร็วๆ นี้
นี่คือทรัพยากรการเขียนโปรแกรม Apple Swift บางส่วน:
- The Swift Programming Language (iBooks Store)
- The Swift Programming Language
- Using Swift with Cocoa and Objective-C
เรายังแนะนำให้ตรวจสอบบทช่วยสอนออนไลน์บนเว็บไซต์อย่าง Udemy ซึ่งเสนอหลายคอร์สสำหรับนักพัฒนารวมถึง:
- iOS 9 and Swift Mastery: Build 11 apps with Swift
- Complete iOS 9 developer course
- Learn to build 20 websites and 14 iOS 9 apps with Swift
ในขณะนี้ นักพัฒนาหลายคนใช้เว็บเพื่อโครงร่าง Swift และคุณสมบัติ นี่คือเว็บไซต์ที่นักเขียนโปรแกรม Swift ที่เป็นไปได้ควรบุ๊กมาร์ก:
- Swiftly Functional
- Reddit /r/swift
ยังมีวิดีโอออนไลน์ยอดเยี่ยมจากมหาวิทยาลัยอย่าง Stanford, MIT และ Harvard ดูคอร์ส Developing iOS 9 apps with Swift ของ Stanford ใน iTunes U การดูวิดีโอเหล่านี้เป็นวิธีที่ดีในการได้ภาพรวมของการพัฒนาทั่วไป
โปรดแจ้งให้เราทราบหากมีเว็บไซต์ (หรือหนังสือ) การเขียนโปรแกรม Swift เพิ่มเติมในส่วนความคิดเห็น
วิธีเขียนแอปด้วย Swift 3: วิธีที่ดีที่สุดในการเรียนรู้การเขียนโปรแกรม Swift จากศูนย์คืออะไร?
หากคุณเป็นมือใหม่ในการเขียนโปรแกรม หรือต้องการเรียนรู้การเขียนโปรแกรมโดยทั่วไป มีเว็บไซต์และบริการหลายอย่างที่ช่วยได้ นี่คือเว็บไซต์เขียนโค้ดที่ดีที่สุดบางส่วน:
- Codeacademy ชุมชนเรียนรู้ออนไลน์ฟรีที่สอนทักษะดิจิทัล ยังไม่มีการเขียนโปรแกรม Swift แต่จับมือคุณขณะที่คุณเรียน Python (ซึ่งเป็นภาษาที่ยอดเยี่ยมสำหรับเริ่มต้น)
- Learn Python the Hard Way 儘管ชื่อดูน่ากลัว แต่หนังสือและคอร์สนี้เป็นวิธีที่ดีที่สุดที่เรารู้สำหรับมือใหม่ในการเริ่มเขียนโปรแกรม
- MITX 6.00.1x: Introduction to Computer Science and Programming Using Python คอร์สนี้ออกแบบให้นักศึกษา MIT และ Harvard ที่ไม่มีประสบการณ์วิทยาการคอมพิวเตอร์หรือการเขียนโปรแกรม และวัสดุและคอร์สทั้งหมดพร้อมออนไลนี่คือคู่มือ粗略ที่ดีที่สุดที่เรารู้จักสำหรับเริ่มต้นเขียนโปรแกรม (วิดีโอน่าสนใจถ้าคุณสนใจคอมพิวติ้งโดยทั่วไป)
หากยังไม่พอ คุณสามารถเล่น Flappy Bird ใน Swift ได้แล้ว ขอบคุณนักพัฒนาชื่อ Nate Murray โค้ด Swift สำหรับ Flappy Bird พร้อมใช้งานบน GitHub
โปรดแจ้งให้เราทราบลิงก์หรือทรัพยากรอื่นๆ ที่คุณคิดว่าเราควรรวม

See also:
คู่มือครบถ้วน Swift 3 และคุณสมบัติใหม่
macOS Sierra ประกาศที่ WWDC
iOS 10 preview: Hands-on first impressions with iOS 10 beta