16

我一直认为 JavaScript 是对任何 Web 应用程序客户端的一个很好的补充(或者更确切地说,在过去的几年里,它是必须具备的)。甚至当我开始使用 Mootools 时,它与 DOM 操作相比有了很大的进步,并瞄准了一个通用的 OO 框架,我仍然认为我不会考虑使用 JavaScript 进行服务器端开发。JavaScript 属于前面,句号——这就是我的想法。

好吧,在一些该死的聪明人看来,我错了。有史以来第一次,名为 Plat_Form 的 Web 开发平台竞赛接受了一个在服务器端和客户端都使用纯 JavaScript 的团队。更重要的是,这是比赛组织者对此不得不说的:

我们有一个团队的单一应用程序 Upstream Agile,它将在服务器端和客户端使用 JavaScript。由于这可能成为未来几年的主要趋势,我们认为他们的参与是对未来的一瞥并接受这一点即使没有其他使用此平台的人申请过。

所以我的问题是:纯粹在 JavaScript 上构建多层 Web 应用程序真的是一个可行的概念吗?如果是这样,在前端和后端都使用 JavaScript 会有什么优势?

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

4

7 回答 7

12

首先,你看过node.js吗?JavaScript 是在过去几年中实现跨越式发展的语言之一,并且它可能会继续增长。

在功能方面,与其他服务器端技术相比,它还不够成熟,但活跃的社区使其不甘落后。

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

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

于 2011-02-08T10:10:38.033 回答
5

要真正回答这个问题 - 是的,完全用 JavaScript 构建客户端-服务器 Web 应用程序是完全可行的,并且在提出问题后的两年内获得牵引力的框架 - 特别是Meteor - 使这比它容易得多以前是:

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

-- http://docs.meteor.com

于 2013-03-12T01:37:45.613 回答
5

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

于 2011-06-09T08:51:55.543 回答
4

我们正在使用http://Helma.at构建我们的 CMS 和前端,目前每月提供约 250 个 mio 页面。这是 JavaScript through & through。

请注意,这不是最前沿的技术,正如您似乎假设的那样:Helma 自 1998 年以来一直在开发中,我们自 1999 年以来就在生产中使用它。

于 2011-02-18T09:19:56.740 回答
2

服务器端代码必须特别健壮且设计精良,因为它在多线程环境中管理多个客户端。业务层流程的复杂性和对准确代码重用的需求一直促使我用 Java 编写服务器端代码。我不会考虑使用 Java 脚本,因为它针对的是不同的用途。

话虽如此,我确实在服务器上使用 Java 脚本来复制客户端验证脚本。这样你就可以在两端使用一个验证码。用户获得响应式浏览器验证,但后端重新验证以防有人绕过前端验证。

于 2013-11-06T06:47:16.950 回答
2

所以我的问题是:纯粹在 JavaScript 上构建多层 Web 应用程序真的是一个可行的概念吗?

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

如果是这样,在前端和后端都使用 JavaScript 会有什么优势?

  • 开发人员无需在语言之间切换
  • 代码重用(例如,想检查数据是否正常?可以在客户端和服务器上使用相同的代码)。
于 2011-02-08T10:05:12.387 回答
1

这不是一个新的想法。事实上,它已经很流行了,然后就消失了,现在又回来了。

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

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

问题是 MS 忽略了经典的 asp 并转移到 asp.net(c# 或 VB.net),所以我们必须等待社区重新发明服务器端 javascript 才能回到 2001 年的位置。

于 2011-03-17T12:53:43.103 回答