Архитектура приложения для нескольких мобильных устройств - PullRequest
1 голос
/ 14 июля 2011

Я подумываю о создании приложения для Windows Phone 7, Android, iphone, ipad и, возможно, многого другого.Поскольку я собираюсь использовать похожий внешний вид и содержание, мне кажется, что, возможно, стоит попытаться создать общую базовую структуру, которую я мог бы повторно использовать в различных средах.

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

Спасибо.

Ответы [ 3 ]

3 голосов
/ 14 июля 2011

Помимо простых приложений, этого не произойдет.

Существует ряд проблем, с которыми вы можете столкнуться, например:

  • Различные родные языки программирования на разных мобильных платформах.
  • Различные парадигмы пользовательского интерфейса на разных мобильных платформах.
  • Очень разные размеры экрана даже на одной мобильной платформе (например, iphone vs ipad).
  • Локализация пользовательского интерфейса

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

Для перечисленных платформ вы можете попробовать использовать mono, но это поможет только следующими способами:

  • Один язык программирования (C #) вместо другого языка для платформы.
  • Логика ядра приложения может совместно использоваться платформами.
  • Собственный пользовательский интерфейс для приложения.

Недостатки использования mono:

  • Вам все еще нужно записать слой пользовательского интерфейса для каждой платформы, так как mono привязывается к нижележащему API пользовательского интерфейса.
  • Размер Mono во время выполнения ииногда скорость.
  • Моно на мобильных платформах все еще новое, я разработал одно приложение для iphone в monotouch и обнаружил множество проблем с первым выпуском.

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

Я обнаружил, что попытка определить макет основного пользовательского интерфейса просто не работает во всех ситуациях в любом приложении, которое усложняет информацию, которую необходимо отобразить пользователю.Независимо от того, насколько «сложным» вы можете определить макет, что-то сломает его.Вам либо придется жить с «плохим» пользовательским интерфейсом в некоторых случаях, либо с накладными расходами на обслуживание.

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

2 голосов
/ 14 июля 2011

Есть несколько наборов x-платформы: appcelerator , пробел в телефоне и т. Д. Или вы можете пойти по гибридному маршруту и ​​использовать что-то вроде моно в качестве полумеры, тогда есть Возможность создания веб-приложения с HTML5.

Я бы не стал кататься, это точно

0 голосов
/ 05 октября 2012

Будьте осторожны при переводе iPad на дизайн Android. Надеюсь, эта статья поможет вам:

http://morriscodes.blogspot.com/2012/09/designing-for-android-tablets-vs-ipad.html

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