关于 Leaf
此文已经是第二次的撰写——因为无法理解的死机事件,原来的文字全部丢失。对于一个写字的人来说,会是一个很打击的事情:或许就因此,破坏了初稿那种一气呵成的流畅,只能收拾着思绪的碎片,尽可能回忆起不久以前自己写下的文字。
首次读《大教堂和市集》已经是将近三年以前。我不知道这篇文章影响了多少的人,这刻的我肯定与三年前的我截然不同。这一次重读是出于一个偶然,或者可以加上一些很巧合的色彩:Project Leaf 的开发出于几乎停顿的状态。我希望我接下来的文字可以完整表达我的想法,以及给予那些对 Leaf 存在好奇心的朋友一些解释,为什么我这般的拖沓。
Leaf 是使用 Footbig Notes API 储存数据的 Blog 程序。简单来说,Leaf 的初衷之一,是可以让使用者不用顾虑数据服务器的问题,不需要对 MySQL Server 担忧,只需要一个运行着 PHP 的服务器,就能正常使用。
当初和 Livid 说的,大致所需的开发周期,是一个星期;而拖沓至今的已经近两个月,在公开范围内是零的进度,就连我自己也感到羞愧。在我对着 VIM 敲下文字的前一刻,我还没有任何激情,让我继续对 Project Leaf 进行代码的编写。
这里简单提及 Project Leaf 的两次重构:第一版的代码是在 PHP5 + Apache2(With Rewrite Module) 下进行开发,不超过十个人曾对这个版本的 Leaf 进行测试。但这一版本的 Leaf 没有足够的通用性,较为复杂的安装过程,在和 Sai 以及 daqing 交谈过后,第二个版本的开发开始了。我大幅度地修改代码,目标是,只需要安装了 PHP4+ 的服务器,就能正常运行 Leaf。然而问题再次出现了:对效率的追求,我对在第一版中使用的数据架构产生了怀疑。我希望储存在服务器上的每一个 bit 数据,都是优雅的。我尝试着建立一个新的数据架构,没有 XML 的繁琐,独特,人可阅读——而这一切只让事情变得更为复杂。我把第二版 Leaf 的代码疯狂地删掉,然后开始第三版的开发,然而,我的激情似乎已经完全耗尽,拖沓的我将 Leaf 的开发置于停顿状态。
我有在想我拖沓的原因。此前一次和 daqing 的谈话中,他认为原因之一,是我不使用 Framework。而我则不是这般认为,我们对于 Framework 使用与否上的分歧,让当时的谈话充满了火药的味道。我认为有必要提及我对待 Framework 的态度,我可以借此理清我的思绪:Framework 对于我,只是一个比 Library 有更丰富成熟的代码集,我不会基于任何 Framework 进行开发,我只会把 Framework 当作一个臃肿的 Library,我只是取其中我认为可靠高效的部分使用,而这一部分,随时可以被其他 Library,或者我自己的代码所替换。
真正的原因,是我在重复制造轮子,这也是我不愿意承认的原因。现有的 Blog 程序太多了,发展成熟的也不少,而我则狂妄地认为,以我 110 的智商,能比那些天才们创造出更好的东西——完全是错误的想法,这跟小孩那只是希望更炫的心态没有任何区别。此外也存在另一个问题:我并没有在使用这个程序。或者说,因为这个程序只是充满了我不切合实际的想法,也没有与我自己所需要的实际相结合,这没有一个可以让它继续存活的理由。
过往我作出了太多不成熟的决定,这一次的思考,我希望有更成熟的结果:删除 Leaf 现有的所有代码,然后找一个成熟的开源方案,在此基础上,重新开展 Leaf 的开发。我不知道这算不算是一个草率的决定,我还在思考这一切。而我希望这一篇说明,能给我自己一个心理上的安慰。
5 comments
2008-3-21 16:05:45 +0800, kernel1983 said,
2008-3-21 19:29:41 +0800, fcicq said,
2008-3-21 22:10:34 +0800, Crny said,
2008-3-23 17:09:09 +0800, xyb said,

2008-3-21 13:27:46 +0800, huzhenghui37 said,