Можем ли мы использовать Ruby на рельсах для разработки мобильного приложения? - PullRequest
30 голосов
/ 02 ноября 2010

Поскольку рельсы используют архитектуру MVC.Мне было интересно, что если мы сможем использовать Rails для разработки мобильного приложения или любого веб-приложения.
Из MVC «M» и «C» не изменятся при разработке мобильного приложения, верно?
Я имею в видуМодели и контроллеры останутся веб-сервером.
Необходимо изменить только часть представления, чтобы вместо файлов html.erb я хотел использовать java, android sdk или любой другой, чтобы обеспечить пользовательский интерфейс для мобильного пользователя.

Могут ли некоторые просветить меня в этой перспективе.Также я слышал о том, что Jrbuy вступает в игру для нашего требования по разработке мобильных приложений.

Ответы [ 7 ]

25 голосов
/ 02 ноября 2010

Ответ на этот вопрос будет зависеть от того, как вы хотите развернуть это приложение.Вы хотите, чтобы он полностью работал на телефоне, или это может быть веб-приложение, замаскированное под приложение для iphone / android?

Для нативного решения приложения я бы воспользовался Rhodes Framework .Это не RoR, но вы увидите, что это MVC-инфраструктура, которая кажется похожей.Это позволит вам создавать собственные приложения для iphone / android с использованием Ruby.

Для второго варианта, веб-приложения, замаскированного под мобильное приложение, я бы порекомендовал Sencha Touch .Sencha проделал потрясающую работу, имитируя внешний вид нативных приложений для iphone / android с их библиотекой Javascript.С этим решением оно будет таким же, как и любое другое веб-приложение, хотя оно предназначено для Android и iPhone через его пользовательский интерфейс.

5 голосов
/ 04 мая 2013

Я создал пример rails / ember.js Приложение, которое экспортируется с Phonegap .Он использует только обычную архитектуру MVC Rails и приложения Ember.js.Может быть, вы найдете это полезным.Он также реализует аутентификацию токенов на основе ember-auth и нескольких стратегий OAuth.

В настоящее время в ветви de devel: https://github.com/joscas/base_app/tree/devel

Развертывание Heroku: https://starter -app-staging.herokuapp.com (версия для ПК)

Экспортируется с phonegap-rails gem (я также автор) для ресурсов, путей исправлений и т. д.

4 голосов
/ 06 февраля 2014

Абсолютно ДА!

Ruby on Rails - просто бэкэнд-технология, такая же, как вы планируете сделать для обычного браузера. Есть только две вещи, которые вы должны учитывать в мобильном приложении. Во-первых, это размер контента мобильного браузера, потому что вам нужно настроить макет в соответствии с размером. Вам может помочь HTML-метатег под названием viewport.

Ex.

Этот скрипт сообщит браузеру пользователя, что контент должен соответствовать размеру устройства, начальный масштаб определяет скорость просмотра, максимальный масштаб определяет, сколько раз эта страница может масштабироваться, а пользовательский масштаб = 0 означает, что пользователь не может масштабировать стр. Подробнее о окне просмотра вы можете узнать в документации Mozilla.

Еще одна вещь, которую вам необходимо учитывать, - это технологии HTML5, но на самом деле это не проблемы, когда вы используете jQuery mobile. Я рекомендую вам проверить их документы. Это очень полезно и понятно каждому.

1 голос
/ 11 июня 2015

Да, вы можете.Ваше представление может быть приложением веб-страницы / Android / IOS в качестве представления.

1 голос
/ 03 ноября 2010

RubyonRails - это фреймворк веб-приложения - он работает на сервере и в качестве наблюдателя пользователя является результатом приложения, созданного на RubyOnRails внутри браузера (или компонента браузера), несмотря на то, что вы можете обрабатывать на сервере только «M» из «MVC»,и полностью реализовать «V» и «C» на стороне клиента (в мобильном браузере).

Теоретически вы можете полностью развернуть приложение RubyOnRails на стороне клиента (даже на сервере RubyOnRails и т. д.), но это будет скореедорогой и трудный, но это не может быть необходимо ни в одном рациональном проекте.

при условии: есть два способа выбора:

  1. Организация приложения RubyonRails на сервере (процесс тамМодель) и обработайте "V" и "C" на стороне клиента с помощью любых надлежащих библиотек js.
  2. Вы можете разрабатывать Ruby (не приложение RubyOnRails) - по крайней мере, его можно разработать для Android с помощью JRuby.
0 голосов
/ 03 января 2019

Попробуйте использовать React Native, бэкэнд-технология по-прежнему может быть Ruby, в то время как интерфейс может использовать React Native для создания мобильных приложений на Android и iOS.

React Native

0 голосов
/ 02 ноября 2010

Возможно, вы захотите попробовать jQuery Mobile (который до сих пор находится в альфа-версии), если это всего лишь вопрос интерфейса. Если вам нужна более тесная интеграция с вашим мобильным устройством, я не думаю, что использование Rails будет достаточно эффективным.

...