بعد ذلك، ستستخدم إعادة كتابة Bottles to Rust libcosmic

زجاجات الشعار التالي

الكثير تم الكشف عن مطوري الزجاجات قبل أيام قليلة، من خلال منشور بالمدونة تفاصيل حول العمل الذي سيقومون به في Bottles Next، مبادرة تهدف إلى إعادة تصميم البنية وقاعدة التعليمات البرمجية للمشروع بالكامل.

في البيان أذكر أن الإصدار الحالي من الزجاجات، مكتوبة بلغة بايثون مع واجهة تعتمد على GTK، يواجه قيودًا كبيرة مما يجعل من الصعب دمج وظائف جديدة، مثل دعم نظام التشغيل macOS، ويثير مشكلات لا يمكن حلها إلا من خلال التغيير الهيكلي العميق.

منذ أكثر من عام، أعلنا عن برنامج Bottles Next، وهو إعادة كتابة كاملة لمشروع الزجاجات. في البداية، كانت الفكرة هي الاستفادة من تقنيات الويب لتحقيق التجربة التي تصورناها لمستخدمينا. ومع ذلك، كما هو الحال في كثير من الأحيان، كانت هناك أبحاث واسعة النطاق، ومناقشات، وتجارب، وإعادة تقييم مستمرة.

لماذا تمر بكل هذه المشاكل؟ حسنًا، للتأكد من أننا نتخذ القرارات الصحيحة.

بعد الإعلان، بدأنا بتجربة العديد من التقنيات، ولكن قبل كل شيء، استمعنا إلى تعليقات المجتمع، وخاصة تلك المتعلقة بالإلكترون. دفعنا هذا إلى استكشاف مسارات أخرى، مما دفعنا إلى إنشاء نماذج أولية لإطار عمل تتكيف مع الاحتياجات المحددة لشركة Bottles Next.

وها نحن اليوم.

ولهذا السبب يقسم النهج الجديد التطبيق إلى ثلاثة مكونات الرئيسية:

  • العميل: المسؤول عن الواجهة الرسومية
  • الخادم: المسؤول عن منطق تشغيل التطبيقات وإدارة بادئات Wine
  • الوكيل: الذي يعمل داخل Wine للتفاعل مباشرة مع Windows API.

على الرغم منوفي البداية تم التفكير في تنفيذ العميل باستخدام تقنيات الويب مثل Electron وVueJS، وتطوير الخادم في Go، رد فعل المجتمع والنتائج تم الحصول عليها مع النماذج الأولية دفع المطورين إلى التخلي عن هذه الفكرة.

ولهذا السبب، تقرر في النهاية استخدام الصدأ لكل من العميل والخادم، في حين ستعتمد الواجهة الرسومية على إطار العمل libcosmic. يعد إطار العمل هذا، المستخدم في بيئة سطح المكتب COSMIC، امتدادًا للمكتبة مثلجمما يجعل من السهل إنشاء واجهات رسومية حديثة وقابلة للتطوير. تتبنى Libcosmic نموذج برمجة تفاعلي ويتبع بنية مشابهة لتلك الخاصة باللغة التعريفية Elm، مما يسهل فهمها للمطورين المطلعين على هذا النهج.

زجاجات-التالي-الصدأ

رغم أن يفضل المطورون العمل باستخدام لغة Go، لقد اختاروا في النهاية استخدام Rust نظرًا لمحدودية توفر الأدوات عالية الجودة لتطوير الواجهات الرسومية في Go. وعلى الرغم من هذا التحول، تتضمن البنية الجديدة أيضًا خططًا للاحتفاظ بالإصدار الكلاسيكي للواجهة كخيار، مما يوفر للمستخدمين تجربة مألوفة مع التكيف مع المعايير والتقنيات الجديدة.

من حيث التقديم ، الزجاجات التاليه سيكون متوافقًا مع محركات مثل Vulkan وMetal وDX12 وOpenGL 2.1+ وOpenGL ES 2.0+، ضمان القدرة على التكيف على نطاق واسع مع الأنظمة والأجهزة المختلفة. تعد عملية إعادة التصميم هذه بتقديم أداء أعلى، وتوسيع نطاق التوافق عبر الأنظمة الأساسية، وتوفير أساس أكثر قوة لتطوير الزجاجات في المستقبل.

يؤثر هذا التحديث على كل من Bottles Legacy (الإصدار الحالي من Bottles) وBottles Next. سيتم الانتهاء من الإصدار الأول من cpak في الأسابيع المقبلة. وهو عبارة عن تنسيق توزيع برامج محمول وغير مكرر يعتمد بالكامل على صور OCI.

ويذكر ذلك أيضا زجاجات الوكيل التالي, التي تعمل ضمن بيئة Windows التي تم إنشاؤها بواسطة Wine، سيتم كتابته بلغة C# باستخدام .NET. يستجيب هذا الاختيار للاحتياجات المحددة لخدمة WineBridge، والتي تتطلب تكاملًا فعالاً مع Windows API في بيئة تمت محاكاتها.

وفيما يتعلق بالتنمية، se إسبيرا أنه سيتم نشره في غضون أسابيع قليلة حاوية لاختبار النموذج الأولي لـ Bottles Next، مكتوب بالكامل في الصدأ. في الوقت الحالي، لا تتوفر سوى نسخة تجريبية أساسية، مما يسمح للمستخدمين بالحصول على فكرة أولية عن إمكانيات المشروع واتجاهه. يعد هذا الانتقال إلى Bottles Next بتحسينات كبيرة في الوظائف والتوافق والأداء.

وأخيرا، إذا كنت مهتمًا بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.