โครงการ XMLUI จุดประกายการถอดถอนเรื่องการฟื้นฟูการพัฒนา UI แบบ XML

ทีมชุมชน BigGo
โครงการ XMLUI จุดประกายการถอดถอนเรื่องการฟื้นฟูการพัฒนา UI แบบ XML

การเปิดตัว XMLUI เฟรมเวิร์กใหม่ที่นำการพัฒนาส่วนติดต่อผู้ใช้แบบ XML มาสู่เว็บแอปพลิเคชันสมัยใหม่ ได้จุดประกายการถกเถียงอย่างเข้มข้นในหมู่นักพัฒนาเกี่ยวกับการที่เทคโนโลยีเก่าควรได้รับโอกาสครั้งที่สองหรือไม่ โครงการนี้มีเป้าหมายเพื่อทำให้การพัฒนาเว็บง่ายขึ้นโดยการห่อหุ้ม React components ด้วย XML markup และสัญญาว่าจะทำให้การสร้าง UI ตรงไปตรงมาเหมือนในยุค Visual Basic

เสียงสะท้อนของเทคโนโลยีในอดีต

การประกาศครั้งนี้ได้กระตุ้นให้เกิดคลื่นความคิดถึงในหมู่นักพัฒนาที่มีประสบการณ์ซึ่งยังจำเทคโนโลยีที่คล้ายกันจากช่วงต้นทศวรรษ 2000 ได้ ผู้แสดงความคิดเห็นหลายคนได้เปรียบเทียบกับ XUL (XML User Interface Language) ของ Mozilla ทันที ซึ่งเป็นตัวขับเคลื่อนส่วนติดต่อของ Firefox และช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันเดสก์ท็อปโดยใช้เทคโนโลยีเว็บ คนอื่นๆ ก็นึกถึง Adobe Flex, XAML ของ Microsoft และไฟล์ .ui ของ Qt ซึ่งล้วนเป็นแนวทางแบบ XML ที่เคยสัญญาว่าจะปฏิวัติการพัฒนาส่วนติดต่อ

ประเด็นที่เกิดขึ้นซ้ำๆ ในการอภิปรายของชุมชนมีจุดศูนย์กลางอยู่ที่ว่า XMLUI แสดงถึงนวัตกรรมที่แท้จริงหรือเป็นเพียงการประดิษฐ์โซลูชันที่เคยถูกละทิ้งไปด้วยเหตุผลที่ดีขึ้นมาใหม่ นักพัฒนาหลายคนสังเกตว่าแนวทางแบบ XML เหล่านี้ตกออกจากความนิยมเมื่อการพัฒนาเว็บพัฒนาไปสู่ทางเลือกที่ยืดหยุ่นและทรงพลังมากขึ้น

เทคโนโลยี XML UI ในอดีตที่กล่าวถึง:

  • XUL (XML User Interface Language) - เทคโนโลยีส่วนติดต่อผู้ใช้ของ Mozilla Firefox
  • XAML - ภาษามาร์กอัปของ Microsoft สำหรับแอปพลิเคชัน .NET
  • Adobe Flex/MXML - เฟรมเวิร์กแอปพลิเคชันที่ใช้ Flash เป็นฐาน
  • Qt .ui files - คำจำกัดความส่วนติดต่อผู้ใช้ที่ใช้ XML สำหรับแอปพลิเคชัน Qt
  • OpenLaszlo - แพลตฟอร์มแอปพลิเคชันเว็บยุคแรกที่ใช้ XML

การถกเถียงระหว่างความเรียบง่ายกับการควบคุม

ส่วนสำคัญของการอภิปรายมุ่งเน้นไปที่ความตึงเครียดพื้นฐานระหว่างความง่ายในการใช้งานและการควบคุมของนักพัฒนา ผู้สนับสนุนโต้แย้งว่า XMLUI สามารถทำให้การพัฒนาเว็บเป็นประชาธิปไตยโดยทำให้เข้าถึงได้สำหรับโปรแกรมเมอร์ที่รู้สึกสบายใจกับเครื่องมือพัฒนาเดสก์ท็อปแบบดั้งเดิมแต่รู้สึกกลัวความซับซ้อนของ JavaScript frameworks สมัยใหม่ โครงการนี้มุ่งเป้าไปที่นักพัฒนาที่รู้สึกสบายใจกับเครื่องมือพัฒนาเดสก์ท็อปแบดั้งเดิมแต่รู้สึกกลัวความซับซ้อนของ React, webpack และระบบนิเวศ JavaScript ที่กว้างขวางขึ้น

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

ข้อกังวลเรื่องสถาปัตยกรรมทางเทคนิค

