【问题标题】:What's up with all that JS frameworks? [closed]所有这些 JS 框架是怎么回事? [关闭]
【发布时间】:2012-09-18 19:06:39
【问题描述】:

我是 .NET(在 ASP.NET WebForms 中完成我的大部分工作)开发人员。但我并不仅仅局限于那个框架,并且不时阅读并尝试学习新东西。

最近我注意到 Javascript 世界发生了很多事情。我熟悉 jquery/UI 并从客户端调用 Web 服务。但最近我看到很多用 Javascript 编写的新框架。我真的不知道为什么最近创建了这么多。谁能启发我为什么会这样?不同框架之间有什么区别。我什么时候应该使用/不使用它们?例如 node.js 对我来说是完全奇怪的东西。用 JS 编写服务器端代码?用 JS 编写 HTTP 服务器(或者可能没有人真的这样做?)。仅在 JS 上创建客户端 UI?我真的不明白。再加上至少 5 个模板框架,我的脑袋就要爆炸了 :)

【问题讨论】:

  • 公平的问题,但不幸的是不适合这里。顺便说一句,node.js 有什么问题?没有什么比在 .NET 中做更奇怪的了 ;)
  • 在 .NET 中做这件事的人很奇怪 :)
  • 我已经使用 .NET 4 年了,我花了大约 6 个月的时间来适应它,但现在它已经成为第二天性了。

标签: javascript node.js backbone.js


【解决方案1】:

Atwood's law:

任何可以用 JavaScript 编写的应用程序,最终都会用 JavaScript 编写。

真正的故事是:nodejs(或 v8)允许开发人员用 Javascript 编写可以在浏览器之外执行的应用程序。这使得 Javascript 与 Python 或 Ruby 一样强大。 Nodejs 的采用速度比历史上任何语言都快,因为许多开发人员已经知道 Javascript。突然之间,用 Javascript 编写应用程序成为可能,因此我们正处于开发的淘金热之中。 Ruby 社区的许多人(他们是早期采用者)都尝试过 nodejs,因此它继承了在许可许可下共享库的文化。


我不使用客户端/服务器端语言,因为它令人困惑并且是错误的二分法。

【讨论】:

  • 法律+1。Any application that can be written in JavaScript, will eventually be written in JavaScript
【解决方案2】:

我认为现在所有的 javascript 服务器端库都因为 Google 的 V8 而出现;谷歌为 Chrome 打造的高效 JS 引擎。它编译 JS 代码,因此运行速度非常快。

不久前,V8 发布了。

它可以在没有浏览器的情况下轻松高效地运行js。

node.js 最大的缺点可能是致命错误会导致整个 http 守护进程崩溃。因此,除非非常小心,否则一个访问者可能会破坏整个网站。

我认为像 node.js 这样的 js-server-side 的最大优势是您可以在服务器和浏览器上运行相同的代码。例如,这对于表单验证特别有用。

与 PHP 相比,node.js 还提供了能够进行非阻塞调用的优势。事实上,使用 node.js 真的很难进行任何阻塞调用。

虽然我不会将 node.js 称为框架,但我认为它更像是一个基本库,仍然需要为其构建框架(或者是否已经存在?)。

Linkedin 是基于 node.js 构建的,他们似乎对此非常满意。但是他们的网站对我来说似乎很落后。

【讨论】:

    【解决方案3】:

    所有关于 JS 的大惊小怪都是因为用户可以获得出色的 UI 体验。用户每次做某事时都无需等待页面刷新,结果几乎是即时的。我同意@Karoly Horvath 的评论。 JQuery 一开始可能看起来很奇怪,但由于它是未知的,一旦你习惯了它的语法,它就很好用。回到用户体验,如果您的页面需要永远加载/重新加载,用户宁愿使用另一个站点。您的问题并不适合 Stack Overflow,但我相信您会在 SO 上的聊天网站中找到一些额外的答案和意见。祝你好运。

    【讨论】:

    • 但是您可以在没有 node.js 的情况下创建一页应用程序。只需使用 jquery,这就是您所需要的。
    • 是的,你可以,但我真的不知道有任何专业的开发人员会真正编写单页应用程序 :-)。如果你可能是为自己做的,那么你可以定义你想要使用的库和工具
    猜你喜欢
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2022-08-07
    • 1970-01-01
    • 2020-05-02
    相关资源
    最近更新 更多