本人是Drupal的粉丝,电子商务平台也用Drupal开发过几个,真心感觉Drupal的强大,Drupal的电子商务平台比较常用的是 Commerce 和 Ubercart,现在本人以个人观点对这两个进行对比,给在选择哪个做电商的同学一些参考.
欢迎程度
Commerce:自从诞生以来,一直是上升趋势,目前超过四万安装量,目前看起来在D7下,Commerce以微弱优势领先。
Ubercart:一直表现平稳,安装量超过四万,考虑到Ubercart支持D6与D7;在D6下,Ubercart地位无可撼动.
产品管理
Commerce:充分利用Drupal 7的entity,产品Entity花,并于Node解耦,SKU与单个产品绑定;不同产品属性可以通过不同的SKU来管理,这与实际的产品管理相符合,大大提升了系统的灵活性与扩展性。(比如针对特定SKU的折扣,库存管理等)在初期,这种方式对用户造成使用上的困扰,并为ubercart支持者所诟病。但是inline entity form模块的横空出世,这个问题已经不再是个问题。
Ubercart:产品即Node,产品属性等只是自身的一个数据集,扩展性方面不如Commerce好。
运输与支付
Commerce:本身不带运输模块,需要第三方模块支持。
Ubercart:核心自带运输模块。
学习曲线
Commerce:学习成本比Ubercart高。但是既然已经选择Drupal了,这点自然不在话下了。
Ubercart:学习成本,或者说易用性方面胜出。
相似性
Commerce:对第三方模块的依赖,后台管理,网店配置大同小异。
Ubercart:对第三方模块的依赖,后台管理,网店配置大同小异。
第三方模块依赖
Commerce:Address Field, CTools, Entity API, Rules and Views.
Ubercart:CTools, Entity API, Rules, and Views
配置性
Commerce:大多数情况下,默认配置即可使网店运转。支付方式,价格计算,货币等需要自定义配置。
Ubercart:默认配置完美工作,可以修改地址,货币,联系人等。
使用场景
Commerce:产品系列差异化比较大,并追求可持续扩展的网店。
Ubercart:产品差异化不大的网店。
文档支持
Commerce:更胜一筹,与Druapl API关联更好
Ubercart:也不错,但是有些方面不足。
长期展望
Commerce:设计之初及考虑未来的扩展性;长期看来,功能会有进一步的增强,易用性方面也会有所改善。
Ubercart:设计上限制了不适合大规模网店采用,将来可能过时。(来源于翻译,勿喷我)
扩展
Commerce:http://www.drupalcommerce.org/extensions/module
Ubercart:https://drupal.org/node/1593380
其他
Commerce:D8支持
Commerce的2.x分支是面向Drupal8的版本,分支已经建立,不过暂时无代码.http://www.drupalcommerce.org/roadmap
根据这个roadmap,开发工作是早就开始了,但是还没有提交到D.O,或许是因为保密原因,或者其他原因.
Ubercart:Ubercart的4.x分支是面向Drupal8的版本,正在紧锣密鼓进行中。http://cgit.drupalcode.org/ubercart/tree/?h=8.x-4.x 这里可以看到有很多代码的提交.
总结
Commerce的作者也是以前Ubercart的主要程序员.
Commerce的发展,带来了一系列福利模块,比如address field, inline Entity form,inline conditions等,目前这些模块的使用范围已经超过了电商范畴,
Commerce在灵活性与扩展性方面较之Ubercart有后发优势,虽然Commerce的发展与Commerce guys卖力推广不无关系,但是自身的设计构架也值得肯定.
在Drupal 7下面,我们可能看不到Commerce与Ubercart分出胜负的时刻,二者之间的竞争会在Drupal 8下继续进行,让我们拭目以待.
就我在写本文调研过程中,发现Commerce的支持大大多于Ubercart,笔者亦站在大多数人的立场,支持Commerce.
新闻热点
疑难解答