最近有很多项目将Javascript推向其他方向:作为通用脚本语言(GLUEScript,Rhino),作为扩展语言(QTScript,Adobe Reader,OO Macros),Widgets(Yahoo Widgets,MS Gadgets) ,仪表板),甚至是服务器端的JS& Web框架(CommonJS,Helma,Phobos,V8cgi),这似乎很明显,因为它已经是一种广泛用于Web开发的语言。
但等等,一切都是如此新鲜,没有什么是真正成熟的。然而,JS已经存在了将近15年,与其他任何脚本语言一样强大,由ECMA标准化,并且是Web开发的强制技术。
为什么要在网络浏览器之外的其他领域获得认可需要花费很多时间?
答案 0 :(得分:3)
答案 1 :(得分:2)
Javascript作为重度应用程序开发的可行语言的激增并不像langauge本身那么古老......至少它比15年更近。
主要是由于AJAX和jQuery / mootools / protoypes / scriptaculous 等框架的强大增长,它现在很受欢迎并且大量使用,主要是因为浏览器支持正在提高兼容性,性能等等。
例如,Node.js以V8为基础构建(在Google制作Chrome之前不存在),它可以提升javascript性能,以至于您可以创建高性能的网络应用程序。这很容易。
所以,IMO,这是因为人们加入了AJAX的潮流,这使得JavaScript现在突然变得更加令人敬畏,并且跨越了其他领域。
答案 2 :(得分:2)
在代码重用的语言中存在一些重大缺陷 - 特别是,所有代码都在单个命名空间中执行,并且没有语言级支持来导入其他代码。由于必要性,许多有进取心的图书馆作者在客户端解决了这个问题,但是当实现选择是一种语言时,这些问题是很大的问题。
该语言也没有单一的标准实现 - Rhino是最突出的,但它并不是SpiderMonkey,JavaScriptCore和V8时代最先进的。对于标准化问题,这不应该是一个问题,但仍然存在一个问题,即非浏览器JS代码不太可能适用于所有JS引擎,并且非常可能针对单个引擎(Node.js取决于在V8上是最突出的例子)。
这些问题使JS库无法在浏览器之外编写,而且由于没有人编写非浏览器的JS库,因此编写非浏览器JS变得更加困难。
事情正在发生变化 - 特别是,CommonJS组创建了一个模块规范,允许更好的代码重用,这已经在Node中使用,并且正在制定更好的规范来打包JS代码。
答案 3 :(得分:0)
语言采用与辅助库一样多,因为语言本身也是如此。在Javascript的情况下,缺乏用于执行I / O和完全成熟使用的其他标准要求的库。
答案 4 :(得分:0)
但是多亏了JQuery和其他JS框架,它在过去几年中获得了很高的声誉。
它也是联想的。汽车在水上行驶,飞机降落在高速公路上吗? JavaScript总是“属于”浏览器,即使你可以将它用于非浏览器相关的东西。