Создание приложений для iphone & android для существующего приложения rails

Я просто потратил много времени на поиски лучших способов создания приложений для iphone и Android для существующего приложения rails, которое я создал, и я чувствую, что на самом деле я не стал ближе к пониманию того, как наилучшим образом достичь этого.

Что я хочу:

  • Я хочу, чтобы приложение rails и мобильный код были четко разделены. Я не хочу просто отображать другой макет в приложении rails. Я бы предпочел использовать что-то вроде разрыва в телефоне, что позволяет мне использовать примерно такую ​​же кодовую базу для запуска мобильных приложений.
  • Я хотел бы иметь автономные/синхронизированные возможности в мобильных приложениях (следовательно, если пользователь создает запись на своем iphone, пока они не охвачены, приложение должно сохранить запись на телефоне и продолжать пытаться синхронизировать которые записываются в веб-приложение до достижения успеха.
  • Доступ к аппаратным средствам будет необходим по дороге. GPS, акселерометр и т.д.

Мои вопросы:

  • Это хорошая ситуация для использования oauth? Могу ли я просто создать провайдера oauth в своем веб-приложении, а затем создать два мобильных приложения в качестве клиентов в веб-приложении?
  • Есть ли более простой способ для безопасного авторизации, который мне не хватает?
  • Работает ли Devise с oauth? На данный момент мое приложение построено на вершине дизайна.
  • Является ли эта синхронизация чем-то, что должно быть отнесено к промежуточному программному обеспечению или металу?

Извините, я знаю, что на самом деле у меня много вопросов, но я хотел бы, чтобы кто-то, кто знаком с ситуацией, отвечал всеобъемлющим образом, а не просто пару маленьких кусков, которые оставляют больше вопросов. Я чувствую, что сейчас это обычная ситуация, но я не могу найти что-нибудь актуальное в моих поисках.

Ура!

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

Ответы

Ответ 1

Я создаю приложение для iPhone с концом Rails. Я использовал Objective-C, потому что ему нужна полная инфраструктура Core Location, которая недоступна с помощью решения на основе браузера. Поэтому, если вы хотите использовать все возможности устройства, вы должны использовать собственную среду разработки.

Я использую Objective Resource http://iphoneonrails.com/, который представляет собой среду с открытым исходным кодом, которая предоставляет расширения Active Resource для классов Objective C NSObject и очень хорошо работает с моим Rails-приложением. Вам просто нужно поместить JSON или XML для действий вашего контроллера, как в приведенном ниже примере.

 class UsersController < ApplicationController
 # GET /users
 # GET /users.xml
 def index
   @users = User.all

  respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @users }
  format.json  { render :json => @users }
end

конец

Я не знаю, если это ответит на все ваши вопросы, поскольку я недостаточно знаю о вашем приложении, но это хорошая отправная точка.

Ответ 2

Я создаю мобильное приложение с бэкэндом grails, должен поддерживать андроид и iphone

До сих пор я делал несколько итераций, пытаясь опираться на технологию, родной objective-c, собственный андроид, phoneGap и титановый appcelerator.

для аутентификации я использую HTTPS с базовым auth. Я знаю, что люди обеспокоены базовой аутентификацией, но было доказано, что оба способа видят этот fooobar.com/questions/340953/...

Я еще не решил проблему синхронизации, но я не планирую сначала реализовывать этот комплекс решения, будет хранить локальный контент (XML или JSON) и возвращаться на сервер по требованию. Содержимое хранится локально в том же формате, который используется при отправке на сервер

Backend in grails, все вызовы API REST регистрируются и аутентифицируются по каждому запросу. Вероятно, добавит дополнительную защиту, позволяющую определенным зарегистрированным устройствам обращаться к API как к дополнительному уровню безопасности

Ответ 3

Возможно, вы найдете полезный мой пример rails + ember.js. Приложение с аутентификацией токена на основе ember-auth и нескольких стратегий OAuth. Он реагирует и работает как в рабочем столе и мобильном приложении с Phonegap.

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

Жизнь здесь: https://starter-app-staging.herokuapp.com для настольной версии.

Он использует phonegap-rails gem (из которого я также являюсь автором), чтобы экспортировать активы приложений, исправлять пути и т.д. без хлопот.