Key Difference: Drupal 8 มีความแตกต่างมากมายกับ Drupal 7 ข้อแตกต่างที่สำคัญอย่างหนึ่งคือแทนที่ Theme Engine เริ่มต้นจาก PHPTemplate เป็น Twig ของตัวเอง Drupal 8 มีการรวม CSS และ JavaScript ที่ดีกว่า แต่ก็ยังเปลี่ยนวิธีที่ต้องเพิ่ม มันยังเปิดตัวคุณสมบัติใหม่มากมาย
ตามเว็บไซต์ของ Drupal“ Drupal เป็นเครื่องมือจัดการเนื้อหาเว็บที่“ อยู่นอกกรอบ” เช่นเดียวกับแพลตฟอร์มที่ปรับแต่งได้เอง” โดยทั่วไปหมายความว่าซอฟต์แวร์สามารถใช้งานได้ตามความเหมาะสมหรือสามารถปรับเปลี่ยนให้เหมาะกับความต้องการของแต่ละบุคคล . เว็บไซต์แห่งนี้กล่าวว่า“ Drupal เป็นแพลตฟอร์มอันดับหนึ่งสำหรับการจัดการเนื้อหาเว็บในองค์กรระดับโลกรัฐบาลสถาบันการศึกษาระดับสูงและองค์กรพัฒนาเอกชนและมีการใช้งานเว็บไซต์กว่า 1, 000, 000 แห่ง
ด้วยการเปิดตัว Drupal 8 บริษัท ประกาศว่า Drupal 8 มีการเขียนเนื้อหาที่ง่ายขึ้นมันถูกสร้างขึ้นสำหรับประสบการณ์มือถือครั้งแรกรองรับภาษามากขึ้นรวมถึงการแปลอินเตอร์เฟสที่ดีขึ้น บริษัท ยังระบุด้วยว่าเมื่อเทียบกับ 7, 8 รองรับระบบนิเวศที่ดีกว่าสำหรับการผนวกรวมระบบดิจิตอลซึ่งหมายความว่ามีการรองรับอีเมลการวิเคราะห์ระบบการตลาดอัตโนมัติและโซลูชั่นเทคโนโลยีดิจิตอลอื่น ๆ ได้ดีขึ้น
Drupal มีพื้นฐานมาจาก PHP อย่างไรก็ตามใน Drupal 8 บริษัท ได้เปลี่ยนเอ็นจิ้นธีมเริ่มต้นจาก PHPTemplate เป็น Twig ซึ่งตอนนี้ได้เปิดตัว อย่างไรก็ตามสิ่งนี้ทำให้เกิดความกังวลว่าผู้ใช้ที่โยกย้ายจาก Drupal 7 เป็น 8 จะต้องเรียนรู้และเปลี่ยนรหัสใหม่ ตัวอย่างเช่น: ฟังก์ชั่น theme_ * และไฟล์ * .tpl.php ที่ใช้ PHP ได้ถูกแทนที่ด้วยเทมเพลต * .html.twig ()
มีการเปลี่ยนแปลงเพิ่มเติมในลักษณะที่อยู่ Drupal 7 และ Drupal 8 CSS และ JavaScript Drupal 8 มีการรวม CSS และ JavaScript ที่ดีกว่า แต่ก็ยังเปลี่ยนวิธีที่ต้องเพิ่ม ในขณะที่ Drupal 7 ใช้ drupal_add_css () และ drupal_add_js () ฟังก์ชั่นเพื่อเพิ่ม CSS หรือ JS, Drupal 8 แนบสินทรัพย์เหล่านี้ในคุณสมบัติ #attached ของอาร์เรย์การแสดงผลโดยใช้ห้องสมุด
โปรดดูตารางด้านล่างสำหรับความแตกต่างเพิ่มเติมระหว่าง Drupal 7 และ Drupal 8
เปรียบเทียบระหว่าง Drupal 7 และ Drupal 8:
Drupal 7 | Drupal 8 | |
ประเภทของ | ซอฟต์แวร์การจัดการเนื้อหา (CMS) | ซอฟต์แวร์การจัดการเนื้อหา (CMS) |
ราคา | ฟรี | ฟรี |
การเผยแพร่ | 5 มกราคม 2554 | 7 ตุลาคม 2558 |
วุฒิภาวะ | เก่ากว่าครบกำหนดตามเวลาและมีโมดูลจำนวนมากเอกสารจำนวนมากและบทช่วยสอนจำนวนมาก | ใหม่กว่าสุกน้อยลงและมีโมดูลน้อยลงเอกสารน้อยลงและบทเรียนน้อยลง |
เอาท์พุต | มาร์กอัป XHTML ตามค่าเริ่มต้น | มาร์กอัป Semantic HTML5 โดยค่าเริ่มต้น |
ห้องสมุดส่วนหน้า | jQuery v2.x | jQuery v2.x, Modernizr, Underscore.js และ Backbone.js |
มาร์กอัป Schema.org | ห้ามเอาต์พุตมาร์กอัพ schema.org | โมดูล RDFa หลักของ Drupal 8 ส่งออกมาร์กอัป schema.org |
แอ็ตทริบิวต์ WAI-ARIA | ไม่ใช่การใช้งานคุณสมบัติของ WAI-ARIA อย่างกว้างขวาง | การใช้งานแอตทริบิวต์ WAI-ARIA อย่างกว้างขวาง |
รองรับ IE | รองรับ IE 6, 7 และ 8 | Drops รองรับ IE 6, 7 และ 8 |
jQuery | Drupal 7 รวมถึง jQuery 1.4.4 และ jQuery UI 1.8.7 | ใช้ jQuery 2.0 และรหัสอื่น ๆ ที่รองรับเบราว์เซอร์ HTML5 / CSS3 ที่ทันสมัย |
การสนับสนุน SVG | เบราว์เซอร์ที่รองรับที่ไม่รองรับ SVG (รวมถึง IE8 และ Android Browser 2.3) | ไม่รองรับเบราว์เซอร์ที่ไม่รองรับ SVG (รวมถึง IE8 และ Android Browser 2.3) |
ธีมเครื่องยนต์เริ่มต้น | PHPTemplate ฟังก์ชั่น theme_ * และไฟล์ PHP * .tpl.php | เปิดตัว Twig * .html.twig เทมเพลต () |
การรวม CSS และ JavaScript | CSS และ JavaScript ที่มีประสิทธิภาพน้อยลงเมื่อเทียบกับ 8 | ปรับปรุง CSS และการรวม JavaScript |
เพิ่ม CSS หรือ JS | ฟังก์ชัน drupal_add_css () และ drupal_add_js () | แนบเนื้อหา JS / CSS ในคุณสมบัติ #attached ของอาร์เรย์การแสดงผลโดยใช้ไลบรารี |
การเปลี่ยนแปลงระดับ CSS ในเมนู | .menu li.Exand .menu li.collapsed .menu li.leaf .menu li.active-trail .menu li.first .menu li.last | .menu รายการขยายตัว .menu รายการยุบ .menu รายการที่ใช้งานทาง .menu รายการ: ครั้งแรกที่เด็ก .menu รายการ: สุดท้ายเด็ก .menu-item — leaf - ถูกลบ |
CSS ID | มี ID มากกว่า CSS ของ Drupal 8 | มี ID น้อยกว่า CSS ของ Drupal 7 |
โครงสร้าง CSS (ไฟล์) | โครงสร้าง CSS (ไฟล์) ไม่ได้ขึ้นอยู่กับ SMACSS & BEM | โครงสร้าง CSS (ไฟล์) ขึ้นอยู่กับ SMACSS & BEM |
ตัวเลือกหลอก CSS3 | ใช้คลาสแรก / สุดท้าย / คี่ / คู่ | ใช้ตัวเลือกหลอกหลอก CSS3 |
โมดูลหลัก | ฟังก์ชั่น preprocess จำนวนมากและไฟล์ CSS รวมอยู่ในโมดูลหลัก | แทนที่ฟังก์ชั่น preprocess จำนวนมากและไฟล์ CSS ซึ่งก่อนหน้านี้รวมอยู่ในโมดูลหลักโดยใช้ Classy ซึ่งเป็นธีมฐานหลักที่แทรกคลาสลงในมาร์กอัปและรวมถึง CSS ที่เกี่ยวข้อง |
จุดพักการค้นหาสื่อ | ไม่ใช้การสอบถามสื่อจุดพักเพื่อควบคุมวิธีการที่ไซต์ดูบนอุปกรณ์ต่าง ๆ | ใช้เคียวรีสื่อบันทึกเบรกพอยต์เพื่อควบคุมลักษณะของไซต์บนอุปกรณ์ต่าง ๆ |
เข้าชม | Views เป็นโมดูลที่สนับสนุน | เพิ่มการดูเป็นหนึ่งในโมดูลหลัก |
CKEditor | ไม่ใช้ CkEditor | CkEditor ซึ่งเป็นโมดูลหลักใน Drupal 8 เป็นตัวแก้ไข html แบบภาพที่ใช้สำหรับการแก้ไขหน้าเว็บที่นำคุณสมบัติตัวประมวลผลคำทั่วไปไปยังหน้าเว็บโดยตรง |
การแก้ไข | ต้องไปที่หน้าแก้ไขเพื่อทำการแก้ไข | ตัวแก้ไขแบบอินไลน์ช่วยแก้ไขเนื้อหาของหน้าโดยไม่ต้องไปที่หน้าแก้ไข แต่เพียงคลิกขวาเพื่อแก้ไข |
โมดูลรูปภาพ | ไม่มีโมดูลรูปภาพ | คุณสมบัติ Picture Module ที่ปรับขนาดภาพโดยอัตโนมัติสำหรับหน้าจอที่แตกต่างกัน |
Symfony | ไม่รวมเฟรมเวิร์ก Symfony | ใช้เฟรมเวิร์ก Symfony และสถาปัตยกรรม MVC ซึ่งทำให้การบำรุงรักษาโค้ดปรับขนาดและนำมาใช้ซ้ำได้ง่าย |
แนวคิดของ OOP | มีแนวคิดการเขียนโปรแกรม Object Oriented น้อยลง | มาพร้อมกับแนวคิดการเขียนโปรแกรมเชิงวัตถุไปยังส่วนใหญ่ของระบบ |
ส่วนที่เหลือ | ไม่มีคุณลักษณะ REST | Representational State Transfer (REST) อนุญาตให้มีการโต้ตอบกับแอปพลิเคชันอื่น ๆ สำหรับการสร้างการอ่านการอัปเดตและการลบทรัพยากร |
ฟิลด์อีเมลใหม่ | ฟิลด์อีเมลอย่างง่าย | ฟิลด์อีเมลจะตรวจสอบที่อยู่อีเมลโดยอัตโนมัติและสร้างลิงก์ 'mailto:' เมื่อแสดง |
ฟิลด์โทรศัพท์ใหม่ | ฟิลด์โทรศัพท์อย่างง่าย | ฟิลด์โทรศัพท์สร้างลิงก์ 'tel:' เมื่อแสดงสำหรับแอพโทรศัพท์เช่น Skype และอื่น ๆ |
การอ้างอิง: Drupal, Drupal 8, Drupal 7 vs 8, Zyxware Image Courtesy: churchm.ag, drupal.org