devops
Swift Build тепер є механізмом за замовчуванням для менеджера пакетів Swift
Незважаючи на те, що Swift є основною мовою Apple для розробки додатків для macOS та iOS, спільнота з відкритим кодом продовжує розширювати свій охоплення – впроваджуючи її як мультиплатформенну або навіть кросплатформенну мову в сферах, окрім дизайну інтерфейсу користувача.
Випуск Swift 6.4 у вівторок продовжив це. Разом із звичайним асортиментом комбінацій клавіш і асинхронних налаштувань з’явилася інформація про те, що Swift Build тепер є механізмом за замовчуванням для менеджера пакетів Swift.
Синергія вже є! Сполучення закладає основу для швидшого процесу створення. Розробник може написати програму в Swift, а Swift Build автоматично завантажить і встановить необхідні залежності та перевірить сумісність. Потім він компілює код у двійкові файли для ЦП.
Разом це також уніфікує роботу розробника Swift незалежно від платформи.
Завдяки цій інтеграції розробник може запускати весь процес збирання у своєму власному середовищі, будь то Apple Xcode IDE або улюблений командний рядок, і всі кроки будуть однакові для програм Linux, macOS або Windows.
Або розробник може запустити власну збірку з VS Code завдяки новому розширенню, доступному в Open VSX Registry.
Підсолоджуючи угоду, інтегрований пакет постачається з інструментом генерації SBOM (Bill of Materials) для кожної програми, який містить список усіх залежностей у форматі SPDX або CycloneDX (SE-0509). Коли справа доходить до аудиту програмного забезпечення та перевірки потенційних недоліків безпеки, SBOM — це бомба.
Єдиний інструмент Swift
Крім того, Swift використовує командні рядки Rust Cargo та Go, обидва з яких працюють як окремий інструмент, подібно до Bun для JavaScript. Єдиний інтегрований робочий процес може замінити вручну виклик одного інструмента за іншим, щоб завантажувати код у виробництво.
Менеджер пакетів Swift (SwiftPM), створений Apple у 2015 році, є інструментом автоматизації командного рядка та керування залежностями. Сама Swift Build — це набір інструментів для спільної розробки програмного забезпечення, які разом організовують компіляцію (за допомогою компілятора swiftc), зв’язування та тестування коду.
SwiftPM може працювати з будь-яким репозиторієм git як джерелом коду Swift, а також із службами приватного сховища, такими як Bitbucket і JFrog Artifactory.
Найважливіше те, що SwiftPM добре працює з Swift Package Index (SPI), службою пошуку артефактів Swift, створеною в 2020 році та придбаною Apple у червні. Наразі SPI є де-факто сховищем для багатьох Swifties із понад 10 400 пакетами. Багатьом подобається, як реєстр перевіряє кожну залежність на сумісність з кожною платформою та версією Swift.
Нам буде цікаво дізнатися, чи планує Apple перенести метадані SPI в SwiftPM.
Кодери Swift, які не використовують SwiftPM і Swift Build, швидше за все, використовують Google Bazel, Buck2 від Meta або шановний CMake для керування своїми ресурсами Swiftian.
Виправлення з джерела
Цей випуск також покращує інші частини процесу збирання, наприклад, виправлення помилок. З Swift 6.4 налагоджувач Swift за замовчуванням LLDB тепер має більш ефективний спосіб налагодження модулів, вказуючи точний шлях до використовуваного модуля замість включення всього модуля у файл налагодження, що спричинило значне роздуття. Тепер налагоджувач може стежити за вказівником і перевіряти вихідний модуль.
Випуск також містить покращення сумісності з C++, Java, JavaScript і навіть WebAssembly, який отримує власний SDK.
Щоб розпочати роботу з Swift, перейдіть на сторінку встановлення Swift. Інструмент 6.4 можна завантажити за допомогою командного рядка Swiftly. ®