使用Node.js的前端JavaScript框架

30

我开始学习前端JavaScript框架,比如Backbone.js或Ember.js,并想在Node.js中做一些项目。我已经阅读了一些文档,看起来这些框架用于创建单页应用程序。我习惯于开发分成多个页面的应用程序,我想知道在我这种情况下,这些框架是更有帮助还是更加累赘。

我还想知道,由于JavaScript在服务器和客户端都使用,我是否可以利用相同的语言在它们之间共享某些代码特性,以及是否有任何前端框架由于此原因更适合于Node.js。


1
我认为这个问题太主观了。不管怎样,我发现DNode在客户端和服务器之间共享代码非常强大。 - pimvdb
2个回答

28

我们无法指出适用于NodeJS应用程序和前端的前端框架。

A. NodeJS本质上是服务端的JavaScript。这意味着可以在后端使用所有好用的功能性工具,比如 underscore.js, uglify.js等等,也可以使用你自己开发的逻辑(例如在基于Web的JavaScript中查找数组中的元素)。

B. 前端已经得到了进化,JavaScript应用程序也是如此。对于你的问题,当您想要开发单页应用程序时,您可能需要查看MVC,MVVM,MVW,MVP 设计模式。例如,BackboneJS帮助你构建MVC应用程序。虽然有像jQuery这样的库来处理富应用程序中的DOM、ajax和其他东西,但大多数时间,您会发现应用程序是由多个组合而成的。

  • 一个单页MVC应用程序也需要动态视图,因此,模板化就变得重要了。例如,Ember使用Handlebars,Backbone使用underscore,等等。

C. 当您想为应用程序的前端选择框架时,TodoMVC是最好的决策 - http://todomvc.com/

D. 当您想为后端(在你的情况下,NodeJS)选择框架时,您可能需要查看ExpressGeddy。 如果NodeJS是纯浏览器JavaScript,那么Express和Geddy就像Backbone - 用于MVC。

此外,对于NodeJS应用程序,NPM注册表拥有大量实用工具的列表,其中大部分都是Browser JavaScript的端口。

E. 服务器只是提供页面和资源。因此根据我的一点经验,即使您在后端和前端都使用JavaScript,您仍需要在两者之间进行个别的努力和文件/脚本。在这种情况下,您唯一受益的共同点是相同的前端JavaScript开发人员可以以更小的学习曲线在后端上工作。

我看到过专家放弃框架的想法,原因是学习曲线的负担。因此,最终需要进行一些研究,特别是针对使用多种技术的应用程序,并且需要投入学习和实施的努力。


5

请查看这个页面:

http://todomvc.com/

它包含了所有常见的JavaScript框架及其Todo示例。 尝试一些并找出最适合您的选项。 希望这些材料能对您有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接