Что использовать для разработки кросс-платформенного мобильного приложения, активно использующего сеть и БД?

Рейтинг: 6Ответов: 3Опубликовано: 17.04.2015

Я программирую под Android и сейчас делаю простенькое мобильное приложение, по функционалу напоминающее обычный мессенджер.
В этом приложении я использую клиент-серверную архитектуру. Сервер написан на Java с расчётом на то, что будет развёрнут на Google App Engine. Нативный клиент под Android делает HTTP запросы к серверу, а сервер посылает сообщение через Google Cloud Messaging адресату или адресатам или отвечает на запрос объектами в JSON-формате. Кэш в СУБД SQLite.

И вот сейчас (когда приложеньице уже почти готово =)) я начал задумываться как же мне портировать (хотя бы часть функционала) на другие платформы: iOS и Windows Phone. Писать под каждую платформу своё приложение с нуля, мне кажется, будет затратным, т.к. я раньше не программировал под iOS и Windows Phone. Пожалуйста, если вы обладаете богатым опытом в области создания кросс-платформенных мобильных приложений, подскажите, как можно упростить создание и поддержку таких приложений.

Вот, что я нашёл:
продукты для создания кросс-платформенных приложений

Delphi XE          | Delphi, native compilation  | Delphi developers
Unity3D            | C#, UnityScript, Boo        | Game developers

Сейчас я смотрю в сторону j2objc, JUniversal и Appery.io (грубо говоря, обёртка над PhoneGap). И у меня такой вопрос: Какой из этих продуктов наиболее подходит для моего приложения?

В частности,

  • Смогу ли я использовать вместе с ними RetroFit и ActiveAndroid?
  • Будут ли работать Push Notifications (GCM / APN / MPNS)?

ps. Я рассматривал и отказался от Unity3D и Delphi XE, потому что, мне кажется, они сильно увеличат размер моего небольшого приложения. Я отказался от Xamarin, потому что я не .Net-разработчик.

Ответы

Ответов пока нет.