Рабочий процесс универсальных приложений

До сих пор я имел дело только с приложениями для iPhone, и пришло время сделать их универсальными. Я смотрел лекцию Пола Хегарти об универсальных приложениях на iTunesU, и у меня в голове возникло несколько вопросов.

Если я правильно понял концепцию, то основное различие между iPad и iPhone (при кодировании) заключается в том, что iPad поддерживает контроллер с разделенным экраном, и этим нужно пользоваться, верно?

Что сделал г-н Хегарти, так это адаптировал код одного приложения и добавил условные операторы, чтобы они отличались, когда приложение работает на iPad или iPhone.

Мой вопрос в том, что это обычно делается? Я очень организованный парень, и мне нравится, чтобы все было максимально структурировано. Итак, моим первым шагом было создание полного набора контроллеров представления для управления раскадровкой iPad вместо того, чтобы иметь один контроллер представления, заполненный кодом для обоих устройств. можно и так? что считается хорошей практикой?

Заранее спасибо!


person Marcal    schedule 12.06.2012    source источник
comment
Повторно используйте как можно больше кода.   -  person melsam    schedule 12.06.2012


Ответы (2)


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

Между элементами управления iphone и ipad не так много различий, за исключением того, что на iPad мы можем использовать popover и split view. Поэтому я бы как можно больше делился кодом в контроллере представления.

person Raymond Wang    schedule 12.06.2012
comment
Что ж, если вы создадите два приложения, пользователям придется покупать их дважды. Один раз для iPhone и один для iPad. Я делаю тестовый проект, чтобы проверить это, и пока я работаю над общим кодом, и он не кажется таким сложным, как я ожидал. - person Marcal; 13.06.2012
comment
Нет, этого не должно быть, если у вас есть чистый код, написанный в стиле MVC. Ваша модель должна быть полностью отделена от вашего представления, поэтому это не имеет значения. В вашем контроллере, если вы используете одни и те же элементы управления как в представлении iphone, так и в представлении ipad, вы можете поделиться кодом. Вы должны написать код, когда вы не используете одни и те же элементы управления. - person Raymond Wang; 13.06.2012
comment
Да, я очень дотошен, когда дело доходит до MVC. Это помогает мне держать вещи в порядке. Как я уже сказал, до сих пор это было намного проще, чем ожидалось. Спасибо за отзыв! - person Marcal; 13.06.2012

Я только что опубликовал git для «преобразования» приложения для iPhone в универсальное приложение. Взгляните — https://github.com/BTLibrary/BTSplitViewController

person Byte    schedule 09.06.2014
comment
Вы смотрели видео WWDC этого года, верно? - person jrturton; 09.06.2014
comment
Да, и сбор признаков, мягко говоря, очень громоздкий. Чтобы понять, потребуется много времени и ресурсов, не говоря уже о том, чтобы внедрить их в существующую модель. О, и хотите поддерживать iOS7? извините не могу. Итак... прежде чем вы уйдете и скажете, что мы все должны писать коды на Swift и использовать все новейшие и лучшие API, я бы посоветовал вам подождать и посмотреть, как все будет. Я упоминал, что для реализации моего метода требуется 5 минут? - person Byte; 09.06.2014
comment
Я говорил об изменениях в UISplitViewController, которые кажутся очень похожими на то, что вы реализовали здесь, но неважно. Возможно, я должен был добавить ;) или что-то в этом роде? - person jrturton; 09.06.2014
comment
Извините, я не знал об изменениях в UISplitView. Спасибо, что дал мне знать. Я пойду проверю. - person Byte; 10.06.2014