การใช้งานทางเทคนิคของ XMLUI ได้ทำให้นักพัฒนาที่คุ้นเคยกับปรัชญาการออกแบบของ React เกิดความสงสัย เฟรมเวิร์กนี้โดยพื้นฐานแล้วเพิ่มเลเยอร์ XML บนด้านบนของ React ซึ่งบางคนโต้แย้งว่าขัดแย้งกับหลักการหลักของ React React ได้รับการออกแบบมาเพื่อนำแนวคิด immediate-mode UI มาสู่เบราว์เซอร์ ช่วยให้นักพัฒนาสามารถอธิบายส่วนติดต่อเป็นฟังก์ชันของสถานะแทนที่จะจัดการลำดับชั้นของออบเจกต์ที่ซับซ้อน

สิ่งนี้ขัดแย้งกับ raison d'être ของ React ซึ่งคือการนำรูปแบบการพัฒนาของ immediate mode UIs มาสู่เบราว์เซอร์ นั่นคือปัจจัยขับเคลื่อนพื้นฐานเบื้องหลังการสร้าง React

ผู้วิพากษ์วิจารณ์แนะนำว่าการสร้างการแยกแยะ XML บนด้านบนของ React สร้างความซับซ้อนที่ไม่จำเป็นแทนที่จะลดลง พวกเขาโต้แย้งว่านักพัฒนาจะได้รับการบริการที่ดีกว่าโดยการเรียนรู้มาตรฐานเว็บเช่น custom elements และ shadow DOM ซึ่งให้ฟังก์ชันการทำงานแบบคอมโพเนนต์โดยไม่มีภาระเพิ่มเติมของเฟรมเวิร์ก

คำถามเรื่องประสิทธิภาพและการปฏิบัติ

ผู้ใช้งานในช่วงแรกได้รายงานประสบการณ์ที่หลากหลายกับลักษณะประสิทธิภาพของ XMLUI ขนาด 4.23 MB ที่ย่อแล้วของเฟรมเวิร์กและ dependencies 90 ตัวได้ทำให้เกิดความกังวลเกี่ยวกับการที่มันส่งมอบสัญญาของความเรียบง่ายหรือไม่ นักพัฒนาบางคนสังเกตว่าเว็บไซต์เอกสารอย่างเป็นทางการที่สร้างโดยใช้ XMLUI เองนั้นทำงานได้ไม่ดีบนอุปกรณ์มือถือ

ปัญหาประสิทธิภาพเหล่านี้เน้นย้ำถึงความท้าทายทั่วไปกับเลเยอร์การแยกแยะ: พวกมันมักจะแนะนำภาระเพิ่มเติมในขณะที่พยายามทำให้การพัฒนาเรียบง่าย การอภิปรายของชุมชนเผยให้เห็นความสงสัยเกี่ยวกับการที่ XMLUI สามารถบรรลุทั้งความเรียบง่ายและประสิทธิภาพในแอปพลิเคชันในโลกแห่งความเป็นจริงหรือไม่

ข้อมูลจำเพาะทางเทคนิคของ XMLUI :

  • ขนาดเฟรมเวิร์ก: 4.23 MB (แบบย่อ)
  • Dependencies: 90 dependencies โดยตรง (931 แบบแก้ไขครบถ้วน)
  • สร้างบนพื้นฐานของระบบนิเวศ React
  • ใช้มาร์กอัป XML สำหรับการกำหนดคอมโพเนนต์
  • รองรับการผูกข้อมูลและการอัปเดตแบบ reactive
  • รวมความสามารถด้านธีมและการจัดรูปแบบ

มรดกของ Visual Basic

บางทีแง่มุมที่น่าสนใจที่สุดของการอภิปราย XMLUI คือวิธีที่มันได้จุดประกายการสนทนาเกี่ยวกับแนวทางของ Visual Basic ต่อการพัฒนาแอปพลิเคชันอย่างรวดเร็วขึ้นมาใหม่ นักพัฒนาหลายคนที่เริ่มอาชีพด้วย VB จำได้ว่าพวกเขาสามารถสร้างแอปพลิเคชันที่ใช้งานได้อย่างรวดเร็วด้วยส่วนติดต่อแบบลากและวางและการจัดการเหตุการณ์ที่เรียบง่าย

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

ในขณะที่ XMLUI อาจไม่ปฏิวัติการพัฒนาเว็บ แต่มันได้ประสบความสำเร็จในการจุดประกายการสนทนาที่สำคัญเกี่ยวกับความสมดุลระหว่างพลังและความเรียบง่ายในเครื่องมือนักพัฒนา การที่มันจะได้รับแรงผลักดันหรือไม่น่าจะขึ้นอยู่กับความสามารถในการส่งมอบสัญญาหลัก: ทำให้การพัฒนาเว็บเข้าถึงได้โดยไม่เสียสละความสามารถที่แอปพลิเคชันสมัยใหม่ต้องการ

อ้างอิง: Introducing XMLUI