Почему выбрать кодовую верстку вместо сторибордов и XIB, преимущества и недостатки
Что проверяют
Аргументацию про сопровождение и командную работу, а не вкусовые предпочтения. Заодно смотрят, отделяете ли вы Auto Layout от способа его задать и способны ли назвать случаи, когда визуальный редактор уместнее кода.
Как отвечать
Код выигрывает там, где важны ревью и переиспользование:
- изменения видны в обычном текстовом виде, ревью реально читается, конфликты при слиянии решаются построчно;
- экран параметризуется через инициализатор, зависимости передаются явно, компонент легко вынести в отдельный модуль;
- нет связей, которые существуют только в редакторе и молча ломаются в рантайме при переименовании;
- проще писать тесты и собирать один и тот же экран в разных конфигурациях.
Минусы называйте сами: строк больше, описание ограничений многословно, лечится небольшими обёртками и групповой активацией констрейнтов, визуального превью нет, дизайнеру и новому человеку сложнее сориентироваться.
Что остаётся за визуальным редактором: быстрый прототип, статичный экран, демонстрация потока экранов целиком. XIB тут компромисс: он мельче, описывает одну вью или ячейку и конфликтует заметно реже, чем один большой файл с двумя десятками сцен. Взрослая формулировка звучит так: выбор зависит от размера команды и срока жизни экрана. Если в проекте уже есть декларативный UI, вопрос во многом снимается, там разметка живёт в коде, а превью возвращается.
Где спотыкаются
Единственным доводом делают производительность. Проблема визуального редактора не в скорости отрисовки, а во времени разбора большого файла при запуске и в нечитаемых конфликтах его разметки.
Приписывают Auto Layout сторибордам. Ограничения одни и те же, отличается только способ их задать, и путаница сразу выдаёт поверхностное знание темы.
Отвечают категорично: «этим пользуются только новички». В живых проектах почти всегда гибрид, и собеседующий чаще проверяет, сможете ли вы работать с чужим решением, а не переписывать всё под себя.