网志程序:WordPress还是Serendipity?

最近两年网志(Blog)在互联网上成为一种热潮,最耳熟能详的就是微软提供的MSN空间了。不过我等好事者则喜欢自己动手搭建网志平台。这时候面临一个问题:选择什么样的网志程序?

在“2005岁末BLOG程序大评点”这篇文章中,作者列出了几十种网志程序以供选择,光PHP的可能就近30种(包括商业软件)。但就像季洪亮所说的,“太多的选择机会等于没有机会”,一般来讲我们只需要从中挑选一个最好的程序或比较好的程序来用,但谁没事会把这近30种程序一一测试、比较然后再挑选呢?我相信上述文章的作者自己都没有具体测试过文中所列的大多数程序。因此,这样的文章看起来好像提供了很多咨讯,但对很多人而言,其实这样的文章就像鸡肋一样:食之无味,弃之可惜。

我泛泛地浏览了这30来个PHP程序,权衡比较后挑出2个网志程序供选择1WordPressSerendipity。这两个都是现在很有名的网志程序,功能强大。WordPress的用户群很多,Serendipity据称是由几个PHP高手联手开发的,那么,二者到底孰优孰劣呢?

我用Serendipity已经搭建了2到3个Blog网站了(包括这个),而WordPress只是曾经短暂地测试了一下,就我的使用感受和综合网上的观点而言,我(强烈)推荐Serendipity。理由如下:

  1. 首先看看功能。在这个网址提供了一份详细的不同Blog系统/程序的比较,从中可以看出,WordPress和Serendipity都包含了网志所需的各项基本功能,各有千秋,综合来讲,WordPress功能略强一点点。

  2. 其次看看代码质量。在“XPress (WordPress For XOOPS) 升级到 2.0”这篇文章中,XPress的技术人员提到“看得出wordpress的代码在优化,开始考虑规模化的问题。给我的初步感觉像是打补丁,基础结构设计不好,将来要改进,太难了点”,这是很不好的一种情况。而如果去看看Senrendipity的代码(尤其是插件开发部分,后面会提到),是一种很舒服的感觉。就这一点而言,两套系统的水平高下已经可以初步被判定了。

  3. 再来看看插件开发的难易程度。开发人员都知道开发插件的时候首先要阅读相关文档、浏览代码,这些都比较繁琐,因此我很懒得去考虑开发插件、改插件这类事情,但Serendipity的插件设计却非常灵巧、规范、易懂。我没有看过Serendipity的开发文档,只是根据需要下载了几个插件安装、使用,并在此过程中看了几个插件的源代码,就已经理解了它的插件设计方法。2不夸张地讲,我现在直接动手写Senrendipity的插件都没问题,我也看过好些别的系统的代码,却没见过能够把插件开发方式规范得如此简单、直白易懂的的。WordPress的插件开发方式我没有看过,但我想它达不到Serendipity的设计境界。

  4. 再来看看插件数量。这点我估计WordPress的插件可能比Serendipity的多,毕竟WordPress的名气太大,而Serendipity的认知度还有限。不过不管数量多少,Serendipity的插件也还算够用就是了。

  5. Serendipity在多语言支持方面非常出色,用户完全不用担心它是否能够很好地支持中文。3

  6. 来看看页面模版。Serendipity目前提供大概10多个页面模版,不算太丰富,比如我就不得不采用默认的模版,因为用其他模版显示中文的话看起来不是太爽。好在近期Serendipity开发组搞了个“页面模版创作大赛”,相信会有更多的模版奉献出来。

    Serendipity具有外嵌功能(嵌入到别的网页界面中),我没有详细地测试这个功能,只是泛泛地看了一下相关开发文档,觉得好像不是很简洁、易用,所以大家看到,现在我的blog就没有嵌入到我以前网站的黄颜色页面里。

  7. 二者都具有较强劲的文章内容导入、导出功能。

总而言之,虽然Serendipity有着各种各样的小瑕疵,但是在我看来,它依然是最出色的PHP写的Blog程序。

最后顺带一句,一个月前,WordPress推出了最新版WordPress 2;10天后,Serendipity预计也将推出Serendipity 1,有兴趣的可以下载后试试。

[注1] 此处挑选不考虑、不选择商业软件。

[注2] 这也需要经验积累。

[注3] 当然,话虽这么说,Senrenditipy v0.8.x到v1.0 beta的几个语言支持方面的小瑕疵(有的不一定是Senrendipity的原因)我还是要提一下的。首先是trackback(引用)的JavaScript弹出框编码转换有问题(这是一个很小的bug,也很容易解决,一般用户根本觉察不到);其次是文章搜索功能对中文关键字搜索的支持比较差(可以不算是Serendipity的问题);再次就是部分中文界面翻译文档欠缺,只有自己手动翻译翻译了(这也可以不算是Serendipity的问题);最后就是,如果你的服务器没有装iconv这样的函数库的话,自然在极个别的地方会出现语言转码方面的小瑕疵(这也可以不算是Serendipity的问题)。

[补充说明1] 关于Serendipity的缺点:我感觉目前Serendipity的缺点之一在于静态页面生成方面的功能不够强大、完善。当前访客从URL中看到的静态页面URL (类似于“x.html”)实际上是通过URL重写(url_rewrite)等技术实现的,并非真的静态URL。但网志就像日记一样,写完后再更新的概率很低,因此颇适合使用静态页面以提高系统性能。Serendipity虽然使用了Smarty等模版引擎,但似乎在静态页面生成方面没有做多少明显的努力。 2006-02-07 04:16:03

[补充说明2] 如欲浏览更多关于Serendipity的使用、维护信息,请参考《网志程序Serendipity中文维护个人文集》一文。2007-07-15 14:23:19

类别:

评论

serendipity我也装过,不过其中文搜索问题真的不知怎么解决。
不知站长不何解决之道。看站长的页面,也没带搜索框,是不是真的解决不了啊?

限于客观原因等,此问题暂无理想的方案(因此本站没有使用Serendipity自带的的搜索功能)。一个替补方法是:将Google网站地图(sitemap)和Google搜索结合起来组成某一网站的站内搜索引擎(这也是本站目前采用的方案)。

其实准确讲应该不能算是S9Y的问题,而是Mysql的问题,就好像我的论坛采用的是SMF程序一样,在执行搜索的时候还是一样的出现乱码,没有办法,谁叫这些程序是老外们做的呢?

中文搜索其实也不是什么大问题,修改它的搜索代码就可以了。它原来利用的是Mysql的全文检索,不支持中文分词,把它改成以Like来搜索就可以了。不过效率低下,所以我只让它搜索标题,不能搜索全文。

我也喜欢Serendipity。
也是拜访了你的网站之后才对这套程序发生兴趣的。

最新版的Serendipity v1.1(预计下个月发布其正式版)增加了一些新功能,使得Serendipity使用更方便。

我原想有空的话写一篇对其新功能介绍方面的文字,但考虑到个人时间占用问题,很可能只能放弃了。

祝你好运。

添加新评论

友情提醒:您的言论自由在本站会得到充分保证;不过,由于广告留言等猖獗,因此本站的内容过滤系统有可能会暂时屏蔽您新发的留言或评论。不便之处,希望理解。