繁体   English   中英

JavaScript Web应用程序

[英]JavaScript Web Application

我使用MVC框架使用Ruby on Rails构建了测验应用程序。 我想使用纯JavaScript进行基本相同的操作,并为移动设备和特殊效果使用jQuery添加更多功能,因为jQuery真是太棒了。

我在TodoMVC之类的网站上四处寻找框架比较,但是对于这些框架的功能我并不了解。 为什么他们在MVC定义中使用Collection而不是Controller 在我看来,这些只是客户端框架。 我会使用Backbone.js之类的客户端工作,使用Node.js之类的服务器端工作吗?

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

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

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

Express.js比Rails更像Sinatra,但是它将为您在服务器端打下良好的基础。

哇,那是一篇很广泛的文章; 让我们一次做一件事情

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

确切的答案因库而异,但是一个简单的答案是,大多数Javascript应用程序中的Controller并不需要任何框架。 它们可以是原始Javascript,也可以正常运行,因为它们通常并不十分复杂。

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

同样,jQuery提供的许多DOM操作功能通常都属于MVC应用程序的控制器,因此从某种意义上说,jQuery可帮助您构建控制器。 Backbone.Model可以帮助您构建模型的方式只是不明确。

我会使用Backbone.js之类的客户端工作,使用Node.js之类的服务器端工作吗?

那真的是苹果和桔子。 用服务器端的术语来说,Backbone更像Rails,而Node更像Ruby(或Mongrel之类)。 是的,一个人的客户端和另一个人的服务器端,但是差异要深得多。

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

选择一个框架,动手吧! 认真地说,您可以花费数小时来阅读不同框架的评论,但与开始时相比,最终决策仍然更加接近(我从经验出发)。 但是,如果您只是选择一个并尝试,它可能会与您“凝结”在一起或运行不快。

就个人而言,我建议从Backbone开始,原因是A)这些天非常流行,并且B)我有偏见:我每天都在使用它并喜欢它。 另外,它可能很适合您,因为它是由CoffeeScript家伙创建的(而CoffeeScript是他使Javascript更像Ruby的尝试)。 但是,Ember.js如今也非常受欢迎,Hector提到了ExpressJS,我对此一无所知,但是可能很酷。

但是重点是,选择一个,打个招呼世界,或者做些更复杂的事情,例如入门教程(Backbone的To Do应用中有一个)。 用它进行几个小时的编码将比我(或Stack Overflow上的其他任何人)告诉您有关它是否适合您的更多信息。

我肯定会看一下Google Closure 我已经开始在个人宠物项目中将其与LimeJs一起使用,并且真正被它的编译器和模块化设计所困扰

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

因此,客户端的Closure LibraryjQuery / jQuery UI (均在Google API上 ),服务器端的ExpressJs 另外,看看此框架比较表 ,您可能会发现它很有趣。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM