【问题标题】:What are the best remoting technologies for mobile applications?什么是移动应用程序的最佳远程技术?
【发布时间】:2010-09-10 02:35:32
【问题描述】:

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

  • J2ME
  • Windows 移动版
  • iPhone

我正在为每个平台寻找最佳工具。
我不会搜索一种无处不在的技术。
我需要适合低速互联网访问的“轻量级”。

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

是否有一种格式可以在其中一个平台上“开箱即用”?
我宁愿不使用会大大增加应用程序下载时间的臃肿库。

似乎每个人都同意 JSON。有没有人实现了基于 JSON 运行 Objective-C、J2ME、Windows Mobile 的解决方案?

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

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

【问题讨论】:

    标签: java iphone windows-mobile java-me mobile


    【解决方案1】:

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

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

    较旧的替代方案包括纯 XML 和 XML-RPC(类似于 SOAP,但更简单,并且具有适用于大多数语言的库)。

    【讨论】:

    • 哼...有没有一种简单的方法可以用 J2ME/WindowsMo​​bile/Cocoa 解析 JSON??
    • 嗯,Java 和 Object C 版本可以在 J2ME 和 Cocoa 上运行。您在 Windows Mobile 中使用什么语言? JSON 网站上有六个基于 C++ 的框架,列在页面底部。
    【解决方案2】:

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

    【讨论】:

    • 我同意 hession 是一个很棒的产品。但是它真的适用于此吗?我在 J2ME 环境中尝试过 hession 吗? iPhone 还是 Windows Mobile?
    • 感谢您的回复我刚刚看到ObjectiveC中有iPhone的实现,并且在hessian在线文档中提到了j2me
    【解决方案3】:

    REST + XML 或 JSON 将是一个不错的选择。它在 RIA 世界中取得了长足的进步,它的美妙之处在于它的简单性。它非常易于使用,无需任何特殊工具。 SOAP 有它的优点,但它在具有强大工具支持的环境中工作得最好。我从你的问题猜想不是这样的。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        普通的旧 XML(有点遗憾地称为 POX)怎么样?

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

        可能,由于您在计算和网络资源方面都受到限制的环境中工作,并且使用的是静态类型语言,因此 Google 的 protocol buffers 可能更适合您。 (忽略其中的 RPC 垃圾;RPC 是一种有吸引力的麻烦,而不是一种有用的技术。)

        您的问题的问题在于,您没有提供关于这是什么类型的数据以及您的用例是什么的大量背景信息,因此除了非常模糊的概括外,很难说任何话。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-24
          • 1970-01-01
          • 2021-02-19
          • 1970-01-01
          相关资源
          最近更新 更多