Skip to content

JavaScript 版本的区别

andot edited this page Jun 7, 2016 · 7 revisions

Hprose 有三个使用 JavaScript 实现的版本,分别是:

其中 JavaScript 是较早的版本,HTML5 版本是后来新加的版本,这两个版本都是为浏览器设计的。node.js 版本是为 node.js 平台专门设计的。

JavaScript 版本支持的浏览器和平台更多,比如 IE6 到 IE9,Safari 5,Opera,Netscape,Konqueror,甚至 Symbian 的浏览器都支持。

HTML5 版本只支持较新的对 HTML5 支持良好的浏览器,但是速度更快,体积更小,对二进制数据传输支持更好。

Hprose for JavaScript 在 2.0 版本之前,在功能上比 HTML5 版本要弱很多。不过在升级到 2.0 版本之后,HTML5 版本支持的大部分功能 JavaScript 版本也都支持了。比如对 WebSocket 的支持,对二进制数据传输的支持,对 TCP 的支持(仅支持某些平台)等等。

升级之后的 JavaScript 版本在 API 接口上也跟 HTML5 版本做了尽可能的统一。不过在某些地方仍然有些差别,比如对于属性的处理,有些属性在 JavaScript 版本中是以方法的形式来实现的,而在 HTML5 中则是以属性方式实现的。这样做的原因是,旧版本的浏览器没有提供对属性的封装功能。这些区别之处都会在文档中一一列出。如果在这方面遇到问题,只需查看一下该文档即可。

下面还有一份 hprose-js, hprose-html5 和 hprose-nodejs 的功能对比列表:

功能特征 hprose-js hprose-html5 hprose-nodejs
二进制数据支持
浏览器应用
老旧版本的浏览器
跨域支持 Flash 和 CORS 方式 CORS 方式
HTTP 客户端
TCP 客户端
UNIX Socket 客户端
WebSocket 客户端
服务器端应用程序
命令行工具
桌面图形界面应用程序
混合应用程序
HTTP 服务器
TCP 服务器
UNIX Socket 服务器
WebSocket 服务器
Promises/A+ 规范支持
RequireJS(AMD)
SeaJS(CMD)
CommonJS
全局对象(HproseClient)
名空间(hprose.Client)
  • ❓ 表示未测试,可能支持
  • ✅ 表示支持
  • ❌ 表示不支持
Clone this wiki locally