在叙述完7个使用Drupal的理由之后,我们公平一点,说7个不使用Drupal的理由:
1. Drupal很难学
Drupal很复杂,很难入门。即使它具有不需要编程的CMS特性,对于懂编程的人来说也很难学。Drupal作为CMS,其易学程度绝对和Wordpress不是一个档次。
国内很少人用Drupal,想找本像样的中文书籍都难。运气好能找到的很可能只是讲CMS部分的书籍,而不涉及怎样编写自定义模块内容。换句话说,要想学习Drupal,要直接学习英文的学习资料。
在国内找个Drupal程序员很困难。
不过,需要说明的是,容易入门的东西,精通了也不会让我们有什么过人之处。难学的东西还有很多人学说明学了它确实很有用。
2. Drupal很慢
做了一个简单的测试,打开一个很干净的页面,需要做25秒数据库连接,尽管只需要9ms(当数据查询繁忙的时候很可能不止这个时间)。启用的模块越多,系统运行越慢。我做过的一个很简单的网站数据库里有65张表,一个复杂一些的网站有250张表,这对系统资源是很大的压力。
Drupal的页面缓存功能只对匿名访问有效。
即将发布的Drupal 8会比Drupal 7更慢。
3. Drupal网站容易受到攻击
由于全世界有很多网站使用Drupal,并且源代码开放,Drupal本身也有很多漏洞,这导致Drupal网站很容易受到工具。如果经常更新模块修补漏洞,会对网站稳定性造成影响。因为相对于Linux系统的漏洞补丁,Drupal的补丁质量还是要差很多,很可能升级之后导致部分功能不能正常使用。
但公平地说,所有CMS软件都面临这样的问题,除非你用的CMS实在太少人用,黑客不感兴趣。
4. Drupal不是面向对象也不是MVC结构的
至少Drupal 8之前不是,而目前(2015年10月)Drupal 8还处于RC版。Drupal不是面向对象的设计,不是MVC的结构。是否MVC结构对某些人来说很重要。利用Drupal编写网站没有前后端的分工,基本上需要一个人熟悉HTML、JS、CSS、PHP、SQL整个开发堆栈。
5. Drupal模块的质量不是很高
Drupal模块虽多,但很多质量较差,有不少bug。这也是很多开源软件的问题,好像拿过来用很省事,但是用起来发现挺折腾的。即使是核心模块View,经常也会遇到莫名其妙的问题。
6. Drupal会遇到较多中文相关问题
因为懂中文的Drupal贡献者很少,会遇到很多中文相关的问题。例如翻译缺失,中文全文搜索效率低下等。
7. Drupal的表单流程很复杂、很难理解
我用Drupal写了三年多的代码,我在Drupal官方社区里发布过模块,但是对于form的流程还是一知半解。过去我把很多SQL查询语句写在了form生成的逻辑里,但后来发现在form submit的时候会先执行一次form的流程,这部分的SQL语句会被多余地执行。在form的ajax流程中,有时候会因为缓存而导致状态混乱。
评论5
嗯 说得对。
嗯 说得对。
事实上drupal8比drupal7速度快得多…
事实上drupal8比drupal7速度快得多,易用性也大大提升。
之前看过几份测评的报告…
之前看过几份测评的报告,Drupal8的速度要比Drupal7慢一半。不过我很久没留意Drupal8的更新了,不知道是不是有改进。我估计是使用面向对象设计之后的一些副作用。
还是紫黑
还好啦。还在使用Drupal7,为了一些速度,系统架构和库都想法优化下咯。
Drupal 7的生命周期不长了…