Найти в Дзене
Chidorin

Следующая глава в технологиях Swift Build

Swift продолжает набирать популярность как кроссплатформенный язык, поддерживающий самые разные сценарии использования, с поддержкой различных встраиваемых устройств, форм-факторов, охватывающих от носимых устройств до серверов, и широкого спектра операционных систем. По мере развития Swift целесообразно инвестировать в соответствующие кросс-платформенные инструменты сборки, которые обеспечивают мощный, последовательный и гибкий опыт во всей экосистеме. В качестве основополагающего шага в этой новой главе технологий сборки Swift, сегодня Apple открыла доступ к Swift Build, мощному и расширяемому механизму сборки, который предоставляет набор правил сборки для создания проектов Swift. Swift Build - это движок, используемый в Xcode, который поддерживает миллионы приложений в App Store, а также внутренний процесс сборки собственных операционных систем Apple. В репозиторий с открытым исходным кодом также включена поддержка таргетинга для Linux и Windows. Основная обязанность системы сборки
Оглавление

Swift продолжает набирать популярность как кроссплатформенный язык, поддерживающий самые разные сценарии использования, с поддержкой различных встраиваемых устройств, форм-факторов, охватывающих от носимых устройств до серверов, и широкого спектра операционных систем. По мере развития Swift целесообразно инвестировать в соответствующие кросс-платформенные инструменты сборки, которые обеспечивают мощный, последовательный и гибкий опыт во всей экосистеме.

В качестве основополагающего шага в этой новой главе технологий сборки Swift, сегодня Apple открыла доступ к Swift Build, мощному и расширяемому механизму сборки, который предоставляет набор правил сборки для создания проектов Swift. Swift Build - это движок, используемый в Xcode, который поддерживает миллионы приложений в App Store, а также внутренний процесс сборки собственных операционных систем Apple. В репозиторий с открытым исходным кодом также включена поддержка таргетинга для Linux и Windows.

Знакомство со Swift Build

Основная обязанность системы сборки - преобразование пользовательских исходных данных (таких как описание проекта и исходный код) в выходные артефакты, такие как инструменты командной строки, библиотеки и приложения. Системы сборки играют важную роль в обеспечении отличного опыта разработчиков, позволяя реализовать функции более высокого уровня, которые определяют, как пользователи проектируют и работают со своими проектами. Кроме того, производительность и надежность системы сборки напрямую влияет на производительность разработчиков.

Swift Build - это инфраструктурный компонент, предназначенный для планирования и выполнения сборок по запросу клиента более высокого уровня, например Swift Package Manager или Xcode. Он создан на основе существующего проекта llbuild и предоставляет такие возможности, как:

  • Надежная интеграция с компилятором Swift для надежной и эффективной координации сборки Swift-проектов
  • Поддержка широкого спектра типов продуктов, включая библиотеки, инструменты командной строки и GUI-приложения с расширенными опциями конфигурации сборки
  • Оптимизация графа сборки, обеспечивающая максимальный параллелизм при сборке Swift- и C-кода.

Дорожная карта для Swift Build

По сравнению с механизмом сборки в Xcode, механизм сборки в Swift Package Manager довольно прост. На платформах Apple наличие двух разных способов сборки пакетов приводило к путанице пользователей, когда поведение двух реализаций не совпадало. Включение механизма сборки Xcode в проект Swift и его разработка с открытым исходным кодом вместе с компилятором Swift предоставляет инструменты, необходимые для решения этих проблем и обеспечения отличного опыта сборки для всех пользователей Swift. С этим выпуском у SwiftPM появилась возможность предложить единый механизм выполнения сборок для всех платформ. Это изменение должно быть прозрачным для пользователей и сохранять полную совместимость со всеми существующими пакетами, обеспечивая последовательную кроссплатформенную работу. В то же время оно закладывает основу для реализации новых функций и улучшений на всех платформах и во всех инструментах, а также открывает новые возможности оптимизации производительности и работы с разработчиками. В качестве первого небольшого шага на пути к этому видению сегодня команда отправляет запрос на исправление, чтобы начать процесс интеграции поддержки Swift Build в SwiftPM в качестве альтернативного движка сборки. В ближайшие месяцы мы хотели бы совместно с сообществом завершить работу по унификации интеграций систем сборки, чтобы пользователи могли воспользоваться будущими улучшениями инструментария на всех платформах и моделях проектов.

Мы считаем, что это важный шаг на пути к созданию здоровой экосистемы пакетов, в которой разработчики могут рассчитывать на последовательный, отполированный опыт разработки - независимо от того, какую IDE они используют и на какой платформе работают. Мы поделимся более подробной информацией об этой работе на форумах Swift и будем рады услышать отзывы других!

Приглашение к участию

Мы с нетерпением ждем совместной работы с сообществом, чтобы продолжать совершенствовать способы создания кода Swift. Вы можете найти репозиторий swift-build в организации Swift на GitHub, включая README и документацию, описывающую, как собирать и вносить вклад. Приветствуется внесение вклада через запросы на исправление и проблемы, а также мы будем рады получить отзывы и идеи по улучшению на форуме Swift.

Это новая захватывающая глава в развитии системы сборки Swift, и мы с нетерпением ждем всех возможностей, которые она открывает для Swift!

Источник