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