[Grails] php框架和Grails框架对比

casephoen 2008-03-24

挑了2个重点php框架看了看,symfony/zend framework(以下简称zf)
symfony:我看它和java社区的hibernate+spring+struts等是一个层次的框架,大量的yml配置,通过hibernate和spring事实证明它也只能是一个框架,而不能称之为敏捷开发框架。尽管它真的已经做到了很强的地步,却和我要求的敏捷相差遥远。

zf:难怪phper对它很失望,不过我却能理解,它只是把一些东西封装并规定了一些规范,沾了一点框架的光,但我觉得更多的是zend公司在完善php这个语言,而不是针对敏捷开发。zf的层次范畴和java社区的j2me/j2se/j2ee是一样的,是php针对企业应用的一个框架。

cakephp:这个很早之前就看过了,模仿ror,自身不能动态性有限,实现的model类必须继承庞大的父类,内部复杂,性能较差。但这里我得表扬它,在目前我了解到的几个php框架里,它是深刻理解了什么是敏捷开发。利用约定俗成的惯例思想,摒弃一切对开发人员造成的不必要的负担,包括大段的代码和配置文件。


--------------------------------------------------------------------------------

框架的发展经历了好几个阶段了,java社区中第一阶段是很多自动生成模板代码的框架;第二阶段是mvc和orm流行的框架;第三阶段是利用惯例减少前一阶段框架中冗余代码和配置的框架。可以总结第一阶段要速度,第二阶段要性能和架构,第三阶段两者都想要。java社区在这方面一步一个脚印,其强大的底蕴和社区人群不是其他语言可以轻易追赶的上的

ror为什么带来这么大的影响?关键在于引入了ruby这种动态脚本语言,很多冗长的静态代码段都可以通过约定俗成的惯例实现一小段动态代码实现,动态代码缺少一定的类型检测,牺牲了一部分相对不重要的东西,换来了更大的效率。

以上php框架的例子都比较长,不像grails和ror简单易理解(因为人类思维惯例,自然而然就猜测出来了。但用配置,如果开发者不看配置,他根本不容易明白那是干什么的),在我看来,以上的框架那么的代码,看着就没兴趣了,用grails我都可以更少代码更少时间实现了。

当然,可能先入为主也影响了思维判断,但如果第一印象都不能让人产生兴趣,那这种框架无疑是吸引力做的不够


ror和grails对比,我为什么迅速选择了grails?因为ror社区成熟度不能和java社区比阿,grails尽管是用groovy语言集成spring/hibernate/spring mvc实现的,但对于我来说,它还是一个java做的东西,只不过接口使用了更方便的动态语言罢了。就好比一个很强大的外国人,groovy给他制作了一个翻译器带上,然后我们就可以更好的和他打交道了。grails在我眼里就是一种适配器。如果它不稳定或者碰到问题,那我也可以用外语和他打交道。而ror是缺少这一后援强大支持的。
agile_boy 2008-03-24
呵呵,写的不错,转载到ChinaGroovy中文论坛,如果有问题,请让我知道
key232323 2010-03-03
thinkphp有时间lz看看撒
Global site tag (gtag.js) - Google Analytics