【问题标题】:Does it make sense to build pure JavaScript based web applications (both client and server side)? [closed]构建基于纯 JavaScript 的 Web 应用程序(客户端和服务器端)有意义吗? [关闭]
【发布时间】:2013-11-06 14:47:16
【问题描述】:

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

嗯,好像according to some damn smart people,我错了。有史以来第一次,名为 Plat_Form 的 Web 开发平台竞赛接受了一个在服务器端和客户端都使用纯 JavaScript 的团队。更重要的是,以下是比赛组织者对此的评价:

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

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

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

【问题讨论】:

    标签: javascript web-applications server-side serverside-javascript


    【解决方案1】:

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

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

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

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

    【讨论】:

    • node.js 看起来很可爱,我不得不承认!感谢您的链接和您的见解。
    • 嗯,V8 很快,但我想知道为什么其他位于更成熟 Web 堆栈之上的 Javascript 引擎似乎没有那么大的动力。
    • @CurtainDog node.js 带来了一些新的和令人兴奋的东西:完全异步。其他引擎(我与 RingoJs 合作/为 RingoJs 工作)更传统,到目前为止“不那么性感”。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      -- http://docs.meteor.com

      【讨论】:

        【解决方案4】:

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

        请注意,这并不是您认为的最前沿技术:Helma 自 1998 年以来一直在开发中,我们自 1999 年以来将其用于生产。

        【讨论】:

        • 谢谢你,我被指控有罪,我真的认为这属于最前沿的一面。
        • 我说的不是这个网站。
        【解决方案5】:

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

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

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

        • 开发人员无需在语言之间切换
        • 代码重用(例如,想要检查数据是否健全?可以在客户端和服务器上使用相同的代码)。

        【讨论】:

          【解决方案6】:

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

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

          【讨论】:

            【解决方案7】:

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

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

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

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2013-05-08
              • 2013-03-20
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多