Hprose for JavaScript

Hprose for JavaScript 支持哪些浏览器和平台?

  • Hprose for JavaScript 支持 IE5.5+、Firefox、Safari、Chrome、Opera、Camino、SeaMonkey 等各种现代浏览器,以及这些浏览器的移动版本。
  • Hprose for JavaScript 支持 AIR 开发。
  • Hprose for JavaScript 支持 SilverLight 1.0。

Hprose for JavaScript 支持跨域吗?

Hprose for JavaScript 最激动人心的功能就是提供了跨域调用,而且提供了两种方式,一种方式是通过 W3C 标准的跨域权限控制方式,另一种是通过 FlashRequest 跨域方式。

W3C标准跨域权限控制支持的浏览器有 IE 8、Firefox 3.0、Safari 4.0、Chrome 3.0 及其这些浏览器的更新版本。Opera 目前还没有版本支持这个功能。这种方式下,Hprose for JavaScript 客户端不需要做任何特别设置,只需要在Hprose服务器端开启CrossDomainEnabled属性即可。

Hprose for JavaScript 还提供了 FlashRequst 跨域方式,它的原理是借助 Flash 来提交 Hprose 请求,而不借助 XmlHttpRequest 来跟服务器通讯。因此这种方式下,需要浏览器必须安装有 Flash Player 9 以上版本的插件。

Hprose for JavaScript 跟通常使用 JSON 来实现 Ajax 比有什么优势?

Hprose for JavaScript 支持跨域提交大量数据,而使用 JSONP 方式只能提交少量信息,因为 JSONP 是以 GET 方式发送请求的。

Hprose for JavaScript 支持与服务器进行复杂类型的数据交互,而使用 JSON 方式只能交互简单的数据类型,例如 Graph 结构的数据 Hprose for JavaScript 可以很好的支持,而 JSON 却不能支持。

Hprose for JavaScript 可以直接传输和接收各种类型的数据,而不需要自己进行数据转换,非常方便。使用 JSON 需要手工转换,较麻烦。

Hprose for JavaScript 支持同步调用方式吗?

不支持。因为同步调用方式会造成浏览器假死现象,为了避免新手误用同步调用方式,因此 Hprose for JavaScript 直接禁止使用同步调用。但是 Hprose for JavaScript 的异步调用方式非常方便,且支持并发,因此完全无需同步调用。

Hprose for JavaScript 支持复杂自定义对象的传输吗?

支持,而且定义非常简单,你可以通过函数来定义“类”,也可以直接创建对象。

如果只是接收一个从服务器端返回的对象,您甚至不需要在客户端定义这个对象类型,Hprose for JavaScript 会自动在接受数据时,创建这个对象的所在“类”。

关于自定义对象的更多介绍,请参见 Hprose for JavaScript 文档中的相关章节。

支持语言

已发布的版本

服务器

客户端

开发中的版本

服务器

客户端

计划中的版本

服务器

  • C
  • D
  • Erlang
  • JavaScript
  • Lua

客户端

  • C
  • D
  • Erlang
  • Lua

授权许可

Hprose 是商业开源软件,在取得 Hprose 商业使用授权后,您可以将它用于您所拥有所有权的商业项目的开发当中,Hprose 商业使用授权没有开发者人数、服务器CPU数量、授权年限等限制,但对二次分发有一定的特别要求。如果您所开发的项目或产品涉及到对 Hprose 的二次分发,还需要取得相应的二次分发授权。

如果您需要了解更多关于授权许可方面的信息,请致信到 sales@hprfc.com 与我们联系。