JavaScript Web应用程序

JavaScript Web Application

本文关键字:应用程序 Web JavaScript      更新时间:2023-09-26

我使用MVC框架,用Ruby on Rails构建了一个问答应用程序。我想用纯JavaScript做基本相同的事情,并为移动设备和特殊效果添加更多的jQuery功能,因为jQuery就像那样棒极了。

我已经在像TodoMVC这样的网站上寻找框架的比较,但我对这些框架的功能一无所知。为什么他们在MVC定义中使用Collection而不是Controller ?在我看来,这些只是客户端框架。我会使用像Backbone.js的客户端工作和Node.js的服务器端吗?

我只是不确定如何开发纯JavaScript函数。我需要创建一个数据库来存储测验和用户信息,并且在查看大多数页面时能够访问该数据库,所以我觉得MVC框架是最好的方法。

关于从哪里开始有什么建议吗?

哇,这是一个相当广泛的帖子;让我们一步一个来

为什么他们使用集合而不是控制器在他们的MVC定义?

确切的答案因库而异,但一个简单的答案是,大多数Javascript应用程序中的控制器实际上不需要任何框架;它们可以是原始的Javascript,并且工作得很好,因为它们通常不是很复杂。

此外,您可能认为是"控制器"的部分通常是单独提供的。最主要的例子是Backbone的Router对象:它类似于Rails中的隐含路由(和routes.rb),或者Django中的urls.py。就像那些框架不认为路由是"控制器"的一部分一样,主干(和类似的框架)将路由作为一个单独的部分提供…即使它可能属于MVC中的C。

同样,jQuery提供的很多DOM操作功能通常属于MVC应用程序的控制器,所以在某种意义上,jQuery帮助你构建你的控制器;它只是不明确的方式骨干。Model帮助您构建模型。

我会使用像Backbone.js的客户端工作和Node.js的服务器端?

这简直是天壤之别;用服务器端术语来说,Backbone更像Rails, Node更像Ruby(或Mongrel或其他东西)。所以,一个是客户端,另一个是服务器端,但差异远不止于此。

关于从哪里开始有什么建议吗?

选择一个框架并动手吧!说真的,你可能会花几个小时阅读不同框架的评论,但最终还是无法做出决定(我是从经验出发的)。但如果你只是选择一种并尝试,你可能会发现它要么与你"凝胶",要么不是很快。

就我个人而言,我建议从Backbone开始,因为A)它最近很流行,B)我有偏见:我每天都在使用它,而且很喜欢它。此外,它可能很适合你,因为它是由CoffeeScript家伙创建的(CoffeeScript是他试图使Javascript更像ruby的)。不过Ember.js最近也很流行,Hector提到了ExpressJS,我对它一无所知,但可能很酷。

但关键是,选择一个,做一个hello world,或者一些更复杂的东西,比如介绍性教程(Backbone有一个围绕To do应用程序的教程)。用它写几个小时的代码会比我(或者Stack Overflow上的任何人)告诉你它是否适合你更多。

如果你正在寻找一个类似JavaScript mvc的框架,可以看看Express.js http://expressjs.com

Express.js更像Sinatra而不是Rails,但是它会给你一个良好的服务器端基础。

我肯定会考虑Google Closure。我已经开始在一个个人宠物项目中与LimeJs一起使用它,并且真的被它的编译器和它的模块化设计所吸引。

它不是真正的 MVC,但由于JavaScript应该更多地以异步方式考虑,我倾向于将其视为事件驱动而不是简单的请求-管道-响应方式。

所以,闭包库和jQuery/jQuery UI(都在Google API上)用于客户端,ExpressJs用于服务器端。另外,看一下这个框架比较图,您可能会觉得很有趣。