1.8 JavaScript 版本的区别

优质
小牛编辑
126浏览
2023-12-01

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-jshprose-html5hprose-nodejs
二进制数据支持:white_check_mark::white_check_mark::white_check_mark:
浏览器应用:white_check_mark::white_check_mark::x:
老旧版本的浏览器:white_check_mark::x::x:
跨域支持Flash 和 CORS 方式CORS 方式:white_check_mark:
HTTP 客户端:white_check_mark::white_check_mark::white_check_mark:
TCP 客户端:white_check_mark::white_check_mark::white_check_mark:
UNIX Socket 客户端:x::x::white_check_mark:
WebSocket 客户端:white_check_mark::white_check_mark::white_check_mark:
服务器端应用程序:question::question::white_check_mark:
命令行工具:question::question::white_check_mark:
桌面图形界面应用程序:white_check_mark::white_check_mark::white_check_mark:
混合应用程序:white_check_mark::white_check_mark::white_check_mark:
HTTP 服务器:x::x::white_check_mark:
TCP 服务器:x::x::white_check_mark:
UNIX Socket 服务器:x::x::white_check_mark:
WebSocket 服务器:x::x::white_check_mark:
Promises/A+ 规范支持:white_check_mark::white_check_mark::white_check_mark:
RequireJS(AMD):white_check_mark::white_check_mark::x:
SeaJS(CMD):white_check_mark::white_check_mark::x:
CommonJS:white_check_mark::white_check_mark::white_check_mark:
全局对象(HproseClient):white_check_mark::x::white_check_mark:
名空间(hprose.Client):white_check_mark::white_check_mark::white_check_mark:
  • :question: 表示未测试,可能支持
  • :white_check_mark: 表示支持
  • :x: 表示不支持