现有电子商务框架与自定义电子商务解决方案之间的可扩展性比较。

3
我们计划开启一家电子商务创业公司,并正在评估可扩展性选项,选择(PrestaShop / WooCommerce / OpenCart)或我们自己的定制电子商务解决方案之间的区别。
我们考虑了以下扩展性优化技术:
1)CDN用于静态资源。
2)一旦流量增加,使用负载均衡器进行水平扩展。
3)使用MemCached或APCU缓存来缓存数据库查询。
4)使用APC Cache进行PHP ByteCode缓存。
5)确保所有图像都被无损压缩。
6)最小化主题的CSS和JS。
7)启用mod_deflate或mod_gzip进行压缩。
8)一旦数据库开始成为瓶颈,使用主从复制。
9)确保禁用不必要的Apache模块。
10)确保禁用不必要的Prestashop模块。
你会推荐什么?使用定制的电子商务解决方案还是优化其中一个框架(如PrestaShop,WooCommerce,OpenCart等)?
5个回答

4

既然别人已经对每个解决方案发表了评论,我会给你更全面的想法。

PrestaShop/WooCommerce/OpenCart - 就我所知,这些产品在某种程度上已经成熟。

优点

  • 最小化网站构建过程中所需的时间和精力。
  • 即插即用功能。
  • 定期更新修复错误并添加新功能。
  • 稳定且经过充分测试的代码。
  • 社区提供帮助。

缺点

  • 需要投入时间学习。
  • 有很多不必要的代码。
  • 您需要调整一个准备好的框架以满足您的要求,这将需要额外的时间。
  • 您的网站看起来与所有其他网站相同。
  • 需要额外的第三方集成步骤(可能是臃肿的jQuery插件或类似物)。
  • 无法控制代码。
  • 由于您的架构是众所周知的,因此需要额外的安全工作。
  • 由于下一次更新可能会导致系统崩溃,因此认为您无法编辑核心文件。

自定义电子商务解决方案 - 使用自己的电子商务解决方案而不是现有产品有利有弊。

优点

  • 将节省您未来的时间和精力,因为它是根据您的长期需求精确构建的。
  • 不需要学习如何使用或自定义它。
  • 优化以满足您的需求,而不是每个人的需求。
  • 只提供您需要的内容,并以您需要的方式呈现。没有不必要的东西,没有臃肿的代码。
  • 完全控制代码及其设计实现。
  • 完全模块化。框架的灵活性仅取决于您。
  • 统一的代码库。您可以最小化对第三方组件的需求,这意味着更少的混搭工作。
  • 您的网站的独特性100%保证。
  • 由于您的架构不为人所知,因此无需在安全方面努力。

缺点

  • 需要更多的时间和精力。
  • 您需要测试和维护代码。
  • 您需要自己构建错误修复、更新和新功能。

要确定是否对您来说是正确的决策,您需要回答以下问题:

  • 我有能力创建它吗?

  • 我有足够的空余/额外时间来完成它吗?

  • 制作它是否合理?

    如果您将使用PrestaShop/WooCommerce/OpenCart,我建议您也看看Magento。希望这回答了您的问题。

另请注意,您考虑的可扩展性优化技术很好,但如果您愿意学习,还有很多要考虑的地方。我也可以帮助您解决这些问题。


谢谢你的回答 :) - Kanishk Dudeja

1
如果您考虑在现有的开源购物车上进行开发,请先仔细查看代码。只需快速浏览,我就可以发表以下评论:
WooCommerce -- 如果您习惯于wordpress风格的代码,那么这个购物车还不错,但它将您锁定在使用该特定CMS作为开发框架。
PrestaShop -- 编码标准有点过时(不符合PSR规范),没有使用命名空间,代码有一些API文档,但不全面。
OpenCart -- 代码几乎没有注释,没有使用命名空间,PSR规范有限,没有API文档。
您是否考虑过正在测试版中的Magento 2.0?Magento 1由于依赖于Zend Framework 1而无法使用命名空间,但Magento 2.0支持命名空间,同时又不会抛弃Zend 1类(已被包装在命名空间类中)。
如果你想要极大的灵活性和编写自己的代码的能力,可能最好从已有的PHP框架之一(如Laravel、Yii2等)开始从头构建。在性能方面,您不太可能获得很多--您编写自己的代码可能会犯与在别人的代码中发现的一样多的性能错误。但是这将是很多工作! eBay以1.8亿美元收购了Magento,并不是因为它是由几个人在一两个星期内拼凑出来的 - 所有这些系统都需要进行一些严肃的编程工作。

谢谢你的回答。 :) - Kanishk Dudeja

1

我的建议是PrestaShop:

1)它支持CDN

2)没有“特殊”的支持(它支持主/从DB服务器)

3和4)有MemCached、APC和xcache

5)默认情况下不支持,但有Smush.it付费模块

6)完全支持- CCC即Combine(所有.js文件合并为一个文件等)、Compress(缩小js、css、html和Cache-将组合文件放在带时间戳的缓存文件夹中,具有基于过期时间的时间戳)

7)集成mod_deflate,您可以随时在.htaccess文件中启用mod_gzip

8)您可以配置主(这是默认值)和从服务器,核心PrestaShop查询支持主/从(即一些查询被传递到从服务器,并且它们已经指定了哪些)。大多数第三方模块不使用该功能。

9和10)这些是管理员/开发人员必须注意的事项。

定制解决方案是最糟糕的情况,除非您有1年以上和大量资金进行投资。我不喜欢Magento和OpenCart,所以5年前我选择了PrestaShop进行电子商务开发。Magento具有不必要的复杂类树,当然开发人员通常会收取更高的费用,因为他们有很多工作:),而OpenCart则远远低于其他-代码中没有任何注释,数据库表上根本没有索引,甚至不使用模板引擎。关于“WooCommerce” - 使用CMS系统进行电子商务只是不严肃。

我的建议是检查PrestaShop-获取最新版本,测试它,在addons.prestashop.com(官方市场)检查您需要的模块。此外,还有一个新发布的“PrestaShop Cloud”-您也可以看看它。


非常感谢您的回答 :) - Kanishk Dudeja

1
从头开始构建自己的定制电子商务解决方案对于初创企业来说可能是一场真正的噩梦,通常应该避免。几个月后,通常会发生的情况是初创企业不得不内部维护代码、修复错误并创建新功能。所有这些都会累加起来,并占用本可以更好地用于处理其他更重要方面的时间。重复发明轮子没有意义!最终,初创企业决定咬紧牙关,放弃他们已经建立了数月的内容,转向现成的解决方案。他们选择像Prestashop/WooCommerce/OpenCart等下载平台,认为他们可以进行自定义。这又需要时间来学习、实施和调整以适应您的特定需求,使您远离其他更重要的活动。如果你正在寻找一个轻量级、可扩展的解决方案,快速集成,低维护,没有臃肿的代码库,超级可定制,你可以看看更现代的方法,如eCommerce APIs。这些服务通常已经被大力优化以提高性能。它们通常在多个地区全球可用,负载均衡,提供资产CDN,有些允许自定义数据结构等。
这种方法的优点在于,您可以选择需要集成的组件,而无需禁用模块。您还可以决定在将来需要更改或添加前端技术堆栈甚至选择不同的编程语言。
您甚至可以构建静态站点,与这些API通信,并在Amazon S3存储桶中托管几个文件,每月只需几美分!?

1

首先,这不是框架,而是CMS。框架:Laravel、Symphony等等。

你可以使用所有的CMS完成所有的事情。但在我看来,最好的是PrestaShop。

2)有很多方法来优化您的服务器、CMS,编写正确的模块。 3)在PrestaShop中,您可以使用Memcached。 4)您可以在服务器上安装APC,并在PrestaShop性能中启用它。 5)您可以编辑压缩设置或编写/购买强大的模块以获得此效果。 6)在性能(设置)中缩小CSS / JS / HTML。 7)在服务器设置中使用mod_gzip。 8)禁用覆盖或非PrestaShop模块。进行分析以检查MS和不良模块。


非常感谢您的回答。MS是什么意思? - Kanishk Dudeja

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接