2012-12-11 20 views
4

我想优化一个应用程序,写在Rails中,这取决于很多“远程”链接和表单(AJAX触发器)。事情是,这几乎是我们需要jQuery的所有东西,所以它似乎是一个矫枉过正的使用它。我在想是否有一个更轻的方法,可能会替换/重写UJS使用一些较轻的JavaScript库(或根本没有),仍然可以正常工作。Rails的远程链接没有jQuery和UJS和替代

+0

我对此感兴趣,希望通过使JQuery无法为我们的开发人员提供麻烦的特设JQuery代码。 –

+0

@GabeKopley好吧,你可以先查看http://youmightnotneedjquery.com/建立一个AJAX处理程序并不难,用'documentQueryAll'你会变得相当远 – Phortuin

+0

你看过knockout.js吗? –

回答

1

由于rails 3.0 ActionView助手不会生成令人反感的内联JavaScript。所有你需要知道的,以便使ajax请求包含在生成的DOM中。因此,随时为您的首选javascript库创建一个ujs驱动程序。

但是,我个人不会这样做。 JQuery不是那么大的矫枉过正。考虑到你可以从某个CDN链接到你的页面,并且jQuery以前被用户浏览器缓存的可能性非常高,摆脱JQuery的好处将会被你所花费的时间所淹没花费开发/调试/支持您的自定义驱动程序

+0

你是对的,它似乎是_wrong_使用整个库10%的功能 –

+2

@TomažZaman我认为Knuth说的最好......“”程序员浪费了大量的时间思考或担心非关键的速度部分程序,并且在考虑调试和维护时,对效率的这些尝试实际上具有强烈的负面影响。我们应该忘记小效率,大约97%的时间:过早优化是所有邪恶的根源。但是,我们不应该把这个关键的3%放在我的机会上。“如果你正在加载jQuery或者从CDN中加载,你可能会有更多有趣的问题需要担心:) – engineerDave

+0

从@engineerDave的正确答案中学习。你可以衡量一个性能问题,这是决定它是否对用户来说最重要的一个非常好的第一步,他们不关心什么是“正确的”或“错误的”,重要的是我们中的许多人在工程设计方面尝试把事情做好,以牺牲时间和精力来让用户实际满足用户的实际需求。谷歌“不成熟的优化”可以减少你对迄今为止应该听到的信息的礼貌观点。 –