2011-01-13 82 views
3

在開發與Java(Java EE)服務器通信的iPhone應用程序時,我一直在尋找關於最佳遠程方法調用實踐的一些意見。iPhone到Java EE遠程處理

現在很多iphone應用程序通常會與服務器後端進行通話。我通常更喜歡使用一些Spring庫在java中編寫我的服務器。到目前爲止,我還沒有發現或堅持iphone-> java服務器通信的明確做法。

什麼是您用來實現這種客戶端 - 服務器通信的一些技術解決方案和庫?

我一直記住的一件事是我希望通信協議很簡單,以便可以添加多個平臺,例如將來添加Android和可能的Blackberry客戶端,可以使用相同的協議與服務器。

回答

2

目前,我正在做這個工作,以及。我們的後端是Java EE(帶有Spring),當然前端是iOS。正如Knubo所建議的那樣,我們使用JSON作爲有效載荷格式。我們所有的Web服務也都是RESTful,可以更輕鬆地處理URL構建和身份驗證。

我強烈建議您查看RestKit,這是一個相當全面的框架,可讓您輕鬆地將基於JSON的RESTful Web服務與CoreData集成。在極少數情況下,我們還會使用YAJL手動解析JSON。

到目前爲止,該工具使得使用我們的Web服務變得輕而易舉。

+0

很酷,謝謝你的回覆! – 2011-01-14 15:25:00

4

我會用JSON去。如果你想使用Spring,請使用安靜的web服務。在「webservices restful spring json」(不帶引號)上搜索一下,你會得到一些指示。

JSON也適合其他語言。我編寫了一個使用JSON的iPhone應用程序,使用 http://code.google.com/p/json-framework這很容易。我很確定Android和Blackberry應該能夠閱讀JSON。

編輯:我忘了提,我已經下MIT許可把這個iPhone應用程序,你可以瀏覽谷歌代碼的代碼:

http://code.google.com/p/accountadmin/source/browse/#svn%2Ftrunk%2Fiphone%2FFrittRegnskap%2FClasses

+0

同意,服務於JSON的RESTful路由是我此時對任何移動API的默認建議。易於在多個平臺上工作(包括在瀏覽器中)並且通過網絡發送相當高效。一般來說,使用任何開源解析器解析XML比使用NSXMLParser的解析器快得多。如果你想通過服務二元plists的工作,那麼應該更快。 – Jonah 2011-01-14 01:57:25