2008-09-17 144 views
3

我有一个Java后端需要公开服务,以在以下环境中运行的客户端:什么是移动应用程序的最佳远程技术?

  • J2ME
  • 的Windows Mobile
  • iPhone

我正在寻找最好的每个平台的工具。
我不搜索可以在任何地方工作的技术。
我需要一些适合低速互联网接入的“光线”。

现在我正在使用SOAP。这是漫长的,不容易解析的移动。问题是我还没有看到任何真正的选择。

有没有一种格式可以在这些平台之一上“开箱即用”?
我宁愿不使用臃肿的库,这会大大增加应用程序的下载时间。

大家似乎都同意JSON。有没有人已经实现了基于JSON与Objective-C,J2ME,Windows Mobile一起运行的解决方案?

注意:到目前为止,最好的解决方案似乎是Hessian。它适用于Windows Mobile和Objective-C/iPhone。最大的问题是J2ME。 Hessian的J2ME实现有严重的局限性。它不支持复杂的对象。我已经写了另一个关于它的问题。

如果您有任何想法,非常欢迎。

回答

5

粗麻布。 http://hessian.caucho.com。以多种语言(包括ObjC)实现,超轻量级,并且不需要依赖dom/xml分析器从线到对象模型进行转换。一旦我们发现了Hessian,我们就忘记了我们曾经认识的XML。

9

JSON相当紧凑,并且得到大多数框架的支持。您可以使用标准的REST技术通过HTTP传输数据。

Java,Objective Cmany other languages(向下滚动)的JSON库。在服务器端查找框架支持应该没有问题,因为JSON用于Web应用程序。

旧的替代方案包括纯XML和XML-RPC(如SOAP,但要简单得多,并且对于大多数语言都有库)。

+0

哼...有没有简单的方法来解析JSON与J2ME/WindowsMo​​bile/Cocoa? – 2008-09-17 12:49:18

+0

那么,Java和Object C版本将在J2ME和Cocoa上运行。 Windows Mobile使用哪种语言? JSON网站上有六种基于C++的框架,列在页面底部。 – emk 2008-09-17 12:55:36

2

REST + XML或JSON将是一个很好的选择。它在RIA世界取得了巨大的进步,它的优点在于它的简单性。这是非常容易使用,无需任何特殊的工具。 SOAP具有很强的优点,但它在支持强大工具的环境中效果最佳。我从你的问题猜测,情况并非如此。

1

简单的旧XML(有点不幸称为POX)如何?

另一个非常有用的选项是JSON。那里有每种编程语言的库。

可能是因为您在一个受计算和网络资源以及静态类型语言限制的环境中工作,所以Google的protocol buffers会更适合您。 (只是忽略了那里的RPC粗糙; RPC是一个有吸引力的麻烦,而不是一个有用的技术。)

问题与你的问题是,你没有提供一个关于这是什么样的数据和你的用例是什么的上下文的很多上下文,所以很难说任何东西,但很模糊的概括。

2

借调JSON。我将portedStringtree JSON reader发送到J2ME。它是一个单类JSON阅读器,编译成5KB的类文件,并直接将JSON结构映射到本地CLDC类型,如Hashtable和Vector。现在我可以为我的桌面浏览器AJAX前端和我的J2ME客户端使用同一台服务器。

相关问题