目前大多数外贸网站都是采用Zen Cart开源程序,Zen Cart 优点很多,就不在这里啰嗦了,这里说说它的不足之处。下载Zen Cart源码的时候,最新的程序包是zen-cart-v1.3.8a-full-fileset-12112007.zip,从文件名字可以看出:当前最新的版本是 v1.38a; 时间是2007年底接近2008年,距现在已经有两年没推出新版本了。Zen Cart 的默认界面很丑陋(这可以理解,毕竟程序人员不擅长美工),要换个模板才行。Zen Cart 的产品目录(Category)没有设计成弹出菜单型的,如果产品有二级或多级目录的话,用户体验不好。Zen Cart 的客户后台界面很粗糙。Zen Cart 的订购流程也需要界面优化。

Magento是2008年推出的,网店的功能比较齐全,不像Zen Cart那样需要增加许多插件来才能实现一些必须的功能,比如针对url的SEO,Magento是系统内置功能,Zen Cart则需要安装诸如Ultimate-SEO-Urls、Simple-Seo-Url、Ceon-Uri-Mapping-SEO之类的插件来实现。Zen Cart传产品的时候,竟然一个产品只能加一个图片,实在是不可以思议,需要Image-Handler插件来才能实现传多个产品图片,而Magento 则没有这些限制和麻烦。另外Magento有商品比较功能,Zen Cart默认无此功能。

概括的讲,Magento直接下载安装后,经过后台一些设置,就可以上线做买卖了,它涵盖了一个电子商务网站所必备的几乎所有功能,而且界面也比较美观。Zen Cart就相对比较麻烦了,安装后还要找很多插件来修补,并且一些插件安装也比较麻烦,容易出粗,也不可靠。比如Ultimate-SEO-Urls没有Http 301跳转功能,网站中途使用的话,会造成很多重复的页面,即同一个页面有个不同的url。另外还需美化Zen Cart的界面,默认模板界面惨不忍睹。

Magento目前公认只有一个缺点,就是太消耗系统资源,在配置一般的机器上跑的很慢,点开一个页面要3~5秒钟,让人抓狂,很可能把客户急跑了。它需要强劲的服务器才能够流畅的运行,当然这些针对Magento的空间费用也贵的多。为什么Magento这么慢呢?原来Magento采用面向对象的设计方法,是基于Zend Framework框架开发的,PHP中的面向对象是要付出执行效率代价的,并且Zend Framework这个框架本身就十分复杂和缓慢(当然功能也很强大),系统初始化的时候,加载了很多文件来建立内部变量。还有Magento的内部结构庞大和复杂,不光吃内存,更消耗CPU。Zen Cart的框架结构主要采用面向过程设计,流程相对简单直白,代码较容易理解。Magento则不一样,你需要用面向对象的视角去审视才行,否则是越看代码越糊涂,像走进了八卦阵,绕不过弯来。

既然这样,为什么不采用Zen Cart的设计模式,来增加那些Magento系统所提供的独特功能呢?既然Zen Cart的插件可以实现这些功能,那么Zen Cart当然也可以把这些功能内置,这样即完善了功能,又兼顾了速度,真是鱼和熊掌皆可兼得!想法很好,但我对这两个系统进行深入的查看分析后,发现要实现Magento的一些高级功能,Zen Cart必须要从内部开始重新设计数据库结构才行,这个改动比较大,系统要重新设计,相当于开发一个新版本了,Zen Cart项目组不知道有没有兴趣和精力来折腾。

有时间的话,我想搞个。