7个不使用Drupal的理由

By admin, 5 五月, 2015

在叙述完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

Restricted HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id> <img src>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
验证码
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
请输入"Drupal10"

紫黑 (未验证)

6 years 11 months 之前

还好啦。还在使用Drupal7,为了一些速度,系统架构和库都想法优化下咯。

admin

6 years 11 months 之前

紫黑 (未验证) 回复

Drupal 7的生命周期不长了。Linux服务器已经逐渐切换到PHP 7,Drupal 7和PHP 7的兼容性不好。然而,Drupal 7升级到Drupal 8是很困难的。