Как стать автором
Обновить
22
0
Алексей Зверев @Argas

iOS Team Lead

Отправить сообщение
У нормального, вовлеченного в работу текущего проекта разработчика нет свободного времени, чтобы мотаться по каким-то там митапам.

Бросьте, часто все действительно все иначе. Кто тогда все эти разработчики, которые доходят до конференций?) Если за весь год не получается пару раз оставить проект на 1-2 дня, то звучит так, что с процессами явно что-то не так.

Лично не сторонник сторибордов: предпочитаю xib, но исходя из контекста кажется, что вы имеете в виду "верстку в Storyboard и Xib" против "верстки в коде", по названию же кажется что речь исключительно про Storyboard.


Вынужден не согласиться с некоторыми вашими утверждениями:


Если стоит задача создать сложный экран с анимацией и эффектами, с которыми Storyboard не справится, то нужно использовать код!

Очень категорично сказано. На мой взгляд это зависит от ситуации. Вам ведь ничего не мешает декомпозировать экран, верстая и реализуя составные части в отдельных нибах или в коде.


Storyboards мешают повторному использованию кода

Ниже вы сами же верно пишете про декомпозицию экрана на xib'ы, что решает проблему. Почему же тогда это мешает повторному использованию?


Нельзя использовать кастомные инициализаторы для UIViewControllers, созданных в Storyboard

Вы правы. Но с iOS13 это возможно.


Тяжело править конфликты.

Под капотом там действительно XML, и если разработчики работают в двух разных экранах — конфликтов возникнуть не должно. Если же они работают над одним — конфликты появятся и в xib файле. Вы правы, если сравнение идет в отношении верстки в коде и storyboard, но не соглашусь если речь про xib и storyboard

Текущий ViewBuilder принимает на вход generic аргументы, с одним ограничением: каждый из них должен реализовывать протокол View.


static func buildBlock<C0, C1, C2>(_ c0: C0, _ c1: C1, _ c2: C2) -> TupleView<(C0, C1, C2)> where C0 : View, C1 : View, C2 : View

При этом аргументы могут быть совершенно разного типа. Например в VSack мы можем положить TextField, Toggle и что-нибудь еще вместе. И я думаю под капотом недостаточно знать, что аргумент под протоколом View — важно знать конкретный тип каждого аргумента.

Сам себя не держит, конечно же. Хранил ссылку на него, но на момент эксперимента это все равно не работало ¯\_(ツ)_/¯
Возможность совершать звонки и просматривать историю звонков пользователя через Siri, если верить доке.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность