Портирование приложения для iPhone. Если бы необходимо было запустить приложение снова с нуля, что Вы сделали бы по-другому?

Если бы необходимо было запустить приложение снова с нуля, что Вы сделали бы по-другому, зная платформы, на которые Вы собирались портировать? Это подвергает сомнению, прибывает, поскольку моя команда собирается подвергнуться разработке для мобильного приложения, предназначающегося для iPhone, андроида и QT. Мы стремимся завершать версию iPhone сначала и затем порт к андроиду и QT, и было бы замечательно знать, что любые подсказки или идеологии схватывают/используют с самого начала, который сделает процесс портирования максимально бесшовным. Я уверен там несколько из Вас, кто завершил их версию iPhone приложения сначала и затем пошел о разработке версии андроида. Я стремлюсь знать любое из препятствий, с которыми Вы встретились, или вещи, Вам жаль, что Вы не знали от запуска.

править: Строго говоря, приложение, мы составляем завещание, содержит формы и некоторый зрительный ряд (диаграммы)

6
задан theraven 4 July 2010 в 22:27
поделиться

3 ответа

Я думаю, что хотя "портирование" - правильный глагол в данном контексте, концепция может быть неправильной. Это может быть непопулярным ответом, но вот что я скажу:

Не портируйте. Некоторое количество классов может быть непосредственно пригодно для использования (только с переводом языка) с одной платформы на другую. Их вы переносите. Однако пользовательский интерфейс может и должен быть совершенно различным для двух платформ... разные концепции, и, что более важно, разные компоненты и разные соглашения, как с точки зрения пользователя, так и со стороны разработчика.

В качестве примера можно привести приложение New York Times на iPhone и Android. Я уверен, что им удалось сохранить примерно половину приложения, работающего на общем коде, но остальное переведено в соответствии с идиомами и SDK каждой платформы. На первый взгляд, это одно и то же приложение, но когда вы действительно вникаете в него, многие вещи оказываются совершенно разными".

Поэтому вместо того, чтобы советовать вам "не заканчивать один порт, прежде чем приступать к другим", я бы посоветовал вам определить общие или разделяемые части приложения и уделить пристальное внимание тому, чтобы сделать их как можно более общими. Остальная часть приложения, вероятно, должна быть специфичной для конкретной платформы (очевидно, что ваши версии для iPhone и iPad должны иметь около 90% или более общего кода...)

.
3
ответ дан 17 December 2019 в 02:21
поделиться

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

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

Уделите пристальное внимание архитектуре вашего программного обеспечения (MVC? хотя Qt - это Model-View-Delegate). Всегда существует тенденция к нарушению архитектурной чистоты, чтобы быстрее выйти на рынок с немного более грязным, немного более халтурным решением. Постарайтесь противостоять этому, насколько это возможно, потому что вам все равно придется откусить эти пули очень скоро.

2
ответ дан 17 December 2019 в 02:21
поделиться

Как отметил Саймон, параллельно начните работу хотя бы над одним из них. Вы столкнетесь с множеством проблем, связанных с реализацией одной функции одинаковым образом на всех платформах, и это произойдет, когда мы попытаемся имитировать одинаковый дизайн пользовательского интерфейса (использование элементов управления) на всех платформах.

1
ответ дан 17 December 2019 в 02:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: