Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。截止2011年底,共有13,802位WEB专家参加了Drupal的开发工作;228个国家使用181种语言的729,791位网站设计工作者使用Drupal。著名案例包括:联合国、美国白宫、美国商务部、纽约时报、华纳、迪斯尼、联邦快递、索尼、美国哈佛大学、Ubuntu等。
node + content_type VS page & post drupal里把内容抽象成node,node就是一个数据结构,有作者、发布时间、具体内容等等,而根据不同的content type则可以附加不同的额外的信息和权限控制。相比之下,wordpress则显得有些死板,它只有post和page,其说说起来post和page本质上并没有什么不同,区分出来也没太多意义,反过来说,只有2种类型供选择又显得很不足,其实这也不能怪wordpress,本来wordpress的定位就是blog程序,而drupal官网上就说了drupal更倾向于CMF
taxonomy VS tag + category drupal里没有tag和category的概念,就是taxonomy,你把taxonomy具体化成什么是自己决定的,你定义一个taxonomy,并认为它是一个category,那它就是一个category,如果你认为它是tag,那它就是tag,这无疑提供的很大的灵活性,taxonomy从本质上讲不过就是node的一种附加信息(metadata),你认为它是什么它就是什么。而wordpress则硬性区分了category和tag,其实wordpress底层数据库里的表名就叫taxonomy,由此可以看出drupal和wordpress存储taxonomy是一样的,不同之处在于wordpress把taxonomy的概念具体化了,如果作为blog,这种具体化省去了我们很多时间,很方便,但是对于二次开发来讲,则限制了灵活性
region VS sidebar drupal里的region大概相当于wordpress里的sidebar,相同之处在于它们都是一个容器,作为一个包装器的存在,但是不同之处在于drupal可以定义更多的区域,比如head和foot等等,而wordpress里就是sidebar了,head和foot都是通过template来完成的
block VS widget drupal里的block则相当于wordpress里的widget,都是被包含在一定的容器内,drupal里面叫region,wordpress里叫sidebar,它们都是用于一些比较小的功能区块,比如显示在线人数,登陆框等等
module VS plugin 这两者在wordpress和drupal里没什么其别,都是扩展功能的东西,它们都是用hook机制,不过hook的实现有很多不同,plugin用的是一个字符串来标示hook到那里,什么时候该调用哪些函数,而drupal里则用一些命名规则来替代,个人还是喜欢wordpress的方式,因为更明确一些,始终觉得靠命名规范的东西比较讨厌
drupal theme VS wordpress theme 两者的作用都是定义外观,没什么好说的,使用起来大同小异。对于developer来说,区别还是挺大的,总体的感觉,wordpress做主题的时候,是从上到下,从左到右,是一种视觉上的划分,而drupal则是由外到内,有里向外的感觉,是一种逻辑上的划分。wordpress做主题的时候使用一些API来获取信息,然后展示信息,drupal里面使用一些预先初始化好的变量
drupal i18n VS wordpress i18n i18n的时候wordpress使用__()和e(),drupal使用t(),t()相当于_(),要想直接打印还得print。wordpress里如果要i18n需要先找个工具scan一遍源代码,在编辑POT生成MO,在load进来,drupal这里做的比较简单,有一个locale的插件,自动scan代码,找到需要替换的字符串,然后在线编辑,直接翻译,省去了不少麻烦
drupal role VS wordpress role 这是我相比wordpress最喜欢drupal的地方了,实在是太方便了,太灵活了,wordpress里虽然可以借助插件实现很细的权限控制,但是还是比不了drupal内在就支持灵活的权限控制。drupal内置的权限控制可以创建不同的角色并赋予不同的权限,很多在wordpress里做起来很繁琐的操作在drupal变得非常简单,爽死了
Drupal,Joomla,Wordpress在内置应用功能方面的区别和比较
Drupal、Joomla!以及Wordpress由于主体架构和面向的用户群不太一样,所以在内置应用(主程序自身所带的功能)方面各有所长,也各有所短;有些不足之处可以通过插件来弥补,但有一些不足暂时还没办法补上。下面来具体看看。
1、博客或网络日志功能(blog):这三种CMS(内容管理系统)都内置有博客功能,您可以使用它们中的任何一个来写网络日志。
2、实时在线聊天功能(chat):很遗憾,它们都没有此项功能,不过却都可以通过免费插件来实现。
3、联系或联络簿(contact):Joomla有这个功能,而Drupal、Wordpress需要插件
4、数据库报告(database report):Joomla需要插件来实现,而Drupal、Wordpress没有这个功能。
5、讨论和论坛(Discussion/Forum):Drupal有内置论坛,Joomla、Wordpress需要插件来实现。
6、文件管理(Document Management):Drupal具有有限的内置文件管理功能,Joomla需要插件,Wordpress(2.7)目前无法实现文件管理。
7、事件日历(Events Calendar):这三种系统都可以通过插件来办到。
8、常见问题管理(FAQ):Wordpress 需要插件,其他两个都有内置功能。
9、是否可以让用户根据一些数据来画图表(Graphs & charts):Joomla可以通过插件来完成,而Drupal、Wordpress则办不到。
10、来客留言本(Guest book):它们都有相应的插件。
11、服务台或错误报告(Help desk / Bug Reporting):Joomla、Drupal都有有关的插件,Wordpress什么都没有。
12、链接管理(Link Management):Joomla、Wordpress都有内置功能,而Drupal需要插件来实现。
13、时事通讯(Newsletter):三种系统都需要插件来办到。
14、相册(Photo Gallery):都需要插件。
15、投票(Polls):Joomla、Drupal都有该项的内置功能,Wordpress通过插件一样能做得很好。
16、产品管理(Product management):Joomla有此内置功能,Drupal需要插件来做到,Wordpress无能为力。
17、项目跟踪(Project tracking):Drupal、Joomla需要插件,Wordpress不支持。
18、搜索引擎(Search Engine):这三种CMS系统都有内置的搜索引擎,用户可以用来搜索相关的内容。
19、网站地图(Site Map):都需要插件。
20、股票报价(Stock Quotes):Drupal 要插件,其他两种无此功能。
21、调查(Surveys):都要插件。
22、内容聚合(RSS):都有此内置功能。
23、维基(Wiki):Wiki是一种网路多人写作系统,每个使用者都能撰写、修改网页的内容,可快速集合众人的力量创造可观的知识。Drupal、Joomla、Wordpress都可以通过插件来实现这个功能。
24、天气情况(Weather):都需要插件。
从个人角度对 WordPress 和 Drupal 的一些粗浅比较
Drupal 太庞大,太复杂。
WordPress 更小,更敏捷。
为 WordPress 开发插件和主题,比为 Drupal 开发容易得多。所以,有很多功能是 WordPress 有而 Drupal 没有的,或者是 WordPress 先有的。
然而,也有一些功能是 Drupal 有、而 WordPress 或许永远不会有的。只不过,那些功能你真的用的上吗?
得到新功能的速度:
WordPress 每三四个月出一个大版本,这个大版本指的是 2.7、2.8 之类,即小数点之后第一位数字依次加 1。大版本一般会带来新的功能。除此之外,也会有小版本,如 2.7.1,这种小版本一般是解决 bug,不会有新功能。
Drupal 至少要一两年才会出一个大版本,但这个大版本指的是 5.0、6.0 之类,是小数点之前的数字加 1。Drupal 也是大版本推出新功能,小版本只解决 bug、没有新功能。但是 Drupal 的大部分功能都是通过各种模块(类似于 WordPress 的插件)实现的。
WordPress 升级很容易,即使是大版本升级,许多插件也可以继续使用。Drupal 如果是大版本升级,一般 API 会有变化,模块通常都不能继续使用了。
所以 Drupal 的版本更新速度和 WordPress 无法直接比较。
安装、升级:
WordPress 能直接在后台一键升级核心、插件,直接浏览插件库、主题库,一键安装插件、主题。这都非常方便。Drupal 相形见绌。Drupal 太复杂了,虽然他们也想做这样的功能,但是牵扯到的东西太多,很难做出来,即使做出来了也 bug 重重,不知道何时才能有 WordPress 那么好用的出现。
缓存、加速:
Drupal 自带一定的缓存功能,会自动合并 CSS、JS 文件,自动 Gzip,自动进行局部缓存(比如最新文章之类的区块,不用每次都重新查询生成)。这些 WordPress 都没有。
Drupal 也有模块进行全局缓存、生成静态页面等等。Wordpress 也有这种全局缓存插件,但缺少上一段那种缓存功能,比 Drupal 逊色。
权限控制:
这个是无可取代的 Drupal 优势,Drupal 的权限控制非常详细、具体,WP 则基本等于没有。
输入过滤:
很多特性可以说是各有千秋、各有所好,但 WordPress 有一点我非常不喜欢:
Drupal 不改变输入的文本,只在显示时进行控制。Wordpress 会改变输入的文本。比如留言里用尖括号 <> 括起来的文字都会被 WP 吞掉,即使是管理员也不能在后台看到别人输入了什么。
Drupal 有过滤机制,显示时根据安全设置显示,而输入的原始文本它不会改动。既保证了安全性,又保证了原始数据的完整性和显示的灵活性。
多语言支持:
WordPress 改语言居然要直接改配置文件,为什么不在后台提供选项呢?这方面 Drupal 倒是好得多。
其他:
除了上面说的这些,大部分功能需求,都是 Drupal 和 WordPress 都能做到的,只不过有的用前者容易些,有的用后者容易些。
就我的主观感受而言,如果一个功能 Drupal 支持,那么用 Drupal 实现往往比 WordPress 方便;如果 Drupal 现有的东西和你的需求不符,需要自己动手改一下的话,改 Drupal 可能比改 WordPress 难得多。
所以,选择的时候一定要明确自己的需求啊。
Joomla, Wordpress, Drupal 全面详细Pk比较
Joomla,wordpress 和 Drupal 是目前世界上被使用的比较多的三种免费开源CMS(内容管理系统)。Joomla 可以被用于构建各种类型的网站,尤其是各类门户网站,商业网站;Wordpress主要被用于博客平台,不过只要稍加改动也可以大致用来搭建其他类型的网站;Drupal同样也具有一定的灵活性,可以把它设计成不同种类的网站。这三种CMS系统的官方网站上都提供了丰富的插件和大量的免费功能模块,尤其是Wordpress和Drupal官网上还有众多朋友提供的免费主题、模板,使得我们设计网站越来越简单和方便省时,但在Joomla官网上一直没有找到可以下载的免费模板。
Wordpress受到关注的程度与Joomla接近,而Drupal好像没有引起更多人的注意。
下面用具体主要的数据来比较一下这三种CMS系统:
系统要求 | Drupal | Joomla | Wordpress |
应用服务器 | 支持PHP 4.3.5及以上版本的服务器 | 任何支持PHP的服务器 (建议Apache) | 任何支持PHP 和 MySQL的服务器 (建议Apache) |
数据库 | MySQL, Postgres | MySQL | MySQL 4.0版本或更高版本 |
操作系统 | 任何 | 任何 | 与操作系统无关 |
编程语言 | PHP | PHP | PHP 4.2版本或更高 |
安全 | Drupal | Joomla | Wordpress |
审核跟踪 | 是 | 否 | 有限的 |
验证码 | 自由添加* | 自由添加 | 否 |
内容核准 | 是 | 是 | 是 |
Email核实 | 是 | 是 | 自由添加 |
登录历史 | 是 | 是 | 自由添加 |
插件认证 | 是 | 是 | 是 |
问题通知 | 否 | 否 | 自由添加 |
Session 管理 | 是 | 是 | 自由添加 |
SSL 兼容 | 是 | 是 | 是 |
版本控制 | 是 | 自由添加 | 自由添加 |
支持 | Drupal | Joomla | Wordpress |
商业手册 | 有 | 有 | 无 |
商业支持 | 有 | 有 | 无 |
商业培训 | 有 | 有 | 无 |
开发者社团 | 有 | 有 | 有 |
在线帮助 | 有 | 有 | 有 |
插件 API | 有 | 有 | 有 |
专业服务 | 有 | 有 | 无 |
论坛 | 有 | 有 | 有 |
第三方开发者 | 有 | 有 | 有 |
用户讨论会 | 有 | 有 | 有 |
易用性 | Drupal | Joomla | Wordpress |
拖放内容 | 自由添加 | 否 | 是 |
邮件讨论 | 自由添加 | 自由添加 | 有限的 |
友好的 URLs | 是 | 是 | 是 |
批量上传 | 自由添加 | 是 | 自由添加 |
拼写检查 | 自由添加 | 否 | 自由添加 |
样式向导 | 有限的 | 否 | 否 |
订阅 | 自由添加 | 否 | 是 |
模板语言 | 有限的 | 是 | 否 |
用户界面层 | 否 | 是 | 是 |
撤消编辑 | 有限的 | 否 | 自由添加 |
所见即所得编辑 | 自由添加 | 是 | 是 |
Zip归档 | 否 | 否 | 自由添加 |
性能 | Drupal | Joomla | Wordpress |
高级缓存 | 有 | 有 | 自由添加 |
数据库复制 | 有限的 | 无 | 无 |
负载平衡 | 有 | 有 | 无 |
页面缓存 | 有 | 有 | 自由添加 |
静态内容输出 | 无 | 无 | 有限的 |
管理 | Drupal | Joomla | Wordpress |
广告管理 | 自由添加 | 有 | 无 |
剪贴板 | 无 | 无 | 无 |
内容时序安排 | 自由添加 | 有 | 自由添加 |
在线管理 | 是 | 是 | 是 |
主题 / 皮肤 | 有 | 有 | 有 |
回收管理 | 无 | 有 | 无 |
网站统计 | 有 | 有 | 自由添加 |
在线主题设计管理 | 是 | 是 | 是 |
在线翻译管理 | 有 | 自由添加 | 有限的 |
流程自动化引擎 | 有限的 | 无 | 无 |
灵活性 | Drupal | Joomla | Wordpress |
内容重用 | 有限 | 是 | 否 |
可扩充的用户资料 | 是 | 是 | 否 |
多语言内容 | 是 | 自由添加 | 自由添加 |
多网站部署 | 是 | 自由添加 | 否 |
URL重写 | 是 | 是 | 是 |
商业 | Drupal | Joomla | Wordpress |
代理跟踪 | 自由添加 | 自由添加 | 无 |
库存管理 | 自由添加 | 自由添加 | 无 |
可插式支付 | 自由添加 | 自由添加 | 无 |
可插式货运 | 自由添加 | 自由添加 | 无 |
可插式传真 | 自由添加 | 自由添加 | 无 |
销货点 | 无 | 自由添加 | 无 |
购物车 | 自由添加 | 自由添加 | 无 |
(*有免费的插件供选择。)
以上是Joomla, Drupal, Wordpress的主要特点和区别,在其他许多功能应用方面它们也各有各的特色。
参考:Drupal和WordPress的一些比较
Drupal,Joomla,Wordpress在内置应用功能方面的区别和比较
从个人角度对 WordPress 和 Drupal 的一些粗浅比较
Joomla, Wordpress, Drupal 全面详细Pk比较