Swift Assist , описанный как сопутствующий инструмент для всех задач кодирования, призван помочь разработчикам преобразовывать идеи в код и сосредоточиться на проблемах более высокого уровня. Swift Assist, основанный на модели, работающей в облаке Apple, интегрирован в Xcode и способен генерировать код из подсказки, выраженной на человеческом языке.
Благодаря Swift Assist такие задачи, как изучение новых фреймворков и экспериментирование с новыми идеями, выполняются всего одним запросом. Swift Assist использует мощную модель, работающую в облаке.
Например, вы можете попросить Swift Assist преобразовать функцию для использования async/await, добавить карту с текущим местоположением пользователя, улучшить доступность представления и т. д.
По словам Apple, одним из преимуществ работы в облаке является то, что Swift Assist всегда будет в курсе новейших комплектов разработки программного обеспечения (SDK) и функций языка Swift. С другой стороны, компания гарантирует, что пользовательский код будет использоваться только для обработки запросов и не будет храниться на сервере Apple и использоваться для обучения их моделей.
В своем выступлении на WWDC 2024 старший менеджер Xcode и Swift Playground Кен Орр показал, как использовать Swift Assist для создания приложения для каталогизации классических компьютеров Mac, начиная с пустого проекта Xcode.
Первым приглашением Орра было «Создать список классических компьютеров Mac с именем и описанием», на что Swift Assist ответил, создав объект ClassicMac structдля представления моделей Mac и представление SwiftUI с предварительно заполненным массивом компьютеров Mac и объектом Listдля их отображения. Затем он попросил Swift Assist «добавить изображения рядом с каждым Mac», в результате чего существующее structбыло изменено, включив в него имя изображения, при этом изображения моделей Mac были взяты из каталога ресурсов проекта. Соответственно, представление SwiftUI было изменено, чтобы включить изображение в список. В качестве еще одного примера гибкости Swift Assist Орр попросил «Показывать компьютеры Mac в сетке, а не в списке», что привело к мгновенному изменению кода для использования файла LazyVGrid.
Swift Assist может помочь разработчикам выполнить множество различных задач, включая локализацию представления, добавление поддержки входа в систему, добавление дополнительных примеров в список и преобразование между различными типами стека, объяснил Орр.
По словам Орра, Swift Assist, наряду с прогнозирующим завершением кода Xcode, являются лишь первым шагом на пути к добавлению большей «интеллектуальности» в инструменты Apple, но он не предоставил никакой дополнительной информации относительно дорожной карты Apple.
Apple не раскрыла подробностей о модели Swift Assist, но, по словам Артема Динабурга из Trail of Bits , это должна быть модель с более чем 70 миллиардами параметров, специально обученная на Swift Code, SDK и документации.
Swift Assist станет общедоступной позднее в этом году, за исключением стран ЕС, сообщает Apple , из-за нормативной неопределенности, связанной с Законом о цифровых рынках.