Joh*_*lan 72 javascript server-side
偶尔我会搜索一些JavaScript帮助,然后我会遇到"服务器端JavaScript"这个术语.你什么时候使用JavaScript服务器端?如何?
我的JavaScript体验一直在浏览器中.是否有JS的编译版本?
Kev*_*Kev 27
它不是AJAX,除非人们使用不正确的术语.顾名思义,SSJS是在服务器上运行的JavaScript,由独立(即独立于浏览器)的JavaScript引擎(如SpiderMonkey)解释.
何必?那么,我目前看到它未充分利用的一个领域是数据验证.使用SSJS,您可以编写一段代码,然后在服务器和客户端上使用.因此,您可以从客户端JS获得即时用户反馈,该反馈将自动匹配服务器上发生的数据检查.
Wil*_*ung 25
有一个项目Phobos,它是一个服务器端JavaScript框架.
回到今天,Netscape Web服务器也提供了服务器端的Java脚本.
在这两种情况下,使用JavaScript就像在服务器上使用任何语言一样.通常用于处理HTTP请求并生成内容.
Rhino是Mozilla用于Java的JavaScript系统,它将JavaScript编译为Java字节码,JVM可以选择JIT.其他系统使用其他方法来执行java脚本,甚至有些是JIT编译它们的java脚本内部代码.
我预见服务器上会有越来越多的JavaScript.当您在客户端上使用JavaScript编写"厚"应用程序时,您也可以在服务器上用JavaScript编写逻辑,以便不必从一种语言到另一种语言进行认知跳跃.环境会有所不同,但您的大部分代码和知识都是可共享的.
最后,JavaScript可能是目前在实现方面指向最多钱的单一语言.来自Apple,Mozilla,Google,甚至Microsoft,以及努力使其成为更高级的语言(即基本上是一个带有Algol语法的方案,没有宏).
大多数实现都隐藏在浏览器中,但这并不是说服务器端也没有价值.
工具是缺少JavaScript的最大的地方,特别是在服务器端,但如果你考虑像Phobos这样的东西,你可以在IDE中调试你的服务器端JavaScript,这是一个很大的进步.
就个人而言,我在我的应用程序中抛出JavaScript,比如白色涂料.它以极低的成本提供廉价的可扩展性,是一个很好的推动者.
Pet*_*uss 20
Node.js(也见维基百科文章)是成功的,它的社区正在增长!
MongoDB(在服务器上),Chrome(在客户端)和Node.js(在服务器上)使用 V8 JavaScript引擎.
PS:您只能对所有项目模块使用一种语言Javascript:客户端API,客户端接口,"服务器中心"和服务器数据库(例如存储过程).所有程序员"编码一次"!
之间的主要区别"服务器的JavaScript"和"客户端JavaScript的"语言,在解释http://www.commonJS.org/,对于标准库服务器的JavaScript.
CommonJS的自2009年以来存在的,今天(2013年)是一个成熟的标准,在这两种,使用MongoDB的和Node.js的.
历史记录:最老的活动"客户端+服务器Javascript"(包括使用PostgreSQL)打开包是活着的! Whitebeam
于2001年发布,自那时起不断发展,是一种成熟的Javascript(和DOM)技术.最后一次更新是在2016年1月.
Node.js引擎继续作为基于Chrome V8 JavaScript构建的运行时...现在实际上是一个巩固的成功!最新版本是 v7.0和 v6.8 LTS.
JSON作为数据交换格式,在过去几年中不断增长,2016年已经超过了对XML的兴趣(另请参阅2011年超越的科学背景).作为原生Javascript格式,它也是一个很好的语言趋势指标.
自2014年以来,(更快的)V8引擎也是最常用的:在最受欢迎的客户端(台式机中的Chrome和Android上的WebView)和服务器上流行- Node.js作为运行时,PostgreSQL使用PL/V8进行SQL和存储过程.
...也许2016年最重要的服务器端贡献是对JSON和Javascript的快速而强大的数据库支持:使用PostgreSQL 9.1+(2016-10),您可以通过简单加载PL/V8(以及像Coffeshop这样的方言)CREATE EXTENSION命令; 与PostgreSQL 9.5+(2016-10)最重要的是,JSON和JSONb函数和运算符的完整正交集.
因此,事实上,有一个快速,有弹性和可靠的 统一JavaScript开发堆栈.
它可以指使用javascript将消息发布到Web服务器而无需重新加载页面:换句话说,AJAX.
但更有可能的是,我认为这意味着像Aptana/Jaxer(或今天的Node.js),它使用javascript作为服务器端语言.在这种情况下,请记住javascript只是一种语言:Web浏览器中使用的DOM是一种API.服务器端javascript引擎将提供自己的API对象,适用于服务器端任务,如数据库和文件系统访问.
由于客户端验证问题,服务器端javascript是一个有趣的想法:您希望在客户端进行验证,以避免向服务器发送不必要的请求.这可以提高服务器性能并减少客户端上的延迟.但是您必须在服务器端进行验证,因为您无法信任客户端.这导致客户端和服务器之间存在大量重复代码.
理论上说,如果您的客户端和服务器语言匹配,您将不再需要两个相同逻辑的实现.在实践中它不能很好地工作,因为页面请求的客户端和服务器视图是如此不同,因为您不控制客户端使用的javascript引擎.
| 归档时间: |
|
| 查看次数: |
69891 次 |
| 最近记录: |