这些内容最早出自6月份的一次团队内分享,后来圆心推荐发表在了8月的《程序员》杂志上。遗憾的是编辑自行作了很多删改,原文发在这里。
Douglas Crockford曾称JavaScript是“世界上最被误解的语言”。确实,很长一段时间里,JavaScript都曾是泛滥的网页特效和弹窗广告的代名词。近些年来,随着Ajax应用的流行和前端框架的发展,JavaScript已经越来越严格和标准化。同时,在前端领域之外,JavaScript 也正被越来越广泛的使用。下面我们通过几个简单的JavaScript语句,一起来了解这些领域的应用。
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8080, "127.0.0.1");
这几句代码大体可以看出,它们的作用为:在本地的8080端口监听请求,返回浏览器响应──没错,这是基于JavaScript的服务器程序 node.js( http://nodejs.org/)的一段控制语句。
node.js基于V8引擎(Chrome浏览器使用的JS解析器),它继承了 JavaScript的诸多特性,具备比Apache等传统服务端程序更好的性能和特性:I/O读写都经由V8引擎来处理,避免不良代码造成的死锁;更节省内存开支;处理并发请求效率更高;等等……
{"id": "036378", "name": "etai", "job": "F2E" }
这是一句简单的JavaScript专用数据格式——JSON语句,但确切的说,它一种基于JSON的数据库存储格式——BSON,是最近流行的NOSQL(非关系型数据库)的一种存储形式,非关系数据库多采用kay-value形式,具备比关系型数据库更强的扩展性和可操作性,并且在海量存储、高并发读写方面有绝佳的表现。
var t = db.things.findOne( { name : “etai” } );
这句JavaScript语句的作用为:在以BSON存储的数据库中取得一条记录。它是著名的非关系数据库——MongoDB的一条查询语句。MongoDB基于C++开发,使用二进制格式存储BSON数据,可以对BSON中每个字段进行索引,具备极高的处理海量数据的能力。让人惊讶的是,它分别提供了基于十几种语言的查询语句和服务端、客户端,其中就包含对JavaScript的完美支持——MongoDB提供了基于Node.js的数据库服务器、基于SpiderMonkey的数据库客户端,以及JavaScript查询语句,并且提供了全功能的Web Shell。
JavaScript在这些领域的应用,已经不单单是停留在实验和玩票的性质,它们在国内外已经开始了大规模的使用。可以预见,在不久的将来,会出现这样的网站:它的前端使用JavaScript实现网页特效和交互,服务端运行的是基于JavaScript的Web服务器和数据库服务器,数据库使用JSON/BSON存储数据。
作为前端工作者,看到我们最熟悉的语言正在被这么多人、在这么多领域研究和使用,兴奋之余也倍感压力——越来越多的研究和关注,必然会促进这门语言更快的发展,同时也会变得更严格和严谨。这对前端工作者提出了更高的要求和挑战——与时俱进,不断超越!

