【问题标题】:Javascript framework: Knockout, backbone, ember…Javascript 框架:Knockout、backbone、ember…
【发布时间】:2012-05-31 07:49:02
【问题描述】:

我目前正在处理一个用 javascript 编写的带有 node.js 和 Express 服务器端的 Web 应用程序项目,是时候考虑这个应用程序的客户端了。这两个问题是:

  • 我应该考虑使用框架还是可以不用这样的工具来编写它?
  • 如果不是,是哪个框架?

我选择了其中的三个:backbone、knockout 和 Ember。我阅读了我发现的所有关于它们的问题,但我仍在犹豫。需要考虑的要点是:

  • 像knockout那样混合html和javascript好不好?
  • 我的应用程序是否易于维护?
  • 该框架是否会在明天继续存在并且不会消失,让我处于非常不舒服的境地?

编辑:您对 JavaScriptMVC 有什么看法?

【问题讨论】:

  • 我确实理解你的观点,你说的很对,但我的问题更多的是关于每个人的做法。例如淘汰赛的 javascript/html 混合等等……而且由于我是 web 开发的新手,如果想在没有框架的情况下制作应用程序是疯狂的。
  • @MartinGOYOT 当您刚开始进行 Web 开发时,我认为创建一个没有框架的 Web 应用程序并不疯狂。我实际上推荐这个,因为你将能够看到事情在内部是如何运作的。这真的取决于项目。如果是一个小项目,并且您没有截止日期,请尝试没有截止日期。从长远来看,它将对您有所帮助。当您意识到为每个项目重新发明轮子毫无意义并且您了解框架的作用以及它如何帮助您加快开发过程时,应该使用框架。
  • 在 Stack 网站网络上,您提出的每个问题都有答案。在引用链接之前,我会给你一些时间。在一天结束的时候,我会教一个人去寻找美好的事物:)

标签: javascript backbone.js knockout.js ember.js


【解决方案1】:

正如@Christian Varga 在 cmets 中所说,这取决于。但是,我会提出以下意见:

像 Knockout 那样将 html 和 javascript 混合起来很好吗?

通过淘汰赛,您不必将 javascript 混合到 html 中。见Unobstrusive Event Handling

我的应用程序是否易于维护?

根据我的敲除经验,如果应用程序变得特别大,页面确实会变得复杂。但是,如果您要使用SPA 样式的页面,那么代码将总是相当复杂。我没有使用过 Ember 或 Backbone,但 Backbone 确实以适合大型应用程序而闻名。

框架会不会在明天继续存在,不会消失,让我陷入困境 非常不舒服的情况?

我认为您已经明智地选择了三个框架来考虑。 Knockout 和 Backbone 都有相当广泛的采用。淘汰赛将成为shipped with MVC4,这让您对它的未来充满信心。 Ember 较新,但它背后似乎有很多令人兴奋的东西。对 Ember 进行了很好的讨论,其中提到了淘汰赛和骨干网here

希望这可以帮助您评估最适合您的项目的方法。

【讨论】:

  • 感谢您的建议和链接的文章非常有用和有趣。我真的是来尝试对我拥有的不同选项发表意见,而不是找到几乎最佳的解决方案。
【解决方案2】:

所有这些都是很好的框架。你可以选择任何人,你不会犯大错。当然,你可能比其他人更喜欢一个,但这是一个品味问题。所有这些框架都将使您的应用易于维护。

现在,我想添加更多内容。您问“我应该考虑使用框架”吗?您可以构建自己的东西,这很酷。我只是建议记住你的项目的良好组织。在我短暂的经验中,Js 是一团糟。这些 FW 可帮助您保持代码整洁有序。

还有 1 件事要添加到组织中:您应该考虑一些 AMD 工具,例如 Require.js

【讨论】:

    【解决方案3】:

    如果您正在考虑构建具有可扩展性和可维护性的应用程序,您可能需要考虑参考架构,例如 Boilerplatejs

    BoilerplateJS 结合了构建大型应用程序时要使用的最佳实践。此外,它还附带了诸如 knockoutjs 之类的库以及有助于构建和组织代码的实用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      • 2012-09-14
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多