2010-10-21 117 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

相關問題