Apple випустив мову програмування Swift 5.3 та відкрив код бібліотеки Swift System

компанія Apple оголосила про відкриття вихідних текстів бібліотеки Swift System, що надає ідеоматичний набір програмних інтерфейсів до системних викликів та низькорівневих типів даних. Спочатку Swift System підтримував лише системні виклики платформ Apple, але тепер портований і для Linux. Код Swift System написаний мовою Swift та поширюється під ліцензією Apache 2.0

Swift System надає єдину точку доступу до системних інтерфейсів, яку можна використовувати на всіх платформах, що підтримуються, без застосування в Swift-програмах специфічних обв'язок мовою Сі. При цьому Swift System не уніфікує самі системні виклики, а надає окреме підмножина API для кожної підтримуваної платформи, що враховує поведінку даної платформи і відображає низькорівневі інтерфейси операційної системи. Ключовою метою створення Swift System є спрощення розробки крос-платформних бібліотек та програм, таких як SwiftNIO и SwiftPM. Swift System не скасовує необхідність розгалуження на основі «#if os()» при зверненні до низькорівневих примітивів, але робить цю роботу більш безпечною та
зручною.

Також можна відзначити публікації релізу мови програмування Swift 5.3. Офіційні зборки підготовлено для Linux (Ubuntu 16.04/18.04/20.04, СentOS 7/8), macOS (Xcode 12) та Windows 10. Початкові тексти поширюються під ліцензією Apache 2.0

У новому випуску додана початкова підтримка платформи Windows та почалася постачання інструментарію для складання та запуску Swift-додатків у Windows 10. Продовжено відточування функціональності мови. З нових можливостей відзначається додавання ініціалізації для типу String, розширення застосування виразу «where», зміна семантики didSet, підтримка вказівки декількох шаблонів у виразах Catch, додавання типу
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 використовуються засоби підрахунку посилань на об'єкти. У постачання входить пакетний менеджер Менеджер пакетів Swift, що надає засоби для розповсюдження модулів та пакетів з бібліотеками та додатками мовою Swift, управління залежностями, автоматизованого завантаження, складання та зв'язування компонентів.

Джерело: opennet.ru

Додати коментар або відгук