แอปเปิ้ล
Swift System ให้การเข้าถึงอินเทอร์เฟซระบบจุดเดียวที่สามารถใช้กับแพลตฟอร์มที่รองรับทั้งหมดได้โดยไม่ต้องใช้เฟรมเวิร์ก C เฉพาะในโปรแกรม Swift ในเวลาเดียวกัน Swift System ไม่ได้รวมระบบที่เรียกตัวเองเข้าด้วยกัน แต่ให้ชุดย่อยของ API แยกกันสำหรับแต่ละแพลตฟอร์มที่รองรับ โดยคำนึงถึงพฤติกรรมของแพลตฟอร์มนี้และสะท้อนถึงอินเทอร์เฟซระดับต่ำของระบบปฏิบัติการอย่างแม่นยำ เป้าหมายหลักของการสร้างระบบ Swift คือการลดความซับซ้อนของการพัฒนาไลบรารีและแอปพลิเคชันข้ามแพลตฟอร์ม เช่น
สะดวกสบาย.
คุณยังสามารถสังเกตได้
รุ่นใหม่เพิ่มการรองรับเบื้องต้นสำหรับแพลตฟอร์ม Windows และ
โฟลต16,
ขนาดของแอปพลิเคชันที่ได้ลดลง - หากใน Swift 4 ขนาดของโปรแกรมที่ประกอบนั้นใหญ่กว่าเวอร์ชันใน Objective-C 2.3 เท่า ตอนนี้ช่องว่างก็ลดลงเหลือ 1.5 เท่า รีลีสใหม่ยังช่วยเร่งความเร็วการสร้างและโค้ดอาคารที่เพิ่มขึ้นอย่างมากด้วยคุณสมบัติและฟังก์ชันจำนวนมากที่นำเข้าจากไลบรารีอื่น เครื่องมือวินิจฉัยในคอมไพเลอร์และคุณภาพของข้อความแสดงข้อผิดพลาดได้รับการปรับปรุงแล้ว ตัวจัดการแพ็คเกจจัดเตรียมความสามารถในการรวมทรัพยากรเพิ่มเติมที่จำเป็นในขณะรันไทม์ เช่น รูปภาพ ในแพ็คเกจ ตัวจัดการแพ็คเกจยังเพิ่มการรองรับส่วนประกอบสำหรับการแปลและความสามารถในการกำหนดการขึ้นต่อกันแบบมีเงื่อนไข
โปรดจำไว้ว่าภาษา Swift สืบทอดองค์ประกอบที่ดีที่สุดของภาษา C และ Objective-C และให้โมเดลอ็อบเจ็กต์ที่เข้ากันได้กับ Objective-C (โค้ด Swift สามารถผสมกับโค้ด C และ Objective-C ได้) แต่จะแตกต่างกันในการใช้ภาษาอัตโนมัติ การจัดสรรหน่วยความจำและการควบคุมการล้นของตัวแปรและอาร์เรย์ ซึ่งเพิ่มความน่าเชื่อถือและความปลอดภัยของโค้ดอย่างมาก นอกจากนี้ Swift ยังมีเทคนิคการเขียนโปรแกรมสมัยใหม่มากมาย เช่น การปิด การเขียนโปรแกรมทั่วไป นิพจน์แลมบ์ดา ประเภททูเพิลและพจนานุกรม การดำเนินการรวบรวมอย่างรวดเร็ว และองค์ประกอบของการเขียนโปรแกรมเชิงฟังก์ชัน เวอร์ชัน Linux ไม่ได้เชื่อมโยงกับ Objective-C Runtime ซึ่งอนุญาตให้ใช้ภาษาในสภาพแวดล้อมที่ขาดการสนับสนุน Objective-C
การใช้งาน Swift สร้างขึ้นโดยใช้เทคโนโลยีจากโครงการ LLVM ฟรี เพื่อให้มั่นใจถึงประสิทธิภาพสูง โปรแกรม Swift จะถูกคอมไพล์เป็นโค้ดเนทีฟที่ทำงานเร็วกว่าโค้ด Objective-C ถึง 30% ในการทดสอบของ Apple แทนที่จะใช้ตัวรวบรวมขยะ Swift ใช้การนับการอ้างอิงวัตถุ แพ็คเกจประกอบด้วยตัวจัดการแพ็คเกจ
ที่มา: opennet.ru