ผู้ร่วมให้ข้อมูลของ Gutenberg กล่าวถึงข้อเสียของการใช้ iframes สำหรับ Meta Boxes

เผยแพร่แล้ว: 2017-11-04
เครดิตภาพ: กล่องสี่เหลี่ยมปิด รูปแบบ – (ใบอนุญาต)

การสนทนาที่มีชีวิตชีวาและประสิทธิผลเกี่ยวกับการใช้ iframes ของ Gutenberg สำหรับเมตาบ็อกซ์กำลังเกิดขึ้นบน GitHub เมื่อวานนี้ Kevin Hoffman ผู้พัฒนา WordPress ได้สร้างปัญหาในหัวข้อ “iframes เป็นวิธีแก้ปัญหาระยะยาวสำหรับ meta box หรือไม่”

Gutenberg 1.5 แนะนำการสนับสนุนเบื้องต้นสำหรับเมตาบ็อกซ์ Hoffman ระบุปัญหาหลายประการเกี่ยวกับ iframes ที่ปรากฏขึ้น เนื่องจากนักพัฒนาได้เริ่มทดสอบการใช้งาน meta box ในปัจจุบัน เขาทำการทดสอบประสิทธิภาพซึ่งเผยให้เห็นว่าการใช้ iframe ของ Gutenberg เพิ่มจำนวนคำขอเนื้อหาเป็นสามเท่า เนื่องจากจะจัดคิวเนื้อหา CSS และ JS ทั้งหมดในหน้าต่างหลักและใน iframe ทั้งหมด

เครดิตภาพ: Kevin Hoffman

"โดยทั่วไปแล้ว iframes ถูกกีดกันในการพัฒนาเว็บเป็นเวลาหลายปีด้วยเหตุผลที่มีเอกสารประกอบเป็นอย่างดี" ฮอฟฟ์แมนกล่าวก่อนที่จะกล่าวถึงปัญหาที่นักพัฒนาปลั๊กอินได้ค้นพบแล้วในการทดสอบการรองรับเมตาบ็อกซ์ของ Gutenberg “ปัญหาเหล่านี้สามารถแก้ไขได้โดยไม่ต้องแก้ไขธีมหรือปลั๊กอินที่สร้างเมตาบ็อกซ์หรือไม่? เราต้องพิจารณาว่าโค้ดของบุคคลที่สามที่ขับเคลื่อนเมตาบ็อกซ์มาหลายปีอาจไม่มีความหรูหราในการอัปเดตเพื่อให้เข้ากันได้ภายใน iframe”

Tammie Lister หัวหน้าฝ่ายออกแบบของ Gutenberg ตอบสนองต่อข้อกังวลของ Hoffman โดยระบุว่าการใช้งาน meta box ในปัจจุบันเป็นเพียงการทดลองเท่านั้น และไม่จำเป็นว่าจะเกิดอะไรขึ้นใน WordPress 5.0:

เป็นเรื่องดีที่จะคิดสักนิดว่าสิ่งที่เรามีในวันนี้สำหรับเมตาบ็อกซ์ในกูเตนเบิร์กเป็นการทดลอง ในหลาย ๆ ด้าน มันเป็นรูปแบบการถือครองในขณะที่โปรเจกต์หาแนวทางที่จะดำเนินการ โดยบอกว่ามันใช้งานได้ 'สำหรับตอนนี้' แต่ไม่ใช่สิ่งที่เราจะจัดส่งด้วย

จากทั้งหมดที่กล่าวมา ฉันคิดว่าสิ่งสำคัญคือต้องดูว่าเมตาบ็อกซ์ในอนาคตจะใช้ทำอะไร กรณีใดบ้าง (ถ้ามี) ที่ไม่สามารถแปลงเป็นบล็อคได้? เมตาบ็อกซ์ทั้งหมดต้องทำงานบนมือถือหรือไม่ มีอินเทอร์เฟซอื่นที่เรายังไม่ได้สำรวจหรือไม่? ฉันพนันได้เลยว่ามี ตอนนี้ มันเกี่ยวกับการดูความเป็นไปได้เหล่านั้น และการเดินทางบนถนนที่เหมาะกับรัฐในตอนนี้และในอนาคต

การนำเสนอการใช้งานนี้เป็นการทดลองที่ “ใช้งานได้ในตอนนี้” (แต่จะไม่ถูกจัดส่ง) เป็นเรื่องที่น่าประหลาดใจหลังจาก Gutenberg 1.5 มาถึงด้วยการประกาศว่า “รุ่นนี้รวมการสนับสนุน meta-boxes ที่รอคอยมานาน (จำเป็นต้องทดสอบ!)”

Hoffman เชื่อว่าแนวทางของ iframe ยังไม่ทำงาน 'ในตอนนี้' เนื่องจากมีการเปิดประเด็นนี้ขึ้นเพื่ออ้างอิงถึงวิธีหลักๆ หลายประการที่เกิดปัญหา หาก Gutenberg ก้าวไปข้างหน้าด้วยแนวทางปัจจุบัน จะต้องมีการปรับเปลี่ยนปลั๊กอินจำนวนมากเพื่อให้เข้ากันได้กับ WordPress 5.0 ซึ่ง Hoffman กล่าวว่าจะเอาชนะวัตถุประสงค์ทั้งหมดในการสนับสนุนเมตาบ็อกซ์รุ่นเก่า

“ผมยังไม่เห็นหลักฐานใดๆ ที่บ่งชี้ว่าเมต้าบ็อกซ์จะยังคงทำงานกับกูเตนเบิร์กต่อไป” ฮอฟฟ์แมนกล่าว “ถ้าคำตอบคือไม่ เราควรหยุดแสร้งทำเป็นว่า 5.0 เป็นเพียงรุ่นอื่นของ WordPress และเริ่มซื่อสัตย์เกี่ยวกับการทำลายความเข้ากันได้แบบย้อนหลัง”

Edwin Cromley ผู้ทำงานร่วมกันในโครงการกล่าวว่าทีมคาดการณ์ว่าธีมและปลั๊กอินบางตัวจะใช้งานไม่ได้และไม่สามารถรองรับทุกกรณีการใช้งานที่เป็นไปได้ เขายอมรับว่าโซลูชัน iframe อาจไม่บรรลุเป้าหมายของโครงการ แต่เขาสนับสนุนการสร้างประสบการณ์ที่ดีที่สุดให้กับผู้ใช้ส่วนใหญ่แทน

อย่างไรก็ตาม แนวทางปัจจุบันจะส่งผลเสียต่อไซต์จำนวนมากที่ใช้ WordPress เป็น CMS ที่มีเมตาบ็อกซ์เป็นหลัก Scott Taylor ตัวแทนหลักของ WordPress แสดงความกังวลเกี่ยวกับประเภทโพสต์ที่กำหนดเอง ซึ่งส่วนใหญ่ไม่ได้ใช้ส่วน "เนื้อหา" แบบเดิมเพื่อสนับสนุนเมตาบ็อกซ์เท่านั้น

"ในการทำซ้ำในปัจจุบันนี้ การสนับสนุนเมตาบ็อกซ์เป็นส่วนเสริม เมื่อในความเป็นจริงของคนจำนวนมาก เมตาบ็อกซ์คือ UI หรือ API ซึ่งเป็นกลไกที่พวกเขาใช้ในการเขียน CMS" เทย์เลอร์กล่าว “iframes เป็นป่าช้า

“และเราลืมไปว่าค่านิยมที่ WP สร้างขึ้นตลอดไป: ฉันควรจะสามารถอัปเดตเป็น WP เวอร์ชันล่าสุดได้ และไม่ต้องเขียนอะไรใหม่เลย ฉันมีโครงการมากมายใน WP ที่ฉันจะไม่แตะต้องอีก ฉันสามารถมั่นใจได้หรือไม่ว่าบางส่วนของพวกเขาจะไม่ทำลายอย่างรุนแรงด้วยการเปลี่ยนแปลงนี้”

ฮอฟฟ์แมนสนับสนุนให้ลดขอบเขตของโปรเจ็กต์โดยเน้นที่องค์ประกอบของตัวแก้ไข ความคิดเห็นที่ได้รับความนิยมที่นักพัฒนาปลั๊กอินหลายคนแบ่งปัน และความคิดเห็นที่แสดงรายละเอียดในโพสต์ของ Yoast ที่เสนอแนวทางทางเลือกให้กับ Gutenberg แนวทางนี้ช่วยขจัดการเปลี่ยนแปลงในหน้าจอแก้ไข ทำให้นักพัฒนามีเวลามากขึ้นในการอัปเดตปลั๊กอิน รวมทั้งช่วยให้ทีม Gutenberg ค้นหาวิธีแก้ปัญหาที่เพียงพอสำหรับกล่องเมตา

“ ฉันคิดว่าเป้าหมายนั้นจะทำได้มากกว่านี้ถ้า Gutenberg มุ่งมั่นที่จะยกเครื่องบรรณาธิการแทนที่จะดูแลทั้งหน้า” ฮอฟฟ์แมนกล่าว “จากนั้น เราสามารถปล่อย hooks ที่มีอยู่ให้เข้าที่ และ meta box สามารถสื่อสารกันต่อไปได้เหมือนที่ทำอยู่ตอนนี้ นอกจากนี้ การจัดคิวสินทรัพย์จะไม่ใช่ปัญหา เนื่องจากจะใช้งานได้เหมือนที่เป็นอยู่ในปัจจุบัน

“ฉันเห็นด้วยอย่างยิ่งกับแนวคิดนี้ที่เสนอโดย Yoast ซึ่งดูเหมือนว่าฉันจะรักษางานส่วนใหญ่ที่ได้ทำไปแล้วไว้ได้มากในขณะที่ลดขอบเขตของโปรเจ็กต์เพื่อมุ่งเน้นไปที่องค์ประกอบของตัวแก้ไข”

Riad Benguella วิศวกรของ Gutenberg ระบุว่าทีมไม่ค่อยกระตือรือร้นในการทำงานตามแนวคิดนี้

“การนำชิ้นส่วนของ Gutenberg กลับมาใช้ใหม่เพื่อสร้างแนวคิดนี้ทำได้ค่อนข้างดี แต่นี่ไม่ใช่ UX ที่เราต้องการเพิ่มประสิทธิภาพ เราต้องการสร้างตัวแก้ไขที่ดีที่สุดเท่าที่จะเป็นไปได้ก่อน และทำให้ใช้งานได้สำหรับผู้ที่ไม่มีปัญหาเรื่องความเข้ากันได้ย้อนหลัง (การติดตั้งใหม่ ไม่มีเมตาบ็อกซ์... )” เบงเกลลากล่าว

“เมื่อเราคิดว่าวิสัยทัศน์ในอุดมคติของ Gutenberg พร้อมที่จะจัดส่ง เราจะมีเวลาหารือเกี่ยวกับกลยุทธ์เส้นทางการอัปเกรด แนวคิดเช่นนี้เป็นตัวเลือกสำหรับเส้นทางการอัพเกรด แต่ไม่ใช่ในขั้นสุดท้ายอย่างแน่นอน เส้นทางการอัพเกรดอื่น ๆ ก็เป็นไปได้เช่นกัน”

อย่างไรก็ตาม ชุมชนนักพัฒนา WordPress ไม่ได้สนับสนุนที่จะชะลอการสนทนานี้อีกครั้ง หลายคนกระตือรือร้นที่จะตอบคำถามว่าเมตาบ็อกซ์จะเข้ากับบริบทของโปรแกรมแก้ไข Gutenberg ได้อย่างไร เพื่อให้พวกเขารู้วิธีเตรียมตัว เนื่องจากมีปัญหามากมายเกี่ยวกับแนวทางของ iframes การแสดงเมตาบ็อกซ์ PHP แบบเก่าภายใต้ตัวแก้ไขใหม่จะต้องมีการทดลองมากขึ้นและอาจเป็นโซลูชันทางเลือก

“ทำไมต้องอุทิศเวลาหลายพันชั่วโมงในการพัฒนาตัวแก้ไขในอุดมคติ หากไม่สามารถทำให้เข้ากันได้กับไซต์ที่มีอยู่” ฮอฟแมนกล่าวว่า “หากความประทับใจแรกคือมันทำให้ UI พัง ผู้ใช้จะไม่มีวันได้สัมผัสกับตัวแก้ไขในอุดมคติตั้งแต่แรก”

