2009-02-13 36 views
7

我正在开发我的第一个Ruby on Rails应用程序,它相当大(至少对我而言) - 数据库有大约25个表)。我仍然在学习Ruby和Rails,我从来没有用Javascript或Ajax写过任何东西。从头开始用ajax创建web应用程序,或者稍后添加ajax?

我应该从一开始就将Ajax添加到我的应用程序中吗?或者,也许最好添加后者?

或换句话说:是否(相对)很容易添加ajax到现有的Web应用程序?

回答

4

取决于Ajax对于应用程序的重要程度。由于您可能只会将Ajax用于渐进式可用性增强功能,因此我认为最好先从传统的非Ajax软件开始,并且只有在具有第一个功能的情况下才能添加Ajax功能。您可以按功能执行此功能,或者先编写整个软件,然后开始对其进行调试。

如果您熟悉不引人注意的JavaScript技术,添加Ajax可能会更容易。除了Prototype.js之外,使用jQuery而不是Prototype.jsLowPro。对于后者,参见例如Jarkko莱恩的PDF书Unobtrusive Prototype.js

1

如果你打算做AJAX,我会从一开始就这样做。它将帮助您构建您的控制器操作和视图,尤其是在部分视图中生成一些数据方面,从一开始就能够正确使用。知道某些操作需要能够渲染页面的某些部分将会改变您的设计。这并不是说你不能回头改造设计,但是我认为如果你在设计时考虑到这一点,设计就会更容易。您还应该考虑如何在没有AJAX(或者JavaScript)的情况下使其工作,以便您的设计尽可能地具有故障安全性。这并不意味着所有的功能都可用,但是这个重要的功能在没有javascript的情况下工作。例如,使用AJAX的动作链接应该有一个默认url,如果javascript未启用,它将通过GET请求调用正确的动作。通过AJAX发布的表单也应该正常发布。动态行为(如一个图片库)应具有的作品可用,另一种观点等

11

杰里米·基思写了这一篇很棒的文章,他指的是为Hijax

简而言之:

  • 从一开始就计划了Ajax。
  • 最后实现Ajax。
+1

根据我的经验,有时候“最终完成”的东西永远不会完成。另外,没有交付的计划并不实际。直到为时已晚,您才会对设计获得任何反馈。 – tvanfosson 2009-02-13 14:47:40