Как мы разрешили использование Storyboard в iOS-разработке
Любая компания на определенном этапе своего развития приходит к тому, что необходимо создать собственное мобильное приложение, чтобы еще более эффективно предлагать свои товары, услуги, получать большую прибыль и обеспечить лучшее взаимодействие с клиентами. Одно из популярных технических решений этой задачи — разработка и продвижение приложения через Apple enterprise account. И без того хороший функционал, который предлагается компанией Эппл разработчикам, регулярно обновляется и дополняется с учетом меняющихся тенденций. Одна из относительно новых опций, которая получила разные отклики, — Storyboards, воспользоваться которой можно после регистрации iOS developer account. Основная проблема, которая решается посредством этой опции, — визуализация экранов приложений на Apple app store, для чего и нужен developer, настройка более оптимальных связей между ними. Однако, вопреки ожиданиям многих разработчиков, в некоторых случаях применение такого инструмента действительно будет эффективным, в других — создает определенные проблемы при управлении приложениями. Самостоятельно решить, что лучше использовать — рукописный код либо Storyboards, не всегда легко. Поэтому имеет смысл воспользоваться помощью профильных специалистов компании Nova.Shop, которые подскажут оптимальное решение в каждом конкретном случае. При этом все равно не лишним будет знать о том, какие плюсы и минусы имеет эта функция.
Недостатки Storyboards — основные моменты
Большинство разработчиков на начальном этапе планирования мобильного приложения, особенно если это не крупные корпорации, а частные предприниматели, сталкиваются с задачей, как оплатить Apple developer. На самом деле особых сложностей здесь не существует, ведь интерфейс кабинета разработчика практичный и интуитивно понятный. Поэтому просто нужно сделать привязку карты, лучше сразу настроить автооплату, чтобы исключить ограничение по функционалу сервиса. Дальше уже предстоит разбираться во всех доступных опциях, в зависимости от выбранного тарифного плана. Рассмотрим основные минусы Storyboards, который предлагается в account developer Apple:
- Сложность правок конфликтов при слиянии изменений. Основная проблема здесь заключается в том, что Storyboard представляет собой файл типа XML, поэтому он хуже читается, чем код. Однако степень сложности напрямую зависит от того, как именно планируется задействовать эту опцию. Например, используя Storyboard в Apple developer account, можно не помещать весь UI, а разбить его на несколько мелких. В итоге не будет конфликта между разработчиками, а если все же они возникнут, то проще будут разрешаться. Второй способ нивелировать все проблемы, если требуется задействовать один и тот же View на Apple enterprise developer, — создать отдельный подкласс и собственный файл формата Xib. Здесь важно понимать, что при использовании нескольких Storyboards вместо одного исчезает возможность наблюдения комплексной карты приложения в одном файле. Однако чаще всего это и не требуется, акцент делается лишь на одной части, которая поддается изменениям.
- Проблемы с повторным использованием кода. Разработчики, которые имеют опыт работы с сервисом Apple, в том числе moves developer point to future, выяснили, что проблемы чаще возникают, когда Storyboards используется без Xibs. При наличии Xibs не составляет проблем создать переиспользуемые Views. С ними тоже достаточно удобно работать в коде.
- Нет функции кастомных инициализаторов для UIViewControllers. Технически есть несколько решений, которые позволят избавиться от строковых литералов, однако в корне эта проблема не решается.
- Сложная структура навигации по мере увеличения масштаба Storyboard. Это — задача, которую должен решать опытный программист, а не новичок, у которого возникли проблемы даже с тем, как проводится оплата Apple developer program. Основной способ решения — разбивание Storyboard на несколько отдельных частей, более мелкого формата. Для упрощения всех процессов можно эффективно задействовать Storyboard Reference.
- Торможение при загрузке. Если Storyboard включает в себя большое число экранов, в которых используются многочисленные constraints, Xcode однозначно будет подтормаживать. Решение такой проблемы — аналогично предыдущему пункту.
Все эти проблемы в комплексе и по отдельности могут спровоцировать падение приложения. Поэтому запуском и настройкой должен заниматься специалист, способный купировать все возникающие на этапе тестирования и после запуска приложения технические проблемы.
Преимущества Storyboard — важные нюансы
Несмотря на все недочеты, которые возникают исключительно на фоне технических особенностей применения сервиса Apple для сборки приложений create developer certificate, эта функция обеспечивает и ряд плюсов, значимость которых нельзя упускать из виду:
- Удобная и простая визуализация пользовательского интерфейса. Даже новичок сможет найти точки вход в приложение и перехода к новому экрану. Буквально в пару кликом можно создавать новые UIView, настраивать их внешний вид, поведение. То есть функционал остается интуитивно понятным и достаточно эффективным.
- Наличие мощного полезного инструмента Auto Layout, посредством которого поддерживается множество размеров экранов. Благодаря Interface Builder есть возможность предварительно оценивать результат выполненной работы, даже без запуска приложения. Причем все экраны можно просматривать одновременно.
- Удаление шаблонного UI кода. За счет применения Xibs, а также Storyboards можно снизить сложность структуры кода, создать его с большим фокусом на логике.
- Классификация по размерам. Так как каждый год создаются новые гаджеты с вариативными размерами, разработчикам нужно регулярно адаптировать приложения под новые версии и модели. Такие опции, как size classes, trait variations в разы упрощают задачу ориентации экрана. Есть возможность даже сохранить выбор настроек, по которым система автоматически будет адаптировать визуализацию приложения на любых типах экранов.
Таким образом, Storyboards — инструмент, у которого просматриваются и сильные, и слабые стороны. Полностью отказываться от его применения однозначно не стоит. Грамотное применение может в разы увеличить эффективность приложения, что прямо отразиться на конверсии. Аналогичным образом можно задействовать уникальные инструменты на Google developer и Huawei store developer.
Блог