“ฉันคิดว่ามันอาจจะเป็นความผิดพลาดที่จะวางสิ่งนี้ไว้ไกลเกินไป” Aaron Jorbin ผู้ดูแลหลักของ WordPress กล่าว “โดยเฉพาะอย่างยิ่ง เนื่องจากหลายๆ องค์กรจะต้องเตรียมการอย่างน้อย 1-2 ไตรมาส”

Mark Kaplun แนะนำให้ทีม Gutenberg ใช้ปลั๊กอินยอดนิยมเป็นตัววัดความสำเร็จของการทดลองสนับสนุนเมตาบ็อกซ์ในปัจจุบันและอนาคต

"ข้อเสนอแนะที่มีประสิทธิผลของฉันคือการไม่ประกาศเมตาบ็อกซ์พร้อมตราบเท่าที่ Yoast SEO ไม่ทำงานอย่างถูกต้อง" Kaplun กล่าว “มันค่อนข้างซับซ้อนเล็กน้อยในแง่ของการโต้ตอบและติดตั้งบนเว็บไซต์จำนวนมาก ถ้ากูเตนเบิร์กใช้งานไม่ได้ คงไม่มีใครใช้มัน”

Greg Schoppe ผู้ทดสอบและเขียนเกี่ยวกับการพัฒนาอย่างต่อเนื่องของ Gutenberg อย่างกว้างขวาง ได้เข้าร่วมการสนทนาเพื่อสนับสนุนแนวทางทางเลือกของ Yoast ในโครงการนี้ด้วย

"ฉันสนับสนุนมุมมองของ Yoast เกี่ยวกับ Gutenberg อย่างมาก" Schoppe กล่าว “สำหรับฉันไม่ชัดเจนนักว่า 'การอัปเกรดโปรแกรมแก้ไขภาพ' ถูกตีความใหม่ว่าเป็น 'แทนที่อินเทอร์เฟซการแก้ไขโพสต์ทั้งหมด' โดยทีมงาน Gutenberg ได้อย่างไร แต่ดูเหมือนว่าจะขัดแย้งกับสิ่งที่เรียกว่า 'เรือของเธเซอุส' โดยตรง

“ในกรณีนี้ การขาดทิศทางที่ชัดเจนและการสนับสนุนสำหรับเวิร์กโฟลว์มาตรฐานที่มีอยู่กำลังส่งผลกระทบอย่างแข็งขันต่อนักพัฒนาในขณะนี้ ฉันจะก้าวไปข้างหน้าในการสร้างโครงการโดยไม่ต้องมีตะขอและเครื่องมือที่เชื่อถือได้ที่ฉันวางใจได้อย่างไร เป็นเรื่องที่ไม่สมเหตุสมผลที่จะคิดว่าโครงการซอฟต์แวร์ขนาดใหญ่ดังกล่าวจะทำให้เวิร์กโฟลว์มาตรฐานสำหรับนักพัฒนาดีขึ้นโดยสิ้นเชิงในการอัปเดตเพียงครั้งเดียว และมันบ้ามากที่การสนทนาเหล่านี้เพิ่งเกิดขึ้นในเดือนพฤศจิกายน เมื่อแผนจะได้รับการอนุมัติเมื่อต้นปีนี้”

การอภิปรายเกี่ยวกับแนวทาง iframes กับ meta box ถูกเปิดขึ้นเมื่อวานนี้ยังค่อนข้างใหม่ แต่จนถึงขณะนี้ การตอบสนองของทีม Gutenberg ล้มเหลวในการจัดการข้อกังวลของชุมชนนักพัฒนาในกระทู้นี้อย่างเพียงพอ การค้นหาแนวทางสู่เมต้าบ็อกซ์ที่รักษาความสามารถ CMS อันทรงพลังของ WordPress ไว้ โดยไม่แบ่งแยกผู้ใช้และนักพัฒนา เป็นหนึ่งในความท้าทายที่ยิ่งใหญ่ที่สุดของทีม Gutenberg พวกเขายังคงตั้งเป้าที่จะสร้างข้อเสนอการรวมในต้นปีหน้า แต่ด้วยกล่องเมตายังอยู่ในขั้นตอนการทดลอง ตารางเวลาที่ทีมคาดการณ์ไว้ยังคงทำให้โครงการขัดแย้งกับชุมชนนักพัฒนา WordPress