`
wqy159
  • 浏览: 56398 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Web开发敏捷之道(第二版)

阅读更多

网站:JavaEye 作者:robbin 发表时间: 2007-08-13 14:57 此文章来自于 http://www.iteye.com
声明:本文系JavaEye网站原创文章,未经JavaEye网站或者作者本人书面许可,任何其他网站严禁擅自发表本文,否则必将追究法律责任!
原文链接: http://www.iteye.com/topic/111727

Web开发敏捷之道(第二版)

《Web开发敏捷之道(第二版)-应用Rails进行敏捷Web开发》这本书的中文版已经上市,关于这本书在RoR书籍市场的地位就不用赘述了。有意思的是,这本经典的Ruby on rails教科书和我们JavaEye网站非常有缘分:

去年8月份,这本书第一版中文版上市的时候,正值我们使用Ruby on rails开发JavaEye2.0的关键时期,所以我毫不犹豫购买了三本,开发团队人手一册,那个时候,我们开发团队也是刚刚开始学习Ruby on rails,所以的确帮了不少忙。今年8月份,这本书第二版中文版也上市了,刚巧我们开发团队正在开发JavaEye3.0,这次是完全抛弃掉了JavaEye2.0的代码,彻底重写整个网站的代码,对代码质量提出了很高的要求,所以也要求我们对Ruby on rails有很好的掌握,不出意外,这次还是人手一册。

这本书的第一版主要是针对rails1.0版本的,第二版是针对rails1.2版本而写,所以新的内容很多,有意思的是,我们JavaEye2.0和JavaEye3.0的代码变迁也挺符合这本书两个版本之间的内容变动,第二版主要添加的内容有:

一、数据迁移

数据迁移功能是rails1.1版本引入的,非常受程序员的欢迎,去年我们开发JavaEye2.0的时候,rails1.1其实早就发布了,但当时第一版没有这部分内容,我们也不清楚这个功能。所以数据库的维护都是直接通过数据库工具来修改表结构,但这也造成了一些问题:例如开发环境添加了字段,但是生产环境忘记修改数据库,造成代码发布以后,网站频频报错的问题出现了好多次。

这次我们开发JavaEye3.0,就是完全使用数据迁移功能来维护数据库,可以杜绝问题的再次发生了,当然数据库的版本跟踪也方便了很多。

二、REST支持

REST是rails1.2引入的功能,也是rails框架未来的核心功能,这次我们开发JavaEye3.0,就是按照REST的架构风格来设计和开发的。但是第二版的REST功能介绍显得比较简略,不够详细,如果你的rails项目打算完全基于REST,那么可以参考一下beast开源项目,实际上我们就是大量参考了beast的代码写法。

三、模型对象的多态关联

多态关联是ORM很有用处而且很有趣的一项功能,第二版详细介绍了rails的多态关联功能,例如JavaEye3.0当中,我们就使用多态关联特性来实现帖子、博客、站内短信都可以带有附件这样的功能,也使用多态关联特性实现帖子、博客、评论都可以打tag这样的功能。

四、assert_select和集成测试

我个人觉得assert_select是一项很伟大的功能。我们整天都说TDD、TDD……,但是web应用,你怎么TDD?测试能够覆盖到页面上去吗?这在其他web开发当中是一个难题,但是assert_select就可以,而且完成的很漂亮,很简单。事实上,有了assert_select和集成测试,类似selenium之类的外部测试框架完全可以退休了。

五、其他的一些新内容

例如第二版里面增加了RJS和render :update功能,在JavaEye2.0里面,很多AJAX功能我们也是直接写prototype JS库的调用,现在基本上都改成了render :update了;
第二版里面增加了发送HTML格式和带附件的email功能,这个也是我们目前很迫切需要的功能;
第二版里面增加了使用mongrel群集部署rails应用的内容,这部分内容恐怕是我们JavaEye3.0唯一不会采用的新内容。




《 Web开发敏捷之道(第二版) 》 的评论也很精彩,欢迎您也添加评论。查看详细 >>

推荐相关文章:
  在rails启动时检查插件依赖关系
  Gibberish 本地化插件学习




JavaEye推荐
上海乐福狗信息技术有限公司:诚聘技术经理和开发工程师
免费下载IBM社区版软件--它基于开放的标准,支持广泛的开发类型,让您的开发高效自主!
京沪穗蓉四地免费注册,SOA技术高手汇聚交锋.
上海:优秀公司德比:高薪诚聘 资深Java工程师
广州:优易公司:诚聘Java工程师,开发经理
上海:尤恩斯国际集团:诚聘开发工程师
北京:优秀公司NHNChina招聘:WEB开发,系统管理,JAVA开发, DBA


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics