Помимо простых приложений, этого не произойдет.
Существует ряд проблем, с которыми вы можете столкнуться, например:
- Различные родные языки программирования на разных мобильных платформах.
- Различные парадигмы пользовательского интерфейса на разных мобильных платформах.
- Очень разные размеры экрана даже на одной мобильной платформе (например, iphone vs ipad).
- Локализация пользовательского интерфейса
Чтобы реально использовать преимущества каждой мобильной платформы, вам необходимо создать пользовательский интерфейс для этой платформы, чтобы максимизировать ее парадигму пользовательского интерфейса.Также важно, какие размеры экрана вы хотите поддерживать, обслуживание небольших экранов может помешать вам отображать то, что вы можете отображать в пользовательском интерфейсе, если вы не создадите разную компоновку экрана для разных размеров экрана, чтобы обеспечить лучший интерфейс (много работы).Это может быть большой проблемой на одной платформе, не говоря уже о расширении ее на другие платформы.
Для перечисленных платформ вы можете попробовать использовать mono, но это поможет только следующими способами:
- Один язык программирования (C #) вместо другого языка для платформы.
- Логика ядра приложения может совместно использоваться платформами.
- Собственный пользовательский интерфейс для приложения.
Недостатки использования mono:
- Вам все еще нужно записать слой пользовательского интерфейса для каждой платформы, так как mono привязывается к нижележащему API пользовательского интерфейса.
- Размер Mono во время выполнения ииногда скорость.
- Моно на мобильных платформах все еще новое, я разработал одно приложение для iphone в monotouch и обнаружил множество проблем с первым выпуском.
Если вы не возражаете против некоторых из доводов "против", то моно может быть отличной платформой для разработки приложений определенного уровня.
Я обнаружил, что попытка определить макет основного пользовательского интерфейса просто не работает во всех ситуациях в любом приложении, которое усложняет информацию, которую необходимо отобразить пользователю.Независимо от того, насколько «сложным» вы можете определить макет, что-то сломает его.Вам либо придется жить с «плохим» пользовательским интерфейсом в некоторых случаях, либо с накладными расходами на обслуживание.
Мне нравится разрабатывать приложение для мобильной платформы, чтобы попытаться получить максимальную отдачу от этой платформы и ее функций.Это может означать, что версии других платформ могут работать по-разному, но, по крайней мере, на этой платформе это будет выглядеть корректно.