Прямо из коробки у тебя куча примитивов и гибкая система для разметки экранов. Отдельно понравились реактивные примитивы работы с данными.
@State - для состояния вьюхи, @Binding для двунаправленой связи и @Observable для связи родительских вьюх и детей.Да, некоторые моменты как будто прибиты гвоздями. Например, надо было сделать выпадашку для поиска в заголовке окна, и вот не получилось сделать чтобы эта выпадашка могла перехватывать мышку. Скорее всего я не так понял, но выглядело как ограничения тулбара. Решил я использовав popover, который не такой кастомный зато работает.
Отдельно интересно выглядит свифт со своими акторами для многопоточности и кейс классами.
По началу я не смотрел в код пока не надо было работать с дебаггером чтобы отловить рейсы. Если бы клод умел работать с дебаггером, то наверное и этого бы делать не пришлось.
Очевидно, что ии оставляет много мусора с каждым новым витком архитектуры. Он делает работающую штуку, но довольно хрупкую. Однако это довольно просто разрулить, хоть и напрягает. По тем же причинам, что и на работе: хочется фичи пилить, а не легаси ковырять, а легаси с такой скоростью разработки создается очень быстро.
Сейчас в приложении 35539 строк свифта и 2 вкомпиленные сишные либы. Приложение готово. Я теперь воюю с апп стором и его ограничениями.
* наиисал - это не опечатка