我读到的关于使用node.js的最常见主题是由于它是偶数的非阻塞I/O模型而具有高可伸缩性.我试图了解其他非可伸缩性用例(除了用作一般的服务器端javascript引擎).
javascript nonblocking serverside-javascript evented-io node.js
它不是客户端计算机上的浏览器托管的Javascript引擎吗?
我刚刚开始为我的下一个项目试验Aptana Jaxer服务器端javascript引擎.我对此几乎没有任何疑问
通过使用服务器端JS,我们可以实现整个Web应用程序而无需使用任何服务器端语言(如C#,java等).或者服务器端JS位于Web服务器和其他语言堆栈之间.
这真的是一个更好的方法吗?
什么是优点和缺点?
这在性能方面如何运作良好?
有没有实时实现(公共网站)只使用服务器端JS(没有其他语言)?
有什么比Aptana jaxer(开源)可用的替代品?
我们如何实现和维护数据库事务?我们可以在服务器端JS中做到吗?
是否有可能在服务器端JS中开发RESTFul和SOAP服务.??
我知道这太长了(天真的问题).我只是希望有人在实现serverside JS时已经遇到过这些问题.
编辑:
根据Matthew&Ken的评论,我在这个问题上添加了一些清晰度它真的是一个更好的方法吗?
这是我打算问的..
它是否比使用服务器端语言(假设c#)更好的方法,我们如何将它与网站的c#实现(性能,语言功能)进行比较?哪一个是更好的方法,在服务器端单独使用JS或在其他语言堆栈和网络服务器之间的中间层使用JS?
一个很大的问题已被要求,并回答了关于谷歌App Engine上运行服务器端的JavaScript,但所有的答案,以充分利用基于Java的JS解释像犀牛的处理Java实例犀牛的web应用,等等.
有没有办法在Python GAE实例上执行服务器端javascript代码?我正在考虑与pyv8完全相同的东西,但支持App Engine(我想这意味着解释器的纯python实现).
我目前唯一可以提出的解决方案是使用某种严重的黑客来并行(通过不同的版本)运行Java和Python GAE实例,这样他们就可以与同一个数据存储区通信,让Java实例托管JS代码,并使用API来回复.不太吸引人.
没有必要进入所有"这是不必要的,你不应该这样做"讨论 - 我知道这不是理想的,我只是好奇是否可以做到.
javascript python google-app-engine interpreter serverside-javascript
我正在尝试找到创建异步调用的最佳方法,当每个调用依赖于先前的调用已完成.目前我通过递归调用定义的过程函数来链接方法,如下所示.
这就是我目前正在做的事情.
var syncProduct = (function() {
var done, log;
var IN_CAT = 1, IN_TITLES = 2, IN_BINS = 3;
var state = IN_CAT;
var processNext = function(data) {
switch(state) {
case IN_CAT:
SVC.sendJsonRequest(url("/api/lineplan/categories"), processNext);
state = IN_TITLES;
break;
case IN_TITLES:
log((data ? data.length : "No") + " categories retrieved!");
SVC.sendJsonRequest(url("/api/lineplan/titles"), processNext);
state = IN_BINS;
break;
case IN_BINS:
log((data ? data.length : "No") + " titles retrieved!");
SVC.sendJsonRequest(url("/api/lineplan/bins"), processNext);
state = IN_MAJOR;
break;
default:
log((data ? data.length : "No") + …Run Code Online (Sandbox Code Playgroud) javascript titanium serverside-javascript node.js titanium-mobile
我一直认为JavaScript是任何Web应用程序的客户端的一个很好的补充(或者更确切地说,在过去的几年中,作为必备).即使我开始使用Mootools,它远离DOM操作,并且针对一个通用的OO框架,我仍然认为我不会考虑使用JavaScript进行服务器端开发.JavaScript属于前面,期间 - 这就是我的想法.
嗯,似乎根据一些该死的聪明人,我错了.有史以来第一次,名为Plat_Form的Web开发平台竞赛接受了一个在服务器端和客户端都使用纯JavaScript的团队.更重要的是,以下是比赛组织者对此的评价:
" 我们只有一个团队的应用程序,Upstream Agile,可以在服务器和客户端使用JavaScript.由于这可能成为未来几年的主要趋势,我们认为他们的参与是对未来的一瞥并接受这一点即使没有其他人使用这个平台,团队仍然适用. "
所以我的问题是:这真的是一个可行的概念,纯粹基于JavaScript构建多层Web应用程序吗?如果是这样,那么在前端和后端使用JavaScript会有什么好处?
编辑: Vanwaril的答案中的链接(为什么node.js非常棒)在评论部分中展示了一个值得一读的有趣讨论.我认为,虽然在服务器端使用Javascript是一个可行的概念并且可能有其好处,但我绝对不会开始使用该架构构建企业应用程序.至少现在(是.这个问题可能需要在一年内再次提出,我可以想象答案在不久的将来会发生巨大变化.
javascript web-applications server-side serverside-javascript
给出如下字符串:
Recipient: test@test.com
Action: failed
Status: 5.0.0 (permanent failure)
Diagnostic: No
Run Code Online (Sandbox Code Playgroud)
如果它始终在状态之后,我如何得到"5.0.0"和"永久性失败"??
谢谢
有没有办法在Google App Engine上运行像Spidermonkey这样的Javascript引擎?Spidermonkey是一个C模块,显然不会工作(GAE不允许这些类型的模块)......还有其他可用的吗?
javascript google-app-engine server-side serverside-javascript node.js
关于"除了代码之外的所有内容并行运行"的问题,来自Node.js的新人.这是一个明显人为的例子,但是我想说我想创建一个包含函数的数学库,factorize()其行为如下:
var http = require('http');
http.createServer(function (req, res) {
myMath.factorize(some_big_number,function(factors) {
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify(factors));
}
}).listen(8000);
Run Code Online (Sandbox Code Playgroud)
如何编写它以便"并行运行"?
我一直在查看这个库中的解析代码作为一个可能需要一些处理时间的例子.代码的主体被认为是"你的代码",还是"并行运行"?
如果不是:在编写时我需要做什么,factorize()以便它也是非阻塞/表现得像客户端?使用EventEmitter是否足够?
如果不清楚,请提前道歉.
目前我正在关注这个关于如何在 getInitialProps 中重定向用户的例子
https://github.com/zeit/next.js/wiki/Redirecting-in-%60getInitialProps%60
问题是,如果我想像这样返回 404,它将返回一个空白页面,而不是通常的 Next.js 404 错误页面。
context.res.writeHead(404)
context.res.end();
Run Code Online (Sandbox Code Playgroud)
请注意,我知道使用 ExpressJs 和使用状态码 404 可以工作,但是,对于这个项目,我不允许使用 ExpressJs,因此我需要使用典型的 nodejs writeHead 来执行此操作。
javascript ×9
node.js ×7
server-side ×2
evented-io ×1
events ×1
interpreter ×1
jaxer ×1
next.js ×1
nextjs ×1
nonblocking ×1
python ×1
regex ×1
titanium ×1