构建纯粹基于JavaScript的web应用程序(客户端和服务器端)有意义吗?

构建纯粹基于JavaScript的web应用程序(客户端和服务器端)有意义吗?,javascript,web-applications,server-side,serverside-javascript,Javascript,Web Applications,Server Side,Serverside Javascript,我一直认为JavaScript是对任何web应用程序客户端的一个很好的补充(或者更确切地说,在过去几年中,它是必须的)。即使当我开始使用MOOTooS,它从DOM操作中迈出了很大一步,面向通用的OO框架,我仍然不认为我会考虑使用JavaScript来进行服务器端开发。JavaScript属于前端,这就是我的想法 看来我错了。有史以来第一次,名为Plat_Form的web开发平台竞赛接受了一个在服务器端和客户端同时使用纯JavaScript的团队。此外,以下是竞赛组织者对此的看法: “我们有一个团

我一直认为JavaScript是对任何web应用程序客户端的一个很好的补充(或者更确切地说,在过去几年中,它是必须的)。即使当我开始使用MOOTooS,它从DOM操作中迈出了很大一步,面向通用的OO框架,我仍然不认为我会考虑使用JavaScript来进行服务器端开发。JavaScript属于前端,这就是我的想法

看来我错了。有史以来第一次,名为Plat_Form的web开发平台竞赛接受了一个在服务器端和客户端同时使用纯JavaScript的团队。此外,以下是竞赛组织者对此的看法:

“我们有一个团队,一个敏捷的上游应用程序,它将在服务器端和客户端上使用JavaScript,因为这可能成为未来几年的一个主要趋势,我们认为他们的参与是对未来的一瞥,并且接受了这个团队,即使没有这个平台的其他人已经应用了。”

所以我的问题是:这真的是一个可行的概念吗,纯粹基于JavaScript构建多层web应用程序?如果是这样,在前端和后端使用JavaScript有什么好处

编辑:Vanwaril答案()中的链接揭示了评论部分中一个有趣的讨论,值得一读。一、 首先,我已经决定,尽管在服务器端使用Javascript是一个可行的概念,并且可能有它的好处,但我绝对不会开始用这种架构构建企业应用程序。至少现在是这样。这个问题可能需要在一年内再次提出,我可以想象,答案将在不久的将来发生巨大的变化

所以我的问题是:这真的是一个可行的概念吗,纯粹基于JavaScript构建多层web应用程序

是的,尽管与许多其他语言相比,这些工具相对不成熟

如果是这样,在前端和后端使用JavaScript有什么好处

  • 开发人员不能在语言之间切换
  • 代码重用(例如,要检查数据是否正常?客户机和服务器上可以使用相同的代码)

首先,你看了吗?JavaScript是在过去几年中发展迅猛的语言之一,而且很可能会继续增长

就功能而言,与其他服务器端技术相比,它还不太成熟,但活跃社区使其紧随其后

最后,由于它是一种同时在前端和后端运行的语言,它对代码重用和数据交换格式的影响使应用程序开发速度大大加快


我不确定它是否已经准备好投入生产(除非你自己愿意贡献代码库),但是服务器端JavaScript是一个很好的实验选择。

我们正在使用我们的CMS和前端,目前每月服务约2.5亿页。这是JavaScript-through&through


请注意,这不是最前沿的技术,正如您所设想的:Helma自1998年开始开发,我们自1999年开始在生产中使用它。

这不是一个新想法。事实上,它是如此古老,一直在时尚,然后走出去,现在又回来了

windows server IIS上的Clasic ASP可以使用javascript作为服务器端脚本语言。它可以与本地文件系统和SQL服务器等进行通信。非常简单的东西

您可以轻松编写一些ASP代码,返回JSON供客户端脚本ajax使用


问题是微软忽略了经典的asp,转而使用asp.net(c#或VB.net),因此我们不得不等待社区重新发明服务器端javascript,以回到2001年的水平

是一个“项目”,它完全是关于仅在web浏览器中运行的javascript应用程序,并将服务器用作(加密)数据的存储。你会在这里找到一些例子。

要真正回答这个问题-是的,完全用JavaScript构建客户机-服务器web应用程序是完全可行的,而在提出这个问题后的两年内得到广泛关注的框架——值得注意的是——使这比过去容易得多:

一种语言。用JavaScript编写界面的客户端和服务器部分


--

服务器端代码必须特别健壮且经过精心设计,因为它在多线程环境中管理多个客户端。业务层流程的复杂性和对准确代码重用的需求一直促使我用Java编写服务器端代码。我不会考虑使用java脚本,因为它针对的是不同的用法。
也就是说,我确实在服务器上使用Java脚本来复制客户端验证脚本。这样,您可以在两端使用一段验证代码。用户得到响应性浏览器验证,但后端会重新验证,以防有人绕过前端验证。

node.js看起来不错,我必须承认!感谢您的链接和见解。嗯,V8速度很快,但我想知道,为什么坐在更成熟的web堆栈上的其他Javascript引擎似乎没有那么大的动力。@CurtainDog node.js带来了一些新的和令人兴奋的东西:完全异步。其他引擎(我与RingoJs合作/为RingoJs工作)更为传统,迄今为止“不那么性感”。感谢这一点,我对指控感到内疚,我真的认为这属于前沿领域。我说的不是这个网站。