Qt 6 فعالیت کا روڈ میپ شائع ہوا۔

لارس نول، KHTML انجن کے خالق، Qt پروجیکٹ کے پروجیکٹ مینیجر اور Qt کمپنی کے تکنیکی ڈائریکٹر، بتایا Qt فریم ورک کی اگلی اہم شاخ بنانے کے منصوبوں کے بارے میں۔ Qt 5.14 برانچ کی فعالیت مکمل ہونے کے بعد، ترقی Qt 6 کے اجراء کی تیاری پر توجہ مرکوز کرے گی، جو 2020 کے آخر میں متوقع ہے۔

Qt 6 کو Qt 5 کے ساتھ مطابقت کو یقینی بنانے کے لیے تیار کیا جائے گا، لیکن انفرادی مسائل پیدا ہو سکتے ہیں، کیونکہ منصوبہ بند تعمیراتی تبدیلیاں اور صفائی کو ایک خاص سطح کی مطابقت کھونے کے بغیر نافذ کرنا ممکن نہیں ہوگا۔ منتقلی کو ہموار کرنے کے لیے، Qt 6 کی کچھ خصوصیات کو Qt 5.14 اور Qt 5.15 LTS ریلیز کے حصے کے طور پر کم شکل میں شامل کرنے کا منصوبہ ہے۔ ٹول کٹ کو Qt 6 میں منتقلی کو آسان بنانے کے لیے بھی تیار کیا جائے گا۔

اگلی اہم شاخ کے اہم اہداف میں فعالیت کو 2020 کے تقاضوں کے مطابق لانا، کوڈ بیس کی صفائی اور پروجیکٹ کی دیکھ بھال کو آسان بنانا ہے۔ متوقع تبدیلیاں:

  • QML کی اہم جدید کاری:
    • مضبوط ٹائپنگ سپورٹ۔
    • QML کو C++ نمائندگی اور مشین کوڈ میں مرتب کرنے کی صلاحیت۔
    • مکمل JavaScript سپورٹ کو ایک آپشن بنانے کے لیے (مکمل خصوصیات والے JavaScript انجن کو استعمال کرنے کے لیے بہت سارے وسائل کی ضرورت ہوتی ہے، جو کہ مائکروکنٹرولرز جیسے آلات پر QML کے استعمال کو روکتا ہے)۔
    • QML میں ورژن بنانے سے انکار۔
    • QObject اور QML میں ڈپلیکیٹ کردہ ڈیٹا ڈھانچے کا اتحاد (میموری کی کھپت کو کم کرے گا اور اسٹارٹ اپ کو تیز کرے گا)۔
    • کمپائل ٹائم جنریشن کے حق میں ڈیٹا ڈھانچے کی رن ٹائم جنریشن سے ہٹنا۔
    • نجی طریقوں اور خصوصیات کے استعمال کے ذریعے اندرونی اجزاء کو چھپانا۔
    • ری فیکٹرنگ اور کمپائل ٹائم غلطی کی تشخیص کے لیے ترقیاتی ٹولز کے ساتھ بہتر انضمام؛
  • ایک نئی تجریدی پرت کا اضافہ کرنا، رینڈرنگ ہارڈویئر انٹرفیس (RHI)، مختلف گرافکس APIs بشمول OpenGL، Vulkan، Metal اور Direct 3D کا ہموار استعمال فراہم کرنے کے لیے (پہلے Qt صرف OpenGL تھا)۔ تمام موجودہ رینڈرنگ انفراسٹرکچر کو RHI استعمال کرنے کے لیے تبدیل کر دیا جائے گا، بشمول QPainter، Qt Quick Scenegraph اور Qt3D۔ مختلف شیڈر ڈویلپمنٹ لینگویجز کو سپورٹ کرنے کے لیے کیو ٹی شیڈر ٹولز ماڈیول کو شامل کرنے اور تعمیراتی مرحلے اور رن ٹائم دونوں پر شیڈرز کی کراس کمپلیشن فراہم کرنے کا بھی منصوبہ بنایا گیا ہے۔
  • 2D اور 3D گرافکس عناصر کو یکجا کرنے والے صارف انٹرفیس بنانے کے لیے ایک متحد API کی تیاری۔ نیا API آپ کو UIP فارمیٹ کا استعمال کیے بغیر 3D انٹرفیس عناصر کی وضاحت کے لیے QML استعمال کرنے کی اجازت دے گا۔ Qt Quick کے ساتھ 3D مواد کو ضم کرنے کے لیے نیا انٹرفیس Qt 3D یا 3D اسٹوڈیو کے مواد کے ساتھ QML کو ضم کرنے کے ہائی اوور ہیڈ، اور 2D اور 3D کے درمیان اینیمیشنز اور فریم کی سطح کی تبدیلیوں کو سنکرونائز کرنے میں ناکامی جیسے مسائل کو حل کرنے کا منصوبہ رکھتا ہے۔ مشترکہ نیسٹڈ 2D اور 3D رینڈرنگ کو ایک نئے رینڈرنگ انجن کا استعمال کرتے ہوئے لاگو کیا جائے گا۔ Qt 3 ریلیز میں 5.14D سپورٹ کے ساتھ نئے Qt Quick کا پیش نظارہ متوقع ہے۔
  • گرافکس سے متعلقہ اثاثوں کو مرتب کرنے کے وقت پر کارروائی کرنے کے لیے ٹولز شامل کرنا، جیسے کہ PNG امیجز کو کمپریسڈ ٹیکسچر میں تبدیل کرنا یا شیڈرز اور میشز کو مخصوص ہارڈ ویئر کے لیے بہترین بائنری فارمیٹس میں تبدیل کرنا؛
  • تھیمز اور اسٹائلز کے لیے ایک متحد انجن کو سرایت کرنا، آپ کو Qt وجیٹس اور Qt Quick پر مبنی ایپلی کیشنز کی ظاہری شکل حاصل کرنے کی اجازت دیتا ہے، جو مختلف موبائل اور ڈیسک ٹاپ پلیٹ فارمز کے لیے ہیں۔
  • یوزر انٹرفیس بنانے کے لیے ٹولز کا اتحاد۔ فعالیت کی نقل اور دو الگ الگ پروڈکٹس کی ترسیل کے بند ہونے سے بچنے کے لیے، یہ توقع کی جاتی ہے کہ Qt 3D اسٹوڈیو کی فعالیت کو Qt ڈیزائن اسٹوڈیو میں ضم کر دیا جائے گا، جس کے بہت سے سب سسٹمز اور پلگ ان کو جوڑنے کا فریم ورک اسی کوڈ بیس پر بنایا گیا ہے۔ Qt خالق۔
    Qt ڈیزائن اسٹوڈیو مواد بنانے والے پیکجز جیسے کہ فوٹوشاپ، اسکیچ، السٹریٹر، مایا اور 3D میکس کے ساتھ اعلیٰ معیار کا انضمام فراہم کرنے کا بھی ارادہ رکھتا ہے۔ یونیفائیڈ ڈویلپمنٹ ٹول کٹ میں تعاون یافتہ اہم زبانیں C++، QML اور Python ہیں۔ یونیفیکیشن کا مطلب یہ بھی ہے کہ Qt Creator سے انٹرفیس ڈیزائن ٹولز تک رسائی حاصل کرنے، اور انٹرفیس ڈیزائنرز کو ڈویلپر ٹولز سے صلاحیتیں فراہم کرنے کی صلاحیت، مثال کے طور پر، کسی پروجیکٹ کو مرتب کرنا یا کسی ڈیوائس پر کسی ایپلیکیشن کی جانچ کرنا۔

  • تعمیراتی نظام کے طور پر QMake کے بجائے CMake استعمال کرنے کا فیصلہ کیا گیا۔ 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 جیسی اضافی زبانوں کے لیے تعاون کو بڑھانے کے لیے کام جاری رکھنا؛
  • چھوٹے اجزاء میں تقسیم کرکے اور بنیادی مصنوعات کے سائز کو کم کرکے تنظیم نو۔ ڈویلپر ٹولز اور حسب ضرورت اجزاء نئے کیٹلاگ اسٹور کے ذریعے تقسیم کیے گئے ایڈ آنز کے طور پر فراہم کیے جائیں گے۔ فریق ثالث کے ڈویلپرز کی طرف سے Qt میں اضافے، مفت اور ادا شدہ دونوں، تقسیم کے لیے بھی قبول کیے جائیں گے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں