何时使用js框架?

phi*_*hil 11 ruby-on-rails javascript-framework

我们在rails网站上有一个ruby,它使用了许多使用js模板构建的远程ajax轨道.我们有新的要求将我们引向单页面应用程序的方向,其中页面的整个块和列将基于ajax.

我们应该继续使用rails ajax基础设施还是开始合并像angularjs这样的js框架?换句话说,确定js框架需求的主要评估标准是什么?

soc*_*onk 4

就我个人而言,我认为一旦你的ajax响应需要潜在地更新页面的多个非相邻区域,那么绝对是时候引入JS框架了。服务器生成的 javascript(就像 Rails 帮助程序为您提供的那样)对于非常简单的事情很方便,但是一旦事情变得比这更复杂,您最好只从 Rails 返回 JSON 数据并让前端从中找出数据页面的某些部分应该更新。

也没有理由一定要两者兼而有之。您可以继续使用 Rails 的 JS 帮助器来完成简单的事情,但在有意义的页面上,引入 KnockoutJS、Backbone 或 Angular 之类的东西。我以这种方式将 KnockoutJS 引入到现有的应用程序中,效果非常好。它不依赖于特定版本的 jQuery,并且还支持旧版浏览器,这一点很有帮助。

您需要决定的一件事是是否通过 ruby​​gem 添加 JS 框架,或者只是下载它并将其添加到您的资产管道中。第一种方法可能更简单,但它也会将您与 gem 中包含的版本联系起来,这可能会在某些时候让您落后几个版本。如果我要启动一个新应用程序,我可能不会使用任何 Rails 的 javascript 帮助程序,甚至可能不会使用资产管道,而是使用 grunt 等其他工具来代替。这几乎是一种“关注点分离”,需要更多的前期工作,而不是“包含电池”的权衡。