Преимущества и недостатки использования раскадровки? [закрыто

StackOverflow https://stackoverflow.com/questions/9360826

Вопрос

Я уже давно пишу приложения для iOS и постепенно перешел от того, чтобы интенсивно выполнять пользовательский интерфейс, к интенсивному использованию интерфейсного строителя. Теперь я думаю об использовании новой функции раскадровки для некоторых из моих новых проектов, но у меня не хватает опыта или знаний, чтобы рассчитать преимущества и недостатки.Кто -нибудь может привести несколько примеров или информацию о том, что при использовании раскадровки окупается и когда это было пустой тратой времени?

Это было полезно?

Решение

Преимущества раскадровки

  • Это круто - СУДАВА СПОСОБ
  • Использование StoryBoardSegues Чтобы определить навигацию/модальные отношения
  • Если ваше приложение поддерживает несколько устройств, хороший способ организовать различные представления (по раскадрующим плату, а не именование и т. Д.)
  • Приятно для прототипов
  • Прототип UITableViewCell может сэкономить время

Недостатки раскадровки

  • Это функция времени выполнения, поэтому я считаю, что она доступна только в iOS 5
  • StoryBoardSegues в моем опыте, и вы можете использовать prepareForSegue много
  • Как и IB, не очень дружелюбно с другими двигателями дисплея и набора инструментов
  • Трудно обмениваться дизайнами для одного представления или набора представлений - вы должны отправлять все или ничего

Это кажутся довольно поверхностными, я думаю, я мало что подумал ... сначала я был Gung-Ho о сюжетных досках, но теперь я вернулся к IB или даже просто программатическому конфигурации взглядов ... чем больше я Используйте их, тем меньше они мне нравятся, и чем больше они чувствуют себя как уловка/трата времени.

Редактировать

Я написал этот ответ несколько лет назад. Я оставил его таким же, как и раньше, для потомства, хотя некоторые моменты, вероятно, больше не актуальны (т.е. тот факт, что это требует iOS 5+).

Через некоторое время мое мнение не изменилось на раскадровках. Как упоминали другие, они в порядке, если вы работаете в одиночку над приложением с несколькими взглядами для управления, но они становятся настоящей болью с контролем и сотрудничеством источника. Кроме того, я предпочитаю один файл один-объект, и раскадровки, очевидно, объединяют вещи (как и IB, но в меньшей степени).

Если бы я писал приложение, предназначенное для поддержания в течение какого -то серьезного времени, я бы использовал конфигурацию программного представления по IB, но определенно IB над рассеянными досками.

Другие советы

Еще один недостаток в рамках раскадровки, не упомянутой, состоит в том, что слияния могут быть очень сложными, если не невозможно, если есть конфликты.

Обновление: мне также пришло в голову, что он ставит логику в два места. Если ваш переход не поступает правильно, это может быть из -за ошибки в PrepareForsegue или это может быть потому, что вы неправильно назвали свой переход. Делать вещи программно, в конце концов, не так сложно.

На последнем WWDC (2013) Apple Devs настоятельно рекомендуется использовать раскадровку и встроенные материалы для IB, чтобы выполнить большую часть вашего кода для вас, а не писать вручную, потому что вы гораздо чаще избегаете ослабления и воспользоваться обновлениями функций с помощью автоматических преобразований Анкет

Одиноким недостатком является трудность разрешения сотрудничества с GIT на раскадровках, так как будут конфликты практически на каждом коммите.

Если вы сольный программист, вы всегда должны использовать раскадровки.

У меня есть аналогичный фон- я начал в основном с программного создания своего iOS-пользовательского интерфейса, так как IB не очень удобен для пользователя, но в последнее время решил использовать IB все больше и больше, так как он лучше для разработки пользовательского интерфейса и отлично работает для стандартного- стандартного- элементы.

С новым XCODE я перешел на раскадровку, поскольку они предоставляют полный вид приложения. Можно сгенерировать полный пользовательский интерфейс (со всеми представлениями) в одном файле, который можно использовать для прототипирования и который я могу просматривать своих коллег перед написанием первой строки кода. Это намного лучше и проще, чем проектирование с помощью Photoshop или аналогичных инструментов.

Однако, если вы используете много своих собственных элементов/элементов пользовательского интерфейса или чего -то, используя другой «двигатель» (Cocos2d, OpenGL и т. Д.), Обычно лучше генерировать пользовательский интерфейс, так как эти «двигатели» на самом деле не интегрированы с IB /Раскадровки.

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

Вот ссылка на сайт: http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

Преимущества раскадровки:

1) Прежде чем начать разработку приложения, вы можете увидеть все экраны приложения.

2) Вы можете визуально увидеть отношения между каждым экраном.

3) Это может помочь уменьшить количество кода, специально специально для UitableView, вы можете использовать прототип ячейки и статические ячейки для разработки вашего таблица в раскадровке.

4) В случае, если вам придется поработать над кем -то другим кодом, вы можете лучше понять поток приложения, просмотрев раскадровку за короткое время.

5) Вы можете настроить пользовательский интерфейс для iPhone 4 и iPhone 5, применив форм -фактор Retina из раскадровки, не запустив приложение снова и снова.

6) Если вы выполняете работу по клиенту, то некоторые клиенты хотят увидеть прототип приложения, прежде чем начать его разработку, здесь рассказывается вам очень помогает.

Недостатки раскадровки:

1) Для раскадровки вам понадобится большой экран, особенно в случае iPad.

2) Я также испытываю трудности, копируя представления из других приложений в раскадровку.

3) Я также испытываю проблемы в раскадровке, когда несколько разработчиков работают над одним и тем же проектом, используя репозиторий GIT.

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

Одно слово (НЕ) Один из самых больших недостатков раскадровки, кроме конфликтов GIT, которые делают невозможным для двух или более людей поработать над ней. Но также, если проект стал таким большим, и у вас есть +40 экранов, если вы достаточно безумны, чтобы переместить что -нибудь только один пиксель в любом контроллере представления, который у вас есть в раскадровании, у вас будет очень огромное время компиляции, что вы можете построить свой Приложение и запустите его более чем за 5 минут, и, конечно, не позволяйте мне начать с архивирования, чтобы дать какой -то один Adhoc приложения.

После этого болезненного опыта я полностью вернулся в старые файлы Goldy Great Xib и удалил файл раскадровки в огромной празднования огня.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top