You are here

我们将支持Ubercart

在Drupal7下面有两个模块可以做电子商务,一个是Ubercart,另一个是Commerce,这两个模块是有渊源关系的,Commerce模块的最初名字叫做UberCore,后来更名为Commerce了。为什么叫做Ubercore呢?因为它将是Ubercart在Drupal7下面的正式版本。

但是问题出来了,那个时候,Ubercart的作者已经离开了原来的公司,加入了CommerceGuys公司,此时的他仍然是ubercart项目的负责人。他在UberCore方面的工作,遭到了Ubercart商标拥有人的反对。在这样的情况下,rszrama,也就是Ubercart的项目负责人,他就选择了从Ubercart团队中退出,并将UberCore项目更名为Commerce。这就是Commerce的背景,换句话说,Commerce也是Ubercart的一个分支,只是换了一个名字而已。里面最核心的很多概念,都是和Ubercart保持一致的。
Ubercart项目在rszrama离开以后,并没有因此退出历史舞台,相反,原有的一些维护者仍然在继续维护这个项目,并且项目团队中又有了新的成员。

首先对比一下,Commerce和Ubercart在Drupal7下面的区别,其中的一个重要改进,是Commerce对field的彻底支持,还有对Views的彻底支持,这些都很不错。Commerce与Drupal6下面的Ubercart相比,有了重大的改进,但是与Drupal7下面的Ubercart相比,在技术上并没有太多的领先性。

Commerce将产品处理成为一个单独的实体,可以解决电子商务网站上面的很多棘手的问题,但是他带来了另一个重要的缺点,就是用户的易用性方面,一个用户需要为同一商品输入两次信息,尽管Commerce在改进这些,但是这显然增加了模块的复杂度。换句话说,Commerce的这个改进,相对于Ubercart来说,并不构成一个优势。而是一个好处和坏处各半的改进。

Commerce对收件人地址的改进,引入了addressfield模块,但是在我看来,addressfield模块,在将来,肯定会被淘汰的。相对于Ubercart,它是进步了很多,但是与Drupal社区涌现出来的其它解决办法相比,addressfield就落伍了很多。Addressfield模块用户量很大,完全是因为它是Commerce的基础模块,并不代表着这个模块的先进性,我读过这个模块的源代码,可以负责任的说,这种方式早晚会被淘汰。在Drupal8里面,应该就会淘汰掉。有人可能会问,哪个模块会把addressfield淘汰掉,我可以在这里告诉大家,field collection模块就可以把它淘汰掉,对比一下这两个模块,你就会发现,addressfield模块的功能,field collection模块都可以轻松的实现,而且可以比它做得更好。field collection模块的作者是fago,是entity API的作者,Rules的作者,在Fago面前,rszrama的想法只能往后站。

Commerce还有一个重大改进,就是集成了Rules,这个Ubercart也集成了,最多能算上一个平手。Commerce没有占到便宜。

Commerce集成了Views,这个比Ubercart强一些,但是Ubercart 对views的集成,也在不断地改进,两者之间的差距,并不会那么大。

Ubercart是rszrama的成名作品,Commerce是rszrama成名后的作品,很多人会认为,后者对前者改进了很多,但是Commerce沿用了大量的Ubercart里面的概念,确切的说,Commerce只是改进了Ubercart。
现在Commerce的安装量,在Drupal7下面,已经稍微的超过了Ubercart,但是安装量,大体上还是1:1的水平,而这个水平,是CommerceGuys花了大了精力推广的结果。

CommerceGuys的钱总有花完的时候,CommerceGuys团队里面的主力成员,总有离开的时候,Commerce能否从这样的竞争中胜出,现在来判断,还为时尚早。

Ubercart在Drupal7下,有15000个安装量,这样的量,至少说明了Ubercart还没有到了被淘汰的地步。

Ubercart和Commerce的竞争,谁将会成为胜者?这个问题,在Ubercart分裂成为两个分支的时候,就注定了不是一时就能够判定出来的。至少现在可以这样说,Drupal7下,Commerce将Ubercart淘汰的格局,将不会出现。Drupal8下,两者谁胜谁负,存在着巨大的变数。而只有到Drupal9流行的时候,两者之间才会真正的决出一个胜者。即便是rszrama,也认为Ubercart和Commerce在相当长的时间内,将会并存。他当然认为,Commmerce可以淘汰Ubercart。

但是不是所有的人都这么认为,至少我自己认为,Ubercart将会在Drupal9流行的时候,从这场竞争中胜出。无论结果如何,这将会是开源软件里面的一个典型的优胜劣汰的过程。两者之间的竞争和相互借鉴,都会深刻的影响到Drupal在电子商务中的应用。
这是一件坏事,让很多人难以从两者之间做出选择。但是这也是一个好事,有了残酷的竞争,才会有快速的发展。

在这里,我们将一如既往的支持Ubercart,用自己的行动,去改进、完善、推广Ubercart,我们在将来,将会为UBercart做以下工作:

1, 支持国内常见的5个以上主流的支付方式,解决Ubercart与中国支付的集成问题
2, 完善对中国运费计算的支持,支持按照公式、模板计算运费
3, 完整汉化Ubercart,极其相关模块,并不断完善
4, 改进Ubercart的地址功能,让它支持省市县三级联动,完全超越Addressfield提供的现有功能。
5, 参与到改进Ubercart与views的集成当中。
6, 完善Ubercart Ctools模块,让Ubercart里面的核心组件插件化,提升Ubercart的性能。

最重要的,这些工作都不会向Commerce迁移,至少作者不会去做这样的迁移工作。

评论

老葛这些工作很重要,期待你完成这些工作,并把开发的心得发布出来分享