Тред про генерацию проектов в iOS, поехали! 🧵
В iOS много всяких мелких моментов, про которые ты когда узнаешь то думаешь "оооооо, нифига себе"
Особенно это относится к вещам, которые нужно тыкать мышкой в IDE или AppStore Connect 😭🥵
Максимальная концентрация зла находится вот в этой панельке. В какой-то момент уже привыкаешь и не воспринимаешь сколько всяких переключалок нужно тыкнуть, чтобы понять что куда испортится, где какой файл ресурсов, где дебаг, а где релиз
Проще всего это объяснить на аналогии со сторибордом. Минусы точно такие же, как и при редактировании проекта:
- сложный UI, который работает далеко не всегда🕵🏻
- дифф выглядит так же сложно, как дифф между картинками 😅
- файлы меняются даже если просто что-то открыть 😵💫
Как только я узнал, что можно генерировать файлы проектов и забыть про все эти окошки, меню и галочки, то мир изменился навсегда.
Тут на арену залетает Xcodegen
github.com/yonaskolb/Xcod…
Просто делаете конфиг проекта в смузи-yaml формате, вызываете волшебный скрипт и все случается само собой! Можно не коммитить .xcodeproj и вообще больше не заходить в Build Settings и Build Phases.
К новой схеме работы нужно немного привыкнуть, но обратно уже не захочется. Я уже даже не представляю как живут люди с галочками и конфликтами в файлах проекта. Думаю кто-то получает зп только за то, что хорошо умеет их разруливать 👮🏻
Помимо Xcodegen есть ещё один более новый проект Tuist. Там все ещё круче из-за того, что все конфиги нужно писать на Swift, есть встроенные штуки для генерации кода и очень качественная документация.
Я больше пользоваться Xcodegen, но недавно погружался в Tuist и он показался мне более секси. Вот отличное сравнение от @SurfStudioRu
habr.com/ru/company/sur…
Это дополнительная внешняя зависимость, но я думаю, что сейчас генерация файлов проекта это уже must have.
Простой адопшен + ускоряем команду + можно уволить того самого челика или посадить его настраивать новые инапы для отправки на ревью в коннекте 😆
Закидывайте в реплаи свои истории про плюсы и минусы такого подхода, всегда интересно послушать кулстори 🚀
Данила Шевлюк