什么是用于移动应用程序的最佳远程处理技术?

时间:2020-03-05 18:58:44  来源:igfitidea点击:

我有一个Java后端,需要向在以下环境中运行的客户端公开服务:

  • J2ME
  • Windows Mobile
  • 苹果手机

我正在寻找适用于每个平台的最佳工具。
我搜索的技术并非无处不在。
我需要适用于低速Internet访问的"轻型"产品。

现在,我正在使用SOAP。它很冗长,而且不容易在移动设备上解析。问题是我还没有看到任何真正的选择。

是否有一种格式可以在这些平台之一中"开箱即用"?
我宁愿不使用会大大增加应用程序下载时间的a肿库。

每个人似乎都同意JSON。是否有人实现了基于JSON并与Objective-C,J2ME,Windows Mobile一起运行的解决方案?

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

如果我们有任何想法,将非常欢迎。

解决方案

回答

JSON非常紧凑,并且大多数框架都支持。我们可以使用标准REST技术通过HTTP传输数据。

有用于Java,Objective C和许多其他语言的JSON库(向下滚动)。在服务器端查找框架支持应该没有问题,因为JSON用于Web应用程序。

较早的替代方法包括普通的XML和XML-RPC(例如SOAP,但要简单得多,并且具有大多数语言的库)。

回答

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

回答

普通的旧XML(不幸的是称为POX)怎么样?

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

可能的是,由于工作环境受到计算和网络资源的限制,并且使用的是静态类型的语言,因此Google的协议缓冲区将是首选。 (只是不理会其中的RPC组件; RPC是一个令人讨厌的麻烦,而不是有用的技术。)

问题的问题在于我们尚未提供有关这是什么类型的数据以及用例是什么的大量上下文,因此很难理解,只有非常模糊的一般性。

回答

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

回答

辅助JSON。我将Stringtree JSON读取器移植到J2ME。它是一个单类JSON读取器,可编译为5KB的类文件,并将JSON结构直接映射到本机CLDC类型,例如Hashtable和Vector。现在,我可以将同一服务器用于桌面浏览器AJAX前端和J2ME客户端。