Qt 6.0 เวอร์ชันอัลฟ่าพร้อมใช้งานแล้ว

บริษัทคิวที ประกาศ เกี่ยวกับการแปลกระทู้ Qt 6 สู่ขั้นตอนการทดสอบอัลฟ่า Qt 6 มีการเปลี่ยนแปลงทางสถาปัตยกรรมที่สำคัญ และต้องใช้คอมไพเลอร์ที่รองรับมาตรฐาน C++17 ในการสร้าง ปล่อย วางแผนไว้ ณ วันที่ 1 ธันวาคม 2020

สำคัญ คุณสมบัติ ข้อ 6:

  • API กราฟิกที่เป็นนามธรรมซึ่งไม่ขึ้นอยู่กับ 3D API ของระบบปฏิบัติการ องค์ประกอบสำคัญของกลุ่มกราฟิก Qt ใหม่คือกลไกการเรนเดอร์ฉาก ซึ่งใช้เลเยอร์ RHI (Rendering Hardware Interface) เพื่อขับเคลื่อนแอปพลิเคชัน Qt Quick ไม่เพียงแต่กับ OpenGL เท่านั้น แต่ยังรวมถึง Vulkan, Metal และ Direct 3D APIs ด้วย
  • โมดูล Qt Quick 3D พร้อม API สำหรับการสร้างอินเทอร์เฟซผู้ใช้โดยใช้ Qt Quick ซึ่งรวมองค์ประกอบกราฟิก 2D และ 3D Qt Quick 3D ช่วยให้คุณใช้ QML เพื่อกำหนดองค์ประกอบอินเทอร์เฟซ 3D โดยไม่ต้องใช้รูปแบบ UIP ใน Qt Quick 3D คุณสามารถใช้หนึ่งรันไทม์ (Qt Quick) หนึ่งเค้าโครงฉากและหนึ่งเฟรมเวิร์กแอนิเมชั่นสำหรับ 2D และ 3D และใช้ Qt Design Studio สำหรับการพัฒนาอินเทอร์เฟซภาพ โมดูลนี้แก้ปัญหาต่างๆ เช่น โอเวอร์เฮดขนาดใหญ่เมื่อรวม QML เข้ากับเนื้อหาจาก Qt 3D หรือ 3D Studio และให้ความสามารถในการซิงโครไนซ์ภาพเคลื่อนไหวและการแปลงในระดับเฟรมระหว่าง 2D และ 3D
  • การปรับโครงสร้างฐานรหัสให้เป็นส่วนประกอบที่เล็กลงและลดขนาดของผลิตภัณฑ์ฐาน เครื่องมือสำหรับนักพัฒนาและส่วนประกอบพิเศษจะมีให้เป็นส่วนเสริมที่เผยแพร่ผ่านร้านค้าแค็ตตาล็อก ตลาด Qt.
  • ความทันสมัยที่สำคัญของ QML:
    • รองรับการพิมพ์ที่แข็งแกร่ง
    • ความสามารถในการคอมไพล์ QML เป็นการแทนค่า C++ และรหัสเครื่อง
    • การทำให้ตัวเลือกรองรับ JavaScript แบบเต็ม (การใช้เอ็นจิ้น JavaScript ที่มีคุณสมบัติครบถ้วนต้องใช้ทรัพยากรจำนวนมาก ซึ่งป้องกันการใช้ QML บนอุปกรณ์ เช่น ไมโครคอนโทรลเลอร์)
    • การปฏิเสธการกำหนดเวอร์ชันใน QML
    • การรวมโครงสร้างข้อมูลที่ทำซ้ำใน QObject และ QML (จะลดการใช้หน่วยความจำและเพิ่มความเร็วในการเริ่มต้น)
    • ย้ายออกจากการสร้างโครงสร้างข้อมูลแบบรันไทม์และหันไปใช้การสร้างเวลาคอมไพล์
    • การซ่อนส่วนประกอบภายในโดยใช้วิธีการและคุณสมบัติส่วนตัว
    • ปรับปรุงการบูรณาการกับเครื่องมือการพัฒนาสำหรับการปรับโครงสร้างใหม่และวินิจฉัยข้อผิดพลาดเวลาคอมไพล์
  • การเพิ่มเครื่องมือเพื่อประมวลผลเนื้อหาที่เกี่ยวข้องกับกราฟิก ณ เวลารวบรวม เช่น การแปลงภาพ PNG ให้เป็นพื้นผิวที่ถูกบีบอัด หรือการแปลงเชเดอร์และเมชเป็นรูปแบบไบนารี่ที่ปรับให้เหมาะสมสำหรับฮาร์ดแวร์เฉพาะ
  • การฝังเอ็นจิ้นแบบครบวงจรสำหรับธีมและสไตล์ ช่วยให้คุณได้รูปลักษณ์ของแอพพลิเคชั่นที่ใช้ Qt Widgets และ Qt Quick ซึ่งมาจากแพลตฟอร์มมือถือและเดสก์ท็อปที่แตกต่างกัน
  • มีการตัดสินใจที่จะใช้ CMake แทน QMake เป็นระบบบิลด์ การสนับสนุนสำหรับการสร้างแอปพลิเคชันโดยใช้ QMake จะยังคงอยู่ แต่ Qt นั้นจะถูกสร้างขึ้นโดยใช้ CMake เลือก CMake เนื่องจากชุดเครื่องมือนี้ใช้กันอย่างแพร่หลายในหมู่นักพัฒนาโครงการ C++ และได้รับการสนับสนุนในสภาพแวดล้อมการพัฒนาแบบรวมจำนวนมาก การพัฒนาระบบประกอบ Qbs ซึ่งอ้างว่าทดแทน QMake อย่างต่อเนื่อง ชุมชน.
  • เปลี่ยนไปใช้มาตรฐาน C++17 ในระหว่างการพัฒนา (ก่อนหน้านี้ใช้ C++98) Qt 6 วางแผนที่จะใช้การสนับสนุนสำหรับคุณสมบัติ C ++ ที่ทันสมัยมากมาย แต่ไม่สูญเสียความเข้ากันได้แบบย้อนหลังกับโค้ดตามมาตรฐานที่ผ่านมา
  • ความสามารถในการใช้ฟังก์ชันบางอย่างที่มีให้สำหรับ QML และ Qt Quick ในโค้ด C++ รวมถึงระบบคุณสมบัติใหม่สำหรับ QObject และคลาสที่คล้ายกันจะถูกนำเสนอ จาก QML กลไกสำหรับการทำงานกับการเชื่อมโยงจะถูกรวมเข้ากับแกน Qt ซึ่งจะลดการใช้โหลดและหน่วยความจำสำหรับการเชื่อมโยง และทำให้พร้อมใช้งานในทุกส่วนของ Qt ไม่ใช่แค่ Qt Quick
  • ขยายการรองรับภาษาเพิ่มเติม เช่น Python และ WebAssembly
  • ที่มา: opennet.ru

เพิ่มความคิดเห็น