JavaScript Web应用程序

JavaScript Web应用程序,javascript,node.js,backbone.js,web,Javascript,Node.js,Backbone.js,Web,我使用RubyonRails,使用MVC框架构建了一个问答应用程序。我想用纯JavaScript做基本相同的事情,并用jQuery为移动设备和特效添加更多功能,因为jQuery就是这样 我曾在类似的网站上查找过框架的比较,但我对这些框架的功能一无所知。为什么他们在MVC定义中使用Collection而不是Controller?在我看来,这些只是客户端框架。客户端工作是否使用Backbone.js,服务器端工作是否使用Node.js 我只是不确定如何使用纯JavaScript函数进行开发。我需要创

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

我曾在类似的网站上查找过框架的比较,但我对这些框架的功能一无所知。为什么他们在MVC定义中使用
Collection
而不是
Controller
?在我看来,这些只是客户端框架。客户端工作是否使用Backbone.js,服务器端工作是否使用Node.js

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


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

如果您正在寻找类似JavaScript MVC的框架,请查看Express.js


JS更像Sinatra than Rails,但它会给你在服务器端打下良好的基础。

< P>哇,那是一个相当广泛的帖子;让我们一次处理一件事

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

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

此外,你可能认为是“控制器”的部分通常是分开提供的。这方面的主要示例是主干网的路由器对象:它类似于Rails中的隐含路由(and routes.rb)或Django中的url.py。正如那些框架不考虑路由是“控制器”的一部分,主干(和类似的框架)提供路由作为单独的一块…即使在MVC中它可能属于C

类似地,jQuery提供的许多DOM操作功能通常属于MVC应用程序的控制器,因此在某种意义上jQuery可以帮助您构建控制器;主干模型帮助您构建模型的方式并不明确

客户端工作是否使用Backbone.js,服务器端工作是否使用Node.js

那真的是苹果和桔子;用服务器端术语来说,主干更像Rails,节点更像Ruby(或Mongrel或其他)。所以,是的,一个是客户端,另一个是服务器端,但区别远不止这些

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

选择一个框架,把你的手弄脏!说真的,你可以花几个小时阅读对不同框架的评论,但最终还是不会比开始时更接近做出决定(我是根据经验说的)。但如果你只是选一个试试,你很可能会发现它要么“凝胶”在你身上,要么不太快

就个人而言,我建议从主干网开始,因为A)它现在非常流行,B)我有偏见:我每天都使用它,并且喜欢它。此外,它可能非常适合您,因为它是由CoffeeScript的家伙创建的(CoffeeScript是他试图使Javascript更像Ruby)。然而,Ember.js在这几天也很受欢迎,赫克托提到了ExpressJS,我什么也不知道,但可能很酷


但关键是,选择一个,做一个hello world,或者做一些更复杂的事情,比如介绍性教程(主干有一个关于待办应用程序的教程)。用它编写几个小时的代码将告诉你比我(或任何其他在Stack Overflow上的人)更多关于它是否适合你的信息。

我肯定会看。我已经开始在一个个人宠物项目中使用它,而且它的模块化设计让我非常着迷

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


因此,对于客户端和服务器端,和/(都打开)。另外,看看这个,您可能会发现它很有趣。

p.S.为了恰当地设定您的期望,请记住,没有任何Javascript框架(至少我见过)像Rails那样“牵手”。对此您无能为力,但不要指望您选择的任何框架都能使您免于学习Javascript;-)谢谢你的解释!我当时有点想法,我只是需要证实我的怀疑。我很兴奋能学习所有我能学的JavaScript,所以弄脏我的手是相当含蓄的=)