منصوبے کے بارے میں
Druid ایک تجرباتی Rust-native UI ٹول کٹ تھی جسے Linebender نے تیار کیا تھا، جسے پالش شدہ ڈیسک ٹاپ ایپلی کیشنز بنانے کے لیے ڈیٹا فرسٹ اپروچ کے ساتھ ڈیزائن کیا گیا تھا۔ اس پروجیکٹ کا مقصد کارکردگی، بھرپور تعاملات، اور مقامی پلیٹ فارم انٹیگریشن پر زور دیتے ہوئے تمام عام پلیٹ فارمز پر ایک ہموار صارف تجربہ فراہم کرنا تھا۔
یہ ٹول کٹ اب باضابطہ طور پر بند اور غیر برقرار شدہ ہے۔ نئی ترقیاتی کوششیں Xilem پر منتقل ہو گئی ہیں، جو Druid سے بہت کچھ ورثے میں لیتی ہے لیکن بہتر کارکردگی اور وسیع تر ایپلی کیشن سپورٹ کے لیے بنیادی تبدیلیاں متعارف کراتی ہے۔ اگرچہ Druid کچھ ایپلی کیشنز کے لیے اب بھی قابل استعمال ہے اور اس کی ایک اہم ٹیسٹنگ ہسٹری موجود ہے، لیکن اب اس میں کوئی نئی خصوصیات یا بگ فکسز شامل نہیں کیے جائیں گے۔
کلیدی آرکیٹیکچرل اجزاء میں شامل ہیں:
- druid-shell: ایک پلیٹ فارم ایبسٹریکٹنگ ایپلی کیشن شیل جو مقامی پلیٹ فارم رن لوپس شروع کرنے، ایونٹس سننے، اور انہیں پلیٹ فارم سے آزاد نمائندگی میں تبدیل کرنے کا ذمہ دار ہے۔
- Piet: ایک 2D گرافکس ایبسٹریکشن لائبریری جس میں متعدد بیک اینڈز (Windows کے لیے Direct2D، macOS کے لیے CoreGraphics، Linux کے لیے Cairo، اور ویب ٹارگٹس کے لیے Web) شامل ہیں جو ڈرائنگ اور ٹیکسٹ لے آؤٹ کے لیے استعمال ہوتے ہیں۔
- ویجیٹ سسٹم: ویجیٹس ایک ڈیٹا ٹائپ کے ذریعے پیرامیٹرائزڈ Widget ٹریٹ کو نافذ کرتے ہیں، جس میں ایونٹ ہینڈلنگ، لائف سائیکل مینجمنٹ، اپ ڈیٹس، لے آؤٹ، اور پینٹنگ کے طریقے شامل ہیں۔ ہر طریقہ کار ایک متعلقہ سیاق و سباق کا آبجیکٹ اور تھیم پیرامیٹرز پر مشتمل ماحول حاصل کرتا ہے۔
- لے آؤٹ: Flutter کے باکس لے آؤٹ ماڈل سے متاثر ہو کر، ویجیٹس BoxConstraints حاصل کرتے ہیں جو کم از کم اور زیادہ سے زیادہ سائز فراہم کرتے ہیں۔
- Data ٹریٹ: ان ویلیو ٹائپس کی نمائندگی کرتا ہے جن کا موازنہ اور کلون کرنا سستا ہے، جو عام طور پر ایپلی کیشن اسٹیٹ اسٹرکچرز کے لیے اخذ کیے جاتے ہیں۔
- Lens: بڑے ڈیٹا اسٹرکچرز کے حصوں تک رسائی فراہم کرتا ہے، جس سے ویجیٹس کو ایپلی کیشن اسٹیٹ کے مخصوص فیلڈز کے ساتھ کام کرنے کے قابل بناتا ہے۔
Druid crates.io پر دستیاب تھی اور macOS، Linux (GTK+3 درکار)، Windows، اور OpenBSD کو سپورٹ کرتی تھی۔ پروجیکٹ نے بنیادی یوٹیلیٹی اور لے آؤٹ ویجیٹس فراہم کیے، جس میں کسٹم ویجیٹس بنانے کی صلاحیت بھی شامل تھی۔ ٹول کٹ کا مقصد آسان تعمیر اور پیکیجنگ، پلیٹ فارم کنونشنز کا احترام، قابل اعتماد ڈسپلے اسکیلنگ، بین الاقوامی کاری کی حمایت، رسائی، چھوٹی اور تیز بائنریز، اور ایک چھوٹا انحصار ٹری تھا۔
غیر اہداف میں مقامی پلیٹ فارم ویجیٹس کا استعمال، کسٹم رینڈر پائپ لائنز میں ایمبیڈنگ، Elm جیسے مخصوص آرکیٹیکچرل اسٹائلز کی پیروی، اور ویب ٹارگٹس کے لیے HTML رینڈرنگ کی حمایت شامل نہیں تھی۔ ان استعمال کے معاملات کے لیے متبادل میں Relm، Slint، Conrod، Iced، اور Moxie شامل تھے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.