Существует множество межплатформенных мобильных платформ разработки. Основные платформы, все взаимоисключающие:
- iOS (iPhone, iPad и iPod Touch)
- Android
- Blackberry
- Windows Mobile
- Windows Phone 7
- Symbian
- MeeGo (слияние Maemo и Moblin)
- WebOS
Также существует множество различных инфраструктур для мобильных приложений, которые поддерживают различные массивы платформ смартфонов, включая, но не ограничиваясь:
- Rhodes
- ELIPS
- RAMP
- Titanium
- PhoneGap
- MoSync
- ротация
- Бедрок
- Qt
Qt - отличная платформа для разработки кросс-платформенных настольных приложений, а также заботится о нескольких мобильных платформах - Windows Mobile, Symbian, MeeGo. Есть порты сообщества для iOS и Android (и webOS?). Blackberry и WP7 теперь на свой страх и риск.
MoSync также выглядит неплохо, поддерживая большое количество платформ, включая Java-based, из С++. Однако это не очень хорошо известно AFAIK и имеет свои проблемы.
Итак, мой вопрос: действительно ли стоит использовать кросс-платформенную платформу для мобильной разработки? Каждый, кого я нашел, имеет один недостаток или другой, который делает его непригодным для использования.
По крайней мере, если Qt поддерживает iOS и Android, вам понадобится не более трех версий приложения для поддержки всех платформ (Qt, Blackberry и WP7). Порты сообщества, которые находятся вокруг, не очень хорошо поддерживаются, хотя и далеки от завершения. Кроме того, даже если они будут завершены, будет ли когда-либо поддерживать их в любом случае или это будет считаться плохой бизнес-стратегией?
Должен ли я просто укусить пулю и написать родные порты для каждой платформы смартфонов? Qt + iOS + Android + WP7 + Blackberry + webOS? 5-6 версий приложения довольно много для поддержки, но решения для кросс-платформенной разработки на смартфонах сейчас не выглядят великолепно.