欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

艰难的决定,我该选 Drupal 6 还是 Drupal 7?

shiping1 的头像
这篇文章是给正在犹豫是该选择Drupal 6 还是 Drupal 7 的,或者是已经在用drupal 5/6 ,正在考虑是否该升级到Drupal 7的用户。 Drupal 7 至今已经有一年时间了,已经有不少大型的社区媒体是基于Drupal 7 搭建的。我是从Drupal 6 投奔到Drupal 7的其中一个用户,以下是一些我对Drupal 6 / 7 的看法。

在之前我一直用Drupal 6做网站,自从Drupal 7 Alpha 版本出来以后,我就成为了Drupal 7的实验者,正式版出来后,我决定试试先把自己的一个网站更新到Drupal 7,升级顺利,除了一些小问题需要改,如filefields 等。我替换掉老drupal 6做的站,为此,我将网站搬至独立服务器,目的是让它运行的更快。并且通过一些实践去比较drupal 7与 drupal 6,然后再决定是否用Drupal 7。

 

下面的是关于Drupal 7相对Drupal6的优缺。

 

正面的:

  1. Drupal 7对用户更加友好。Drupal的用户界面,系统变得更加用户友好,管理界面也漂亮多了,并且重新编排了一下后台的菜单分布。所有的事情都很直观给最终用户。    
  2. Drupal 7可扩展性更强。多亏了体系结构的改进,Drupal可扩展性增强了不少,需要注意的是,可扩展性跟性能是不同的。这两个概念不能混淆。将规模大并不意味着他要跑得更快。关于这个稍后会进一步讨论。

反面的:

  1. Drupal 6 慢,Drupal 7比Drupal 6要更慢。是的,没错。如果有人对你说Drupal 7 比 Drupal 6快,那是骗你的。有许多关于这个主题的讨论不在少数。很多对Drupal 7 犹豫不决的,都是因为D7的性能。   
  2. Drupal 7 很少虚拟空间支持。至少在今天,还是比较少虚拟空间支持Drupal 7,国外相对多点,如bluehost等,但运行起来有点吃力。主要是因为虚拟主机提供的资源太少。由于Drupal的体系结构的更改,Drupal的负载力降低(打开一页接近300个数据请求),这意味着drupal 需要更多的CPU资源,所以虚拟空间很难满足drupal 7的需求。但由于硬件技术的进步,CPU,内存等硬件越来越便宜,或者会有那么一天,我们会看到各种各样的drupal 7 虚拟主机,不过需要虚拟主机是便宜,我还是比较建议大家用VPS产品,或者是独立服务器,像linode 这些vps 是很不错的选择。
     
  3. Drupal 7 更需要性能优化。安装Drupal 7在 VPS /专用服务器上可以使你的网站跑得快,但为了使其运行得更快或能维持更高负载,你需要调整你的VPS /专用的服务器。这就是为什么不建议在共享主机上安装Drupal 7:因为你不能安装带APC(PHP加速器)的虚拟主机。还有VarnishMemcache也是能使Drupa变成像一头印度猎豹一样快,要是网站有很高的流量,他们是必须的。
     
  4. Drupal  5/6 升级到Drupal 7 不容易。核心是很好更新的,但是如果你有许多第三方模块安装,那你就得慎重考虑了,你的先确保所有的第三方模块都有Drupal 7版本。更大的问题是 CCK 字段。Drupal 7 的CCK已经写在核心里面,所以内容类型与简单的字段,像textfield、textarea,number 等很 容易升级。但文件字段(Filefields)就不太好办了。Filefields已经搬迁到Drupal核心,但没提供一个升级的方式。所以为了Drupal 6升级到Drupal 7,我不得不手动移动文件字段数据,这是多么可怕。当然,当您的项目的文件数量不多的情况下是可以这么做,但如果文件记录数量很多,那就不太建议这么做了,你可以编写一些定制的迁移脚本代码实现。对于一个程序员来说,编写脚本迁移代码,只是一个小问题。

     

  5. Drupal 7 的 SEO 有待改善。Drupal 退出很久,仍没有健壮的解决方案来管理在Drupal 7 的Meta tags。Drupal 7正式版已经有一年时间了,Meta tags模块(nodewords 的 Drupal 7版本)现在还是 alpha 版本,还没出现正式版。然而,有一个Meta tags quick模块可以实现,但这并不是一个完美的解决方案,但至少它可以让你为节点的页面设定meta标签。SEO非常重要,相信你不会反对,尽管现在对于web项目来说,meta标签不是最重要的因素,但也不能忽略Meta 标签。所以升级Drupal 7前,你需要考虑SEO方面的情况。
     
  6. Drupal 7中文参考资料比Drupal 6更少。对于想学Drupal 的朋友来说,Drupal 中文资料少,一直是学习Drupal 的最大障碍,因为我们很多程序员,英文都不是那么好,Drupal 6的中文资料已经不多了,Drupal 7的中文资料更是少之又少。所以学习Drupal 6相对来说,应该是比学习Drupal 7 要容易点,你认为呢?当然,也有一些Drupal 热心分子贡献了一些drupal中文文献。
     

最后是我的建议:

从上面看来,Drupal 7的负面似乎是比正面的多。是不是说,我不推荐用Drupal 7呢?不是的,尽管Drupal 7 有很多的不足,但正面的两点,都是非常的实在的,也是drupal 6所无法比拟的。将来将会慢慢的越来越多的人从事Drupal 7的开发,Drupal 6所占的份额也有慢慢转移到Drupal 7的趋势,与时俱进,但也不能麻木的跟风,找到适合自己的,才是最重要的:

 

  1. 如果你的预算有限,需要构建一个简单的网站,包括新闻,一个主页,几个内容页面和联系方式。而不需要,或者不考了有进一步扩展的计划。在这种情况下你可以用Drupal 6。它消耗更少的资源,在很多虚拟空间也能运行,很多虚拟主机价钱很便宜,成本上节约了。因为网站比较简单,安装的模块也不多,所以如果到时真的有需要升级到Drupal 7,你可以很容易地升级。这类型web项目比较简单,它不会花费太多的时间。
     
  2. 你有一个复杂的项目是基于Drupal 5/6的,暂时是足够用的,但存在扩展性限制问题,可能未来不能满足。在这种情况下我不会急着要升级到Drupal 7,因为不是所有必要的drupal 7模块都是已经正式版,所以首先要确保所有现有系统的模块都能顺利升级到Drupal 7,对一些CCK方面的升级,像filefield 问题。值得至少等待直到正式版出来时才决定升级。
     
  3. 你有一个复杂的项目是基于Drupal 5/6但存在扩展性不足问题。在这种情况下,升级到Drupal 7可能值得去尝试的,因为Drupal 7的可扩展性相对好。只是要确保所有的模块都能顺利升级到Drupal 7,同时运作上没有重大的问题,那就ok了。如果不能顺利升级,那只能再等几个月,或帮助模块贡献者修复的重大问题,帮人的同时,自己也获益,何乐不为?
     
  4. 你正准备从0开始建一个网站。我是想说,如果这种情况,不需要犹豫,直接选择Drupal 7,虽然前期学习上相对难点,但熟悉后,后面的开发将会是更加方便简单的,可扩展性也是大不少,是选择先甜后苦还是先苦后甜,你懂的。不过还是回到刚刚那个问题,选择Drupal 7,建议选择VPS 以上的产品,这样才能让Drupal 7 有更好的环境运行,就别再考虑虚拟主机了,需要花点钱在VPS上面,但如果你是准备做一个比较长久的网站,支付每年1500人民币左右的VPS,还是非常值得的,不是吗?接下来的几周,我将会介绍一下Drupal 7的性能优化,敬请关注。如果模块不存,或者是Drupal 7没有,Drupal 6有,怎么办?其实也不是大问题,随着时间的推移,模块的发展将会越来越完善,甚至我们也可以参与模块开发的贡献,回报一下drupal 社区,当你的模块能帮助到其他Drupal使用者,那是一件多么开心的事情。

还有一些是要说的,模块并非Drupal 6的就是最全最好的,现在很多很cool的模块,是只有Drupal 7的,如 Media 模块,Drupal commerce 模块等,可以看出,以后将会越来越多的模块,只提供给Drupal 7 的。所以Drupal 7将会是更有选择的意义的。我相信,你建站的其中一个考量,一定就是网站的持续发展方面,对吧?

好了,不说太多了,如果你有什么建议、或者有需要帮助升级,安装Drupal、或者是优化drupal 性能、又或者是基于Drupal 7的项目需要帮忙,可以随时与我联系,有什么不懂的也可以到我的网站http://www.drupalla.com发问。

 

 

评论

木匠的头像

个人觉得,中文资料的问题不算是问题,学习Drupal就应该做好阅读大量英文资料的准备。

因为即便是Drupal6的中文资料多,那也多不到哪去,真正有用的也少,而且质量参差不齐缺乏整理,再加上中文网络内的爱转载不爱原创的行为,你懂的,中文资料基本全是一样一样的。

Asongtime的头像

首先,他指出D7从开始就是个过渡品;

其次,他认为D7的性能相对D6毫无长进;

然后,他强调D7根本不适合用不起独立服务器的用户;

最后,他重申D7的性能是堆积在底层服务器的性能上。

东哥隆重推出基于D6的优化框架产品Dida,欢迎各位有能力的开发者试用。

 

jane.guo的头像

果断druapl7啦!!

来自 http://www.drupalla.com/node/910
普通分类: