为什么很多人要从Magento1迁移到Sylius?
Magento 是一个伟大的电子商务系统,自 2008 年以来,它已被证明是电子商务需求的首选。但是,由于 Magento 1 的支持已经结束,相当一部分人会选择将网站升级到Magento2,在许多情况下,升级过程将意味着从头开始重写整个平台,许多人会考虑其他渠道。嗯~,此时我认为Sylius将是一个很好的选择。
Magento的现状:
Adobe 收购 Magento 后,供应商似乎开始将更多精力放在企业市场上。这为Sylius(电子商务框架)不断增长的中小企业电子商务市场留下了巨大的潜力。毕竟,有很多中间市场的电子商务网站所有者,可能不太高兴支付Magento ES版本的服务费或花费大量的钱和时间去开发Magento2。
开发环境
与 Magento2 相比,Sylius 拥有非常出色的代码,使开发人员的工作更加高效。同时,找到一位经验丰富的 Symfony 开发人员(Sylius 背后的框架)可以快速学习 Sylius 比找到一个好的 Magento2 开发人员要简单得多。Sylius 还有一个扩展的测试环境,可防止开发人员通过更改破坏应用程序的任何部分。Magento2的开发难度就大得多了。最后但并非最不重要的一点,Sylius 需要极少的操作来配置 ,而在 Magento2 中,在开发模式下没有缓存机制的页面加载可能需要长达 30 秒,而 Sylius 上需要 0,5 秒。它在维护的性能和成本方面要优于Magento2。
社区环境
Sylius是100%自由和开源的。最近,Sylius在Slack上获得了2000个用户,在撰写博客文章时,Github上有超过5800颗星,这使得它成为仅次于Magento和WooCommerce的PHP电子商务解决方案的前3名(也许,Sylius很快就会赶上)。已经有100多个扩展,甚至可以从Symfony社区搞到一些Symfony Bundle让它在Sylius上工作。即使 Magento 1 具有无数的扩展,它们不受 Magento 2 的支持,其中许多可能无法升级。
发布周期
不得不承认,在许多情况下,Sylius的发布频率比Magento低几倍。这是因为Sylius的代码质量审核比较严格导致的结果。根据我的经验,与Magento 2相比,类似的B2C系统如果要是要使用Sylius搭建,开发速度是Magento2的3倍以上。在 Sylius 中编写扩展也非常容易,这样以来,系统将更易于扩展和维护。另一方面,Magento有大量的反模式,如果复制,可能会导致巨大的技术债务。
Sylius背后的哲学
Magento 是一个电子商务平台,它允许用户通过提供大量的功能和复杂的体系结构来创建复杂的 B2C 和 B2B 系统。但有时如果你只使用 Magento 10% 到 20% 的功能,那么你不需要这个,并且与其他系统集成或着为其实现某些自定义的功能逻辑,则您可能更喜欢可扩展性而不是它的功能数。另一方面,Sylius 旨在解决 70 % 到 80% 的常见电子商务问题。剩下的 20 % – 30% 是使业务与众不同的原因。如果您发现当前系统功能不足,您可以轻松地扩展系统功能,或通过 API (HTTP 协议) 或队列 (AMQP 协议)将这些功能与其他软件(如 PIM、DAM、CMS 或市场自动化工具)集成。作为一个框架,Sylius允许开发所有类型的电子商务 – B2C,B2B, C2C。最后但并非最不重要的一点 , 由于其前后端分离的体系结构,您不需要使用整个 Sylius 堆栈,你可以只使用系统的部分组件。如果你正在为一个初创企业建立一个自定义的电子商务应用程序,那么这是非常有帮助的。但我在使用Magento2建站过程中并未感受到这一点。前段时间,我在使用Magento2建站过程中,尝试禁用了大部分Module,但模块之间的依赖关系太多,导致没法完全禁用。这让我非常头疼。
技术债务
事实证明,如果简单的改变需要大量的时间来实现,技术债务可能会使你的工作成为一场噩梦。如果你已经使用Magento相当长一段时间了,你可能经历过。Sylius 在这方面则非常好,一方面,系统本身的结构比较轻量级(相对于Magento来说),另一方面 PHP 和 Symfony 、Sylius的社区也足够强大,可以得到更多的支持。从而使得系统更安全、更稳定、更便于扩展。
升级过程
在大多数情况下,从Magento 1 升级到 Magento 2 意味着重写整个平台。Sylius 非常小心地遵循语义版本控制概念,并且始终提供适当的升级说明,使该过程变得简单。Sylius最近从Symfony 3升级到Symfony 4,这是一个巨大的变化。到目前为止,随着每一个次要的Symfony版本发布,它都是基于Symfony最现代化的电子商务解决方案。即便是最复杂的项目的升级过程最多也就花费开发人员一周的工作时间。
说在最后
Sylius有很大的潜力,它也许会在中小市场取代Magento。在很多情况下,Sylius可能会更好,更便宜,特别是对于成长型的公司。由于体系结构和开发环境的关键差异,Sylius 比 Magento 更易于使用,更稳定、更易于扩展。它也许会更受欢迎。
PS:社区有很多小伙伴都在吐槽,Magento1的终结,可能会导致Magento开发人员大量流失,而Magento2的体系结构、学习成本、运营成本可能会让更多的独立站运营者选择放弃Magento2,再者,Magento官方的技术升级路线,完全不向后兼容的做法确实伤了很多Magento开发人员的心。不可否认,Magento2是一款非常优秀的电子商务系统,但实际运作过程中,Magento的成本,技术债务,可能远高于其他同类型系统。这时候就得仔细考量了。