服务器端JavaScript变得更加严重
DoSOFT软件在线 9月13日 国际报道 现代JavaScript引擎可以在其自身上运行,这就使得它们天热适合SSJS。但是到目前为止,JavaScript已经成为主要的基于浏览器的语言,这也意味着它缺少程序员期望的可以在其他环境下运行的某些功能。例如:客户端开发人员习惯了通过因特网载入个人.js文件,尽管服务器端开发人员需要一个更加正常的方式来打包复杂的代码基础。同样,JavaScript相比于其他面向系统的语言比如:C或者Java一直缺少一种常规系统标准库。
CommonJS项目旨在解决这些问题。其目标是创建一个开放的、标准的APIs集,具有以下功能:二进制对象的处理、并发线程、文件、流和套接字I/O、系统日志等待。此外,它还为代码库提出了一个标准模块格式。尽管这是一个年轻的项目,但是这个最终想法是JavaScript开发者可以编写代码并使其运行在所有的CommonJS兼容平台上,而不用考虑其后台是JavaScript引擎还是操作系统。
但是,更激动人心的是Node.js,是在这个基础上的类似想法,并实施了一些CommonJS的API。但是,它采用的是SSJS的概念。其最多的重要创新是其面向事件的服务器端开发的编程模式实施。这也意味着不仅仅是Node.js编程对客户端JavaScript开发者很熟悉,而且对于他们来说,事件驱动模式已经成为常态,同时它还适应于Web应用程序,它依赖于并行支持多个并发用户。
JavaScript:是Web世界的国王吗?
不要指望JavaScript就可以这么推翻Java的王位。在CommonJS和Node.js方面还是有很多工作要做的,同时,这也将准确地形容这两个试点型的项目。更重要的是,具体的优化和管理工具是和甲骨文的JRockit JVM一起的,将让Java在今后的一段时间里成为企业开发有吸引力的平台。
JavaScript作为服务器语言的好处依然是明显的和突出的。它允许Web应用程序开发者可以通过使用单一的语法实施他们整个的代码库。JavaScript的性能在以一个极快的速度不断地提高,这是为开发者内置的利益。它的事件驱动编程模式能够容易、有逻辑地建立并行应用程序。同时,JavaScript自身已经发展成了一种良好的语言,其功能能够支持面向对象和函数式编程风格。
还有一些别的东西值得考虑:JavaScript是完全自由和开放的,主要由ECMA标准委员会来维护。尽管ECMAScript工作组过去已经陷入僵局,但是其在很大程度上能够克服这些困难,而且它还是可以维护JavaScript语言继续向前发展的。同时,Java尽管表面看是开放的,但是依然被Java社区限制着,现在还有来自甲骨文的潜在诉讼威胁。