2010-10-21 80 views
15

我刚刚花了很多时间寻找最佳方式来为我创建的现有导轨应用程序创建iphone和android应用程序,我觉得我没有实际上已经接近知道如何最好地实现这一点。为现有导轨应用程序创建iphone和android应用程序

我想要什么:

  • 我想有Rails应用程序和移动代码清楚分开。我不想在我的Rails应用程序中渲染不同的布局。我宁愿使用类似手机差距的东西,这使我可以使用大致相同的代码库来运行移动应用程序。
  • 我希望在移动应用程序中具有离线/同步功能(因此,如果用户在iPhone上创建记录时,应用程序应将该记录保存在手机中并继续尝试同步。该记录的Web应用程序,直到成功
  • 能够直接访问硬件的功能将需要在道路上GPS,加速计等

我的问题:

  • 这是一个很好的使用oauth的情况?我是否会在我的web应用程序中构建一个oauth提供程序,然后bu将两个移动应用程序作为客户端添加到Web应用程序中?
  • 有没有更容易的方法安全授权,我错过了?
  • 设计与oauth一起工作吗?我的应用程序目前建立在设计之上。
  • 这是同步应该抽象到中间件或金属的东西?

对不起,我知道这实际上是很多问题,但我希望熟悉情况的人以全面的方式回答问题,而不仅仅是一些可以留下更多问题的小问题。我觉得现在这是一种常见的情况 - 一天,但我似乎无法在我的搜索中找到任何最新的东西。

干杯!

ps。 - 如果你自己做了这样的事情,并知道如何将它取消,我很乐意直接与你谈谈。我甚至会买啤酒。认真......没有接受者?

+0

Erskingardner,当你有多个问题时,你应该创建多个问题,以便每个人都可以有一组单独的答案,对其他人也是可搜索和有用的。 – edgerunner 2010-11-23 08:44:34

回答

3

我一直在构建一个带有Rails后端的iPhone应用程序。我一直在使用Objective-C,因为它需要完整的核心位置框架,而这是基于浏览器的解决方案所不具备的。所以如果你想使用设备的全部功能,你必须使用本地开发环境。

我一直在使用Objective Resource http://iphoneonrails.com/这是一个开源框架,它为Objective C NSObject类提供了类似于Active Resource的扩展,并且与我的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 

我不,如果这个回答你所有的问题,因为我不知道有足够的了解您的应用程序,但它是一个很好的起点。

+0

很酷。感谢Robert的快速反应。有了这个解决方案,你的rails后端也可以通过普通的web界面访问吗?或者它只是服务于iPhone应用程序?我真的很想了解更多关于Objective Resource的信息,但我会在开始提问之前仔细研究它。 – erskingardner 2010-10-21 15:55:02

+0

它也可以通过网页界面访问,但这只是为了测试目的,因为它纯粹是作为iPhone应用程序后端而设计的。我开发了Rails代码,最初在浏览器上测试它,然后使用Objective Resource与它连接。 – 2010-10-21 16:05:05

+0

你在应用程序和后端之间使用了什么(如果有的话)身份验证 - 任何疑难解答/提示?谢谢。 – 2010-12-17 09:40:20

4

我建立了Grails的后端移动应用必须支持Android和iPhone

到目前为止,我已经做了几次迭代,同时试图解决技术,原生的Objective-C,原生Android,的PhoneGap和钛加速器。

用于身份验证我使用带有基本身份验证的HTTPS。我知道人们对基本身份验证感到担忧,但已经有人认为这两种方式看到这StackOverflow Question

我还没有解决同步问题,但我不期望实现该解决方案的最初复杂,将存储本地内容(XML或JSON)并按需返回服务器。内容以本地格式存储在发布到服务器时使用的相同格式中

在grails中后端,所有REST API调用都会在每个请求中记录和验证。可能会增加额外的安全性只允许已注册的特定设备访问API的和额外的安全级别

+0

对,感谢Aaron的解释。听到很多关于这样的事情的观点总是很好的。 – erskingardner 2010-11-10 06:55:25

0

也许你会基于烬-auth的发现有用我的例子 + ember.js应用程序与令牌认证和几种OAuth策略。它是响应和作为一个桌面移动应用程序与Phonegap

目前在德的devel的分支:https://github.com/joscas/base_app/tree/devel

这里的生活:https://starter-app-staging.herokuapp.com的桌面版本。

它使用phonegap-rails宝石(我也是作者)导出应用程序资产,修复路径等没有麻烦。

+0

嘿@joscas你能提供一些关于这方面的更多细节吗?我正在尝试创建类似的应用程序,该应用程序在脱机时适用于Android,并与vps上托管的Rails服务器同步。当应用程序能够访问互联网时,它将连接到Rails服务器并上传/获取数据。 – rahoolm 2014-12-28 20:26:45

+0

对于该应用程序的离线数据同步,我将使用Couchbase mobile http://developer.couchbase.com/mobile/。看到他们有Phonegap支持。否则,如果您没有多个用户和安全问题,则基本的CouchDB复制将会起作用。 – joscas 2014-12-28 21:09:14

相关问题