Какое мобильное кросс-платформенное решение на основе Ruby?

Я рассматриваю способы использования Ruby для мобильной кросс-платформенной разработки. Нам нужна поддержка, по крайней мере, Android en iOS, с поддержкой Windows Phone и Blackberry. Это приложение, которое попадет в магазины приложений для широкой публики, так что это не просто корпоративное предприятие. До сих пор я нашел:

  • Rhodes, охватывает все упомянутые платформы и с открытым исходным кодом. Нам не нужны дополнительные (платные) функции от RhoMobile прямо сейчас.
  • RubyMotion; iOS только и стоит 199 кубометров, к сожалению, нет пробной версии.
  • Ruboto, только для Android и с открытым исходным кодом.
  • MobiRuby, iOS поддерживается только с поддержкой Android, с открытым исходным кодом, но выглядит так, что он недостаточно зрел на момент написания для наших нужд.

У нас также есть обязательный случай использования, в котором нам нужен доступ одновременно как к камере, так и к акселерометру, и извлекать данные из акселерометра на экране. Поскольку это так специфично, оно не поддерживается ни в одной кросс-платформенной структуре, на которую я смотрел (включая другие, такие как Phonegap, Titanium и т.д.), И похоже, что мне нужно написать собственный код для каждой платформы, чтобы это работало.

До сих пор я склонен выбирать Родоса. Это проверенная структура и, похоже, способна делать все, что мне нужно, включая "переход на родной язык" для вышеупомянутого варианта использования. Другим вариантом будет использование RubyMotion и Ruboto, которые являются одновременно решениями для написания Ruby вместо Objective-C или Java. Теоретически я должен иметь возможность распространять общий код (например, подключение и хранение) на разных платформах, хотя я не мог найти примеров, когда кто-либо успешно использовал эти два для написания приложения, которое работает как на Android, так и на iOS.

Мне интересно, может ли кто-нибудь подтвердить мои мысли или что я что-то упустил. Конечно, любые дополнительные идеи приветствуются.

Ответы

Ответ 1

Если вы выберете Ruboto, вы можете использовать свой UI-независимый Ruby-код как есть. Код пользовательского интерфейса, скорее всего, будет зависящим от платформы.

Ruboto еще молод, но есть больше проектов, которые начинают его использовать. Одним из примеров является

https://play.google.com/store/apps/details?id=com.jonsoft.globalchat

Он разделяет коммуникационный код Ruby на разных платформах.

будучи одним из разработчиков проекта Ruboto, я могу обещать вам хорошую поддержку и полный опыт Ruby.

Для iOS RubyMotion выглядит хорошо, но я не использовал его. Вы должны иметь возможность использовать общую кодовую базу для общей логики, но отдельные базы кода для пользовательского интерфейса и для доступа к датчикам.

Ответ 2

Я бы продолжил использовать родную Java для Android и RubyMotion для iOS и имел две базы кода. RubyMotion является самым стабильным из тех, что вы упомянули, и стоит его для разработки iOS, но на платформе Android нет хорошей альтернативы.

Ответ 3

Родос не имеет ничего общего с веб-приложениями. Родос позволяет создавать собственные приложения с Ruby и на многие годы более зрелые, чем эти альтернативы. Он также поддерживает все основные ОС смартфонов