компанія Apple
Swift System надає єдину точку доступу до системних інтерфейсів, яку можна використовувати на всіх платформах, що підтримуються, без застосування в Swift-програмах специфічних обв'язок мовою Сі. При цьому Swift System не уніфікує самі системні виклики, а надає окреме підмножина API для кожної підтримуваної платформи, що враховує поведінку даної платформи і відображає низькорівневі інтерфейси операційної системи. Ключовою метою створення Swift System є спрощення розробки крос-платформних бібліотек та програм, таких як
зручною.
Також можна відзначити
У новому випуску додана початкова підтримка платформи Windows та
Float16,
Знижено розмір результуючих додатків — якщо у Swift 4 розмір зібраної програми перевищував варіант на Objective-C у 2.3 рази, то тепер розрив скорочено до 1.5 разів. У новому випуску також помітно прискорено інкрементальне складання та складання коду з великою кількістю властивостей та функцій, що імпортуються з інших бібліотек. Розширено засоби діагностики в компіляторі та якість повідомлень про помилки. У пакетному менеджері реалізована можливість включення до пакетів додаткових ресурсів, необхідних під час виконання, таких як зображення. У пакетний менеджер також додано підтримку компонентів для локалізації та можливість визначення умовних залежностей.
Нагадаємо, що мова Swift успадковує найкращі елементи мов C та Objective-C, і надає об'єктну модель, сумісну з Objective-C (Swift-код може змішуватися з кодом на С та Objective-C), але відрізняється використанням засобів автоматичного розподілу пам'яті та контролю переповнення змінних та масивів, що значно збільшує надійність та безпеку коду. Swift також пропонує безліч сучасних методів програмування, таких як замикання, узагальнене програмування, лямбда-вирази, кортежі та словникові типи, швидкі операції над колекціями, елементи функціонального програмування. Версія для Linux не прив'язана до Objective-C Runtime, що дозволяє використовувати мову в оточеннях, в яких немає підтримки Objective-C.
Реалізація Swift побудована із залученням технологій вільного проекту LLVM. Для забезпечення високої продуктивності Swift-програми компілюються в машинний код, що виконується в тестах Apple на 30% швидше за код Objective-C. Замість збирача сміття в Swift використовуються засоби підрахунку посилань на об'єкти. У постачання входить пакетний менеджер
Джерело: opennet.ru