Magento作為全球領(lǐng)先的電子商務(wù)平臺(tái),自2008年推出以來,已經(jīng)經(jīng)歷了兩次重大的版本更新。Magento1(M1)和Magento2(M2)在許多方面都有顯著的差異,這些差異不僅體現(xiàn)在技術(shù)架構(gòu)上,還影響了開發(fā)者的工作流程和用戶體驗(yàn)。以下是Magento1和Magento2的主要區(qū)別。
1版本更新歷史
(1)Magento 1.x系列
1.0 版本(2008 年 8 月 31 日)
Magento 1.0 作為第一個(gè)正式版本,以強(qiáng)大的靈活性和定制性為特色。
這種靈活性使得商家能夠根據(jù)自己的獨(dú)特需求對(duì)電商平臺(tái)進(jìn)行深度定制。無論是頁面布局、功能模塊還是業(yè)務(wù)邏輯,商家都有很大的自主調(diào)整空間。例如,小型精品店可以利用這種靈活性打造獨(dú)具特色的品牌店鋪,大型企業(yè)也能夠構(gòu)建符合復(fù)雜業(yè)務(wù)流程的電商系統(tǒng)。
1.3 版本(2009 年 3 月 30 日)
在這個(gè)版本中,Magento 開始提供專業(yè)版和企業(yè)版。這一舉措滿足了不同規(guī)模和需求層次的商家。
專業(yè)版適合中型企業(yè),提供了更多高級(jí)功能和技術(shù)支持;企業(yè)版則針對(duì)大型企業(yè),具備更強(qiáng)大的功能,如大規(guī)模庫存管理、高級(jí)營(yíng)銷工具等。這有助于 Magento 進(jìn)一步細(xì)分市場(chǎng),滿足不同層次用戶的需求。
1.8 版本(2012 年 4 月 24 日)
1.8 版本增加了移動(dòng)主題,這是對(duì)移動(dòng)互聯(lián)網(wǎng)發(fā)展趨勢(shì)的積極響應(yīng)。隨著智能手機(jī)的普及,移動(dòng)購物逐漸成為主流。移動(dòng)主題的增加使得商家的店鋪在移動(dòng)設(shè)備上能夠有更好的展示效果,提升了用戶的移動(dòng)購物體驗(yàn)。
同時(shí),該版本還支持微信支付、支付寶等多種支付方式,這對(duì)于拓展中國(guó)市場(chǎng)以及滿足全球范圍內(nèi)使用這些流行支付方式的用戶需求具有重要意義。
1.9 版本(2014 年 5 月 13 日)
1.9 版本引入的響應(yīng)式網(wǎng)站設(shè)計(jì)是一個(gè)重要的更新。在不同設(shè)備類型和屏幕大小日益多樣化的情況下,響應(yīng)式設(shè)計(jì)能夠確保網(wǎng)站自動(dòng)適應(yīng)各種設(shè)備,如手機(jī)、平板電腦和臺(tái)式電腦等。這使得商家無需為不同設(shè)備單獨(dú)開發(fā)版本,降低了開發(fā)成本,同時(shí)也提高了用戶體驗(yàn),因?yàn)橛脩魺o論使用何種設(shè)備都能獲得一致的購物體驗(yàn)。
(2)Magento 2.x系列
2.0 版本(2015 年 11 月 17 日)
Magento 2.0 帶來了全新的架構(gòu)和設(shè)計(jì)。其性能優(yōu)化是一個(gè)關(guān)鍵改進(jìn),能夠顯著提高網(wǎng)站的加載速度和響應(yīng)能力。全頁面緩存功能進(jìn)一步提升了性能,減少了服務(wù)器負(fù)載,使得用戶在瀏覽商品、進(jìn)行購物操作時(shí)更加流暢。流線型的購物流程減少了用戶在結(jié)賬等環(huán)節(jié)的步驟,降低了購物車遺棄率。此外,友好的后臺(tái)用戶界面使得管理員能夠更高效地管理店鋪,例如輕松進(jìn)行商品管理、訂單處理和客戶關(guān)系管理等操作。
2.1 版本(2016 年 6 月 23 日)
2.1 版本為企業(yè)版增加了內(nèi)容管理系統(tǒng)。這使得企業(yè)能夠更好地管理網(wǎng)站內(nèi)容,如產(chǎn)品描述、促銷活動(dòng)頁面、博客文章等。更好的搜索性能能夠讓用戶更快地找到他們想要的產(chǎn)品,提高了用戶滿意度。更加詳細(xì)的分析報(bào)告則為企業(yè)提供了深入了解業(yè)務(wù)數(shù)據(jù)的工具,例如銷售額分析、客戶行為分析等,有助于企業(yè)做出更明智的商業(yè)決策。
2.2 版本(2017 年 9 月 26 日)
2.2 版本專注于 B2B 功能的提升。公司賬戶管理功能使得 B2B 交易更加規(guī)范和高效,企業(yè)可以更好地管理旗下多個(gè)用戶的賬戶權(quán)限等。定制報(bào)價(jià)功能滿足了 B2B 交易中靈活定價(jià)的需求,針對(duì)不同客戶、不同訂單量等情況提供個(gè)性化的報(bào)價(jià)??焖儆嗁徆δ軇t提高了 B2B 客戶的采購效率,減少了下單時(shí)間,提升了整體業(yè)務(wù)流程的速度。
2.3 版本(2018 年 11 月 28 日)
2.3 版本新增了多源庫存 (MSI) 功能,這對(duì)于擁有多個(gè)倉庫或庫存來源的商家來說非常重要。它能夠更精準(zhǔn)地管理庫存,避免庫存積壓或缺貨現(xiàn)象。Page Builder(可視化頁面編輯器)讓商家無需編寫代碼就能輕松創(chuàng)建和定制頁面,降低了頁面設(shè)計(jì)的門檻。PWA Studio(漸進(jìn)式網(wǎng)絡(luò)應(yīng)用工作室)的支持使得商家能夠構(gòu)建類似原生應(yīng)用的網(wǎng)站,提供更好的離線體驗(yàn)和更快的加載速度。此外,對(duì) GraphQL 的支持允許第三方擴(kuò)展使用聲明式的 DB Schema,為開發(fā)者提供了更靈活的開發(fā)方式。
2.4 版本(2020 年 7 月 28 日)
2.4 版本移除了 MySQL 搜索引擎,全部使用 Elasticsearch 作為搜索引擎。Elasticsearch 具有更強(qiáng)大的搜索功能,能夠提供更精準(zhǔn)、更快速的搜索結(jié)果,提升了用戶查找商品的效率。增強(qiáng)的兩步驗(yàn)證等安全性更新則保障了用戶賬戶和交易的安全,降低了安全風(fēng)險(xiǎn),保護(hù)了商家和客戶的利益。
2.4.3 版本(2021 年 8 月)
2.4.3 版本解決了包括 CSRF(跨站請(qǐng)求偽造)和 XSS(跨站腳本攻擊)攻擊在內(nèi)的兩個(gè)安全漏洞,提高了平臺(tái)的安全性。改進(jìn)的購物車性能確保了用戶在添加、修改商品數(shù)量等操作時(shí)的流暢性。修復(fù)的電子郵件發(fā)送問題保證了訂單通知、營(yíng)銷郵件等的正常發(fā)送,而商品庫存問題的修復(fù)有助于維持庫存數(shù)據(jù)的準(zhǔn)確性,進(jìn)一步提高了用戶體驗(yàn)和管理效率。
2 JaaScript庫的使用
(1)M1使用的是Prototype
Magento 1默認(rèn)使用的是Prototype框架,這是一個(gè)JavaScript框架,用于創(chuàng)建復(fù)雜的用戶界面。Prototype需要手動(dòng)引入jQuery,這增加了開發(fā)者的工作量。
(2)M2集成了jQuery
Magento2默認(rèn)使用jQuery,并且不需要手動(dòng)引入,這簡(jiǎn)化了前端開發(fā)的工作。jQuery是一個(gè)快速、小巧、功能豐富的JavaScript庫,它簡(jiǎn)化了HTML文檔遍歷和操作、事件處理、動(dòng)畫和Ajax。
3 插件代碼結(jié)構(gòu)
(1)M插件代碼分散
相比M2的插件代碼模板,Magento 1的JS文件位于`js/`下,CSS文件位于`skin/`下,模板文件位于`app/design/`下,而代碼位于`app/code/`下。這種分散的文件結(jié)構(gòu)使得管理和維護(hù)變得更加復(fù)雜。
(2)M2插件代碼模板
在Magento2中,插件的CSS、JS和模板文件都位于一個(gè)目錄下(在插件目錄下`app/code/插件名字`),這種結(jié)構(gòu)使得插件的代碼更加模塊化,易于管理和維護(hù)。
4 命名空間的使用
(1)M2使用命名空間
Magento 2使用了PHP的命名空間功能,新建PHP文件類的時(shí)候,需要在文件頭部聲明`namespace`。命名空間提供了一種將相關(guān)類組織在一起的方法,有助于避免類名沖突。
(2)M1沒有命名空間
Magento 1沒有使用命名空間,這在大型項(xiàng)目中可能會(huì)導(dǎo)致類名沖突。
5 控制器Action的組織方式
(1)M2控制器Action獨(dú)立
Magento 2的控制器Action都是獨(dú)立的文件。例如,`test.magento.com/controller/action1`和`test.magento.com/controller/action2`中的`action1`和`action2`方法都是分開寫的,如`Action1.php`和`Action2.php`。
(2)M1控制器Action在同一個(gè)文件
Magento 1的控制器Action通常位于同一個(gè)文件中,這使得代碼更加緊湊,但也可能導(dǎo)致文件過于龐大,難以維護(hù)。
6 系統(tǒng)要求
(1)M2需要更高版本的PHP和MySQL
Magento 2需要PHP 7.0和MySQL 5.6以上版本,這是為了支持新的語言特性和性能改進(jìn)。Magento 2的這一要求確保了平臺(tái)的性能和安全性。
(2)M1的系統(tǒng)要求較低
Magento 1的系統(tǒng)要求相對(duì)較低,可以運(yùn)行在較舊的服務(wù)器環(huán)境中。
7 命令行工具
(1)M2提供了命令行工具
Magento 2引入了命令行工具,開發(fā)者可以通過命令進(jìn)行插件安裝、代碼編譯和緩存生成等操作,這大大提高了開發(fā)效率和系統(tǒng)的可維護(hù)性。
(2)M1沒有內(nèi)置命令行工具
Magento 1沒有內(nèi)置的命令行工具,相關(guān)操作需要通過后臺(tái)或FTP手動(dòng)完成。
8 JavaScript管理
(1)M2引入了RequireJS
Magento 2引入了RequireJS來管理JavaScript,這是一種模塊加載器和依賴管理器,它使得JavaScript的寫法更加規(guī)范,對(duì)JavaScript組件的功能采用了MVC架構(gòu)。
(2)M1的JavaScript管理較為簡(jiǎn)單
Magento 1的JavaScript管理相對(duì)簡(jiǎn)單,沒用采用RequireJS這樣的工具。
9 Composer的使用
(1)M2引入了Composer
Magento 2對(duì)各個(gè)模塊引入了Composer,這是一個(gè)依賴管理工具,支持插件打包和升級(jí)。
Composer的使用簡(jiǎn)化了Magento 2的模塊管理和依賴關(guān)系。
(2)M1沒有使用Composer
Magento 1沒有使用Composer,模塊管理和升級(jí)較為復(fù)雜。
10 結(jié)論
Magento 2在許多方面都進(jìn)行了改進(jìn)和優(yōu)化,包括更好的文件結(jié)構(gòu)、命名空間、獨(dú)立的控制器Action、更高的系統(tǒng)要求、命令行工具、JavaScript管理和Composer的使用,這些改進(jìn)使得Magento 2更加強(qiáng)大、靈活和易于維護(hù)。
然而對(duì)于Magento 1的用戶來說,升級(jí)到Magento 2可能需要一定過得學(xué)習(xí)和適應(yīng)過程、
對(duì)新用戶而言,直接使用Magento 2無疑是一個(gè)更好、更適宜的選擇。


