# M2是什么 Magento就不用多介绍了,我之前在Magento2开发者论坛里写了一篇[老邹说Magento的前世今生](//bbs.mallol.cn/?thread-119.htm)。算是非常详细了,大家有空可以看看。 M2分为商业版(EE)和社区开源版(CE)。 我们基本上90%用的是社区开源版。 商业版是收费的,并且很贵,那些大品牌公司才买,其实功能跟社区版差不多,80%的功能是相同的,所以我们不需要纠结用哪个版本。 用社区免费版就足够了。 Magento 2.0是2015年正式上线的,采用了最新的架构。 更新后的平台包含了新的API,使开发者能够更加简单地整合新的现代化的服务,甚至根据当前的需求来关注支付系统的微调,从而实现转化的最大化。 新系统的缺点是,如果你想从主流的Magento1.x版本升级到2.0,几乎是不可能的,你不得不重写一切代码。 数据库可以用工具转换成M2的,但是,1.x的主题和扩展是转换不了的,必须重写代码。这算是比较坑爹的地方。 1.x跟2.x相当于是2套独立的系统了,不是简单的升级关系。 M2建立了一套现代化的技术,大大方便了开发工作,也使得网店的运行速度更快: PHP 7 Varnish(整个页面缓存更快速的使用) Redis 更现代JS栈(requirejs + knockout) RabbitMQ (这个在2.3.x里都有,2.3.x以下版本只在商业版有) Solr (这个在商业版里才有) PHPUnit Composer 用户体验也有所改善:在查看订单时,您还可以看到每个产品的图片,结账变得更加快捷简单(已经减少到只有2步)。 此外,该系统还支持一些尚未整合的支付系统(WorldPay,Cyber​​Source,Authorize.Net)。 当然这只是冰山一脚,更多的功能等待你去挖掘。 虽然看起来比较复杂,有300多张表,但是他本质上还只是一个b2b商城,就是一个卖东西的网站系统。 > 万物之始,大道至简,衍化至繁 复杂的功能都是在简单的内核里扩展出来的。 所以看似这么多功能,都是通过插件来扩展出来的,其实很多功能都用不到,我们不需要把他所有功能都搞清楚,只需要搞清楚常用的核心功能就够了。 常用的核心功能无非就是 1. 上传产品 2. 用户注册登录 3. 购买下单 4. 发货 退货 5. 优惠券促销 如果你熟悉1.x后,再接触2.x, 会非常不适应。思想观念很难改过来。 比如: 2.x基本上都是用命令行工具来更新系统(比如创建用户/安装插件/禁用插件/代码编译/备份/回滚等等),但是1.x没有这个命令行。 2.x安装都是用composer包管理工具来自动安装,但是1.x没有composer,只能下载源代码解压安装,并且1.x的插件的js/css/图片都是分开的,不在插件目录下。 2.x都是用namespace来写类,但是1.x没有namespace。 等等,还有很多不同。 具体的可以看看我以前写的 [Magento1与Magento2的区别](http://bbs.mallol.cn/?thread-83.htm) 如果你没接触1.x的话,相当于一张白纸,会更容易接受M2的这些设计,其实这些设计在PHP其他框架里都差不多的,比如最有名的Laravel。 **社区版与企业版功能对比:** ![](https://box.kancloud.cn/416d5969f39193d40d4dd1a500f1abf8_878x751.png) ![](https://box.kancloud.cn/a5c21fb02b5e76526123b46a55efd68e_799x771.png)