ข้อแตกต่างระหว่าง Magento 1 กับ Magento 2

สำหรับคนที่ไม่เคยใช้ Magento มาก่อนเลย ขอแนะนำให้รู้จัก Mageno ซักนิดครับ Magento เป็น ระบบ Content Management System (CMS) ที่เกิดมาเพื่อทำร้านค้าออนไลน์ หรือเว็บ e-Commerce โดยเฉพาะครับ ซึ่งก็พัฒนามายาวนาน ตั้งแต่ปี 2008 เลยครับ ถึงตอนนี้ก็มีอายุ 9 ปีกว่าๆ เป็น CMS เพื่อ e-Commerce ที่มีคนใช้มากที่สุดในโลก (นับเฉพาะ CMS เพื่อทำร้านค้าออนไลน์อย่างเดียวนะครับ) มีการออกอัพเดท ต่างๆ เรื่อยมา ซึ่งก็ยังเป็น version 1 อยู่

จนกระทั่ง ปี 2016 ก็ออก Version 2 ออกมาครับ สำหรับ version 1 ก็ไม่ได้หายไปไหน ยังคงใช้งานได้อย่างยอดเยี่ยม โดย version ล่าสุด (10/05/2560) คือ version 1.9.3.2 ส่วน Magento 2 นั้น Version ล่าสุดจะเป็น 2.1.6

จริงๆ ตอนนี้ Magento เองแบ่งออกเป็น 3 Version ให้ผู้ใช้งงๆ กัน คือ

  • Magento 1.9.3.2
  • Magento 2 ยังแบ่งย่อยออกเป็น 2 version คือ
    – Magento 2.0.13
    – Magento 2.1.8

ผมจะวิเคราะห์ข้อแตกต่างของ Magento จากประสบการณ์การใช้งานจริง สร้างเว็บจริง ซื้อขายจริง โดยไม่เน้น ภาษาทาง Developer มากนะครับ ทั้งนี้เพื่อความเข้าใจที่ง่ายขึ้นครับ


คำถามสำคัญ คือ อะไรคือข้อแตกต่าง ระหว่าง Magento 1 กับ Magento 2

ผมนิยามสั้นๆ เลยว่า “มันคือ Software คนละตัว ที่ไม่สามารถใช้อะไรร่วมกันได้เลย”

ผมสรุปตารางข้อแตกต่าง ให้ก่อนดังนี้ครับ

ลำดับรายการ Magento 1Magento 2
1ขนาดของไฟล์ติดตั้ง35.3 Mb74.4 Mb
2Host ที่ใช้งานได้Host ทั่วๆ ไปVPS ขึ้นไปเท่านั้น
3SSHไม่จำเป็นจำเป็น
4PHP version5.4 ขึ้นไปใช้ได้หมด7.0.2, 7.0.4, 7.0.6-7.0.x, 5.6.5-5.6.x
5การติดตั้ง Extensionอัพโหลดผ่าน FTP แล้วใช้ได้เลยต้องสั่งติดตั้งผ่าน Command Line
6ความเร็วเว็บ เมื่อ Spec Host เท่ากันเร็วกว่าช้า
7ความง่ายของการใช้งานระบบหลังร้านซับซ้อนง่าย
8ความง่ายสำหรับผู้เริ่มเขียนเว็บง่ายยากกว่า
9รองรับไฟล์นามสกุล svgไม่รองรับรองรับ
10การอัพเดทออกอัพเดทเฉพาะ Security Patchอัพเดทสม่ำเสมอ

หลังจากบรรทัดนี้ เพื่อให้ง่ายแก่การเรียก ผมจะเรียก Magento 1 ว่า M1 และ Magento 2 ว่า M2 นะครับ


อธิบายข้อแตกต่างในประเด็นสำคัญดังนี้

  1. ขนาดไฟล์ และโครงสร้างของไฟล์
    Magento นั้นเป็นระบบ e-Commerce ที่ค่อนข้างมี Function เยอะและครบถ้วน เลยทำให้ตัวไฟล์ติดตั้งมีขนาดใหญ่ไปด้วย โดย M1 มีขนาดไฟล์ 35.3Mb ในขณะที่ M2 มีขนาดไฟล์เกือบ 2 เท่าของ M 1 นั้นคือ 74.4 Mbหากเข้าไปดูโครงสร้างของไฟล์ ก็จะเป็นดังภาพ

    ดูเหมือนว่า M2 จะจัดระเบียบ folder และไฟล์ต่างๆ ใหม่ทั้งหมด มีชื่อ folder ที่ใช้ชื่อซ้ำกันบ้าง คือ app, dev, และ var แต่เมื่อเข้าไปดูไฟล์ข้างใน Folder ดังกล่าว ก็แตกต่างกันโดยสิ้นเชิง ดังนั้น M1 กับ M2 จะไม่สามารถใช้อะไรร่วมกันได้เลยนะครับ ไม่ว่าจะเป็นธีมที่ซื้อมา หรือ Extension ต่างๆ ถ้าจะให้พูดง่ายๆ คือ มันเป็น CMS คนละตัวกันเลย


  2. Host ที่ใช้งานได้
    เพื่อให้ดูได้ง่ายขึ้น ผมจึงทำตารางเปรียบเทียบให้เห็นชัดๆ ดังนี้
    รายการMagento 1Magento 2
    OSLinux x86-64Linux x86-64
    Ram256 MB2 GB ขึ้นไป
    Web ServerApache 2.x หรือ
    Nginx 1.7.x
    Apache 2.2 หรือ 2.4
    Nginx 1.8
    PHP5.4, 5.5, 5.6, 7.x7.0.2, 7.0.4, 7.0.6-7.0.x, 5.6.5-5.6.x
    PHP version ที่ติดตั้งไม่ได้ไม่มี7.0.0, 7.0.1, 7.0.3, 7.0.5, 7.1.x, 5.6.0-5.6.4, 5.5.x
    MySQLMySQL 5.6 ขึ้นไปMySQL 5.6 ขึ้นไป
    Composerไม่ต้องการต้องการ
    จะสังเกตได้ว่าตัว M2 นั้น ค่อนข้างต้องการ Host ที่ Spec แรงกว่า เริ่มจาก Ram ที่ต้องการ 2 GB ขึ้นไป ดังนั้น Share Host หมดสิทธิ์ในการใช้งานครับ ต้องเป็น host แบบ VPS ขึ้นไปเท่านั้นหรือหากติดตั้งได้ ซึ่งผมทดสอบดูแล้วบาง host ก็จะติดตั้งได้ แต่จะไม่สามารถติดตั้ง Extension ใดๆ เพิ่มได้ เพราะระบบจะตรวจสอบ Spec ของ Ram ก่อนทำการติดตั้ง Extension เสมอ ในขณะที่ M1 ไม่มีการตรวจสอบ ทำให้การติดตั้ง Extension ทำได้ง่ายกว่าจุดที่เป็นปัญหาใหญ่ของการหา Host สำหรับ M2 ก็คือ มันติดได้เฉพาะ Host ที่มี PHP บาง version เท่านั้น ในขณะที่ มี PHP หลาย version ที่ M2 มีปัญหา ติดตั้งไม่ได้  ดังนั้นยากมากๆ ที่จะหา host ในไทยที่ติดตั้ง M2 ได้อย่างราบรื่น ดังนั้น ให้เช็ค version ของ PHP ให้ดีก่อนที่จะเช่า Host เพื่อติดตั้ง M2 นะครับในขณะที่เขียนบทความนี้ ผมแนะนำ host ที่ติดตั้ง M2 ได้อย่างไม่มีปัญหา ดังนี้ครับ

    DigitalOcean (ต้อง Setup host เองทั้งหมดครับ)
    CloudWays
    ServerPilot


  3. SSH
    หรือการใช้งาน Command Line เพื่อจัดการ host ตัว M1 นั้นไม่จำเป็น ไม่มีก็ได้ แต่สำหรับ M2 แล้ว เป็นสิ่งที่ขาดไม่ได้เลย เพราะต้องสั่งติดสั่ง Extension ผ่าน Command Line เท่านั้น ถึงจะสามารถติดตั้ง Extension ต่างๆ ได้อย่างสมบูรณ์


  4. ความเร็วของเว็บ
    ตามที่ M2 ประกาศความเปลี่ยนแปลงนั้น ดูเหมือนว่าส่วนที่ปรับปรุงเป็นหลักจะเป็นเรื่องของความเร็ว แต่จากการใช้งานจริง ผมพบว่า ใน Spec Host ที่เท่ากัน M1 ก็ยังเร็วกว่า M2 อยู่มาก ทั้งระบบหน้าร้านและหลังร้านครับ หาก M2 ต้องการความเร็วเว็บที่มากขึ้นให้เทียบเท่ากับ M1 น่าจะต้องใช้ Spec Host ที่สูงขึ้น ซึ่งตามคำแนะนำ Host ที่ผมปรึกษา คือต้องใช้ Ram ถึง 8GB ถึงจะสามารถใช้งานเว็บได้อย่างลื่นไหลครับ

แล้วเราจะเลือกใช้อะไรดีระหว่าง Magento 1 vs Magento 2

ข้อดีของ Magento 2 ก็มีหลายอย่างครับที่เด่นกว่า Magento 1 เช่น

ข้อดีของ Magento 2

  • ระบบหลังร้านจัดหน้าตาได้เรียบร้อยสวยงาม และใช้งานง่ายกว่า M1 มาก (หน้าตาคล้ายๆ Backend ของ WordPress)
  • ธีม Default ของ M2 นั้นเป็น Responsive และมาพร้อมกับ Function ที่ธีมของ M1 ไม่มี เช่นระบบ Images Zoom, Color Swatch, หน้าตาการ Checkout ที่เรียบง่ายและดูดีกว่า รวมถึงเน้นการใช้งานบนมือถือเป็นหลัก ถ้าใช้ M1 ธีม Default แทบเอาไปใช้งานจริงไม่ได้เลยครับ
  • มีการออกอัพเดทสม่ำเสมอ ซึ่งอาจจะได้ Feature เพิ่มเติมในอนาคต แต่สำหรับ M1 นั้นหยุดพัฒนาแล้ว จะอัพเดทเฉพาะ Security Patch เท่านั้น
  • รองรับเทคโนโลยีการทำเว็บใหม่ๆ เช่น LESS, PHP7, รองรับไฟล์ SVG

ข้อด้อยของ Magento 2

  • Extension ยังมีน้อย และมีราคาสูงมาก มากกว่า Extension ของ M1 กว่า 2 เท่าขึ้นไป
  • หา Host ติดตั้งยาก และต้องมี Cost สำหรับ host ค่อนข้างมาก โดยมีการแนะนำให้ใช้ VPS Ram 4 GB ถึงจะพอใช้งานได้อย่างลื่นไหล
  • ต้องมี SSH เท่านั้น ถ้าไม่มีจะแทบทำอะไรเพิ่มไม่ได้เลย และคนดูแลต้องมีความรู้เรื่องการจัดการ Hosting ด้วย

บทความนี้ผมไม่ได้โจมตี Magento 2 นะครับ แต่เขียนตามความเป็นจริง ตามประสบการณ์การใช้งาน และทำเว็บจาก Magento 2 ตั้งแต่ปลายปี 2016 ครับ
ถ้ามีงบเรื่อง host และสามารถจัดการ host ได้  ผมก็แนะนำใช้ Magento 2 นะครับ แต่ถ้าอยากได้เว็บเร็วๆ ใน Cost ที่ไม่สูงมาก Magento 1 ก็ยังตอบโจทย์เรื่องเว็บ e-Commerce อย่างครบถ้วนครับ

นี่เป็นประเด็นหลักๆ ถึงข้อแตกต่างของ M1 กับ M2 ครับ หวังว่าบทความนี้จะให้ความกระจ่างแก่ทุกท่านได้นะครับ