Лично я бы придерживался нативных приложений.Я работаю в компании, которая хочет создавать приложения для нескольких платформ, и они искали альтернативы нативной разработке, такие как Titanium и PhoneGap.Мы выбрали следующий подход:
- Меня наняли для разработки приложения для iPhone.
- Некоторые студенты университета, вероятно, будут работать над версией Android, гдеФреймворк / слой данных будет выглядеть и работать примерно так же, как мой код Objective-C, например:
-getFlightInfoWithId:forUserId:
станет чем-то вроде (void)getFlightInfo(flightId, userId)
в Java.
Вид и уровни контроллера, вероятно, будут сильно отличаться, в основном потому, что устройства Android и iOS имеют разные рекомендации и возможности графического интерфейса (например, размеры экрана Android могут сильно различаться, тогда как в iOS есть только 2 реальных варианта).
Для других небольших платформ мы предложим приложение HTML5.Для меня нативные приложения всегда предпочтительнее приложений, созданных с использованием кроссплатформенных наборов инструментов, так как в основном нативные приложения должны работать лучше, должны иметь лучшее «чувство» и иметь некоторые дополнительные возможности, например, могут использовать некоторые аппаратные функции, которые являются родными дляплатформа и недоступна в кроссплатформенном наборе инструментов.