أطر عمل KDE

أطر عمل KDE
المؤلف(ون) الأصلي(ون)كيدي
المطور(ون)كيدي
الإصدار الأولي1 يوليو 2014 ؛ منذ 10 سنوات ( 2014-07-01 )
إصدار مستقر
6.5.0 [1]  / 9 أغسطس 2024 ؛ منذ شهرين ( 9 أغسطس 2024 )
مستودع
  • اخترع.kde.org/frameworks
مكتوب فيسي++ ( كيو تي )
نظام التشغيلمتعدد المنصات (بما في ذلك الدعم "الجزئي" لنظام Android ، [2] [3] Windows ، [4] macOS و Haiku )
يكتب
رخصةرخصة جنو العمومية الصغرى (LGPL) [5]
موقع إلكترونيapi.kde.org/frameworks/index.html 

KDE Frameworks هي مجموعة من المكتبات وأطر العمل البرمجية المتاحة بسهولة لأي مجموعات برمجية أو تطبيقات تعتمد على Qt على أنظمة تشغيل متعددة . [6] تتميز المجموعة بحلول وظيفية مطلوبة بشكل متكرر مثل تكامل الأجهزة ودعم تنسيق الملفات وعناصر التحكم الرسومية الإضافية ووظائف الرسم البياني والتحقق الإملائي ، وهي بمثابة الأساس التكنولوجي لـ KDE Plasma و KDE Gear . يتم توزيعها بموجب رخصة جنو العمومية الصغرى (LGPL). [7]

ملخص

تعتمد أطر عمل KDE على Qt، مما يتيح استخدامًا أكثر انتشارًا لـ QML ، وهي لغة برمجة إعلانية أبسط تعتمد على JavaScript ، لتصميم واجهات المستخدم. يسمح محرك عرض الرسومات الذي يستخدمه QML بواجهات مستخدم أكثر سلاسة عبر أجهزة مختلفة. [8]

تم نقل بعض أكواد المصدر من كونها جزءًا من KDE Frameworks 5 إلى كونها جزءًا من Qt 5.2 والإصدارات الأحدث.

منذ تقسيم مجموعة برامج KDE إلى KDE Frameworks 5 و KDE Plasma 5 و KDE Applications ، يمكن لكل مشروع فرعي اختيار وتيرة التطوير الخاصة به. يتم إصدار KDE Frameworks على أساس شهري [9] وتستخدم Git . [10] [11]

يجب أن يكون من الممكن تثبيت إطارات عمل KDE جنبًا إلى جنب مع منصة KDE 4 حتى تتمكن التطبيقات من استخدام أي منهما. [12]

استقرار واجهة برمجة التطبيقات (API) وواجهة ABI

إصدارات المنصة هي تلك التي تبدأ سلسلة (رقم الإصدار X.0). فقط هذه الإصدارات الرئيسية مسموح لها بكسر التوافق الثنائي مع الإصدار السابق. الإصدارات في السلسلة الثانوية (X.1، X.2، ...) ستضمن قابلية النقل الثنائي ( API & ABI ). هذا يعني، على سبيل المثال، أن البرامج التي تم تطويرها لـ KDE 3.0 ستعمل على جميع إصدارات KDE 3 (المستقبلية)؛ ومع ذلك، لا يُضمن أن يكون التطبيق المطوَّر لـ KDE 2 قادرًا على الاستفادة من مكتبات KDE 3. تتبع أرقام الإصدارات الرئيسية لـ KDE بشكل أساسي دورة إصدار Qt، مما يعني أن KDE SC 4 يعتمد على Qt 4، بينما كان KDE 3 يعتمد على Qt 3.

أنظمة التشغيل المدعومة

يجب أن يحتوي مستودع كل إطار عمل على ملف يسمى metainfo.yaml . [13] يوثق هذا الملف مُصان الإطار ونوعه ونظام التشغيل المدعوم وغير ذلك من المعلومات. الأنظمة الأساسية المدعومة حاليًا هي Linux وMicrosoft Windows وmacOS وAndroid.

هندسة البرمجيات

بناء

تتمتع الأطر ببنية تبعية واضحة، مقسمة إلى "فئات" و"مستويات". تشير "الفئات" إلى التبعيات وقت التشغيل:

  • العناصر الوظيفية ليس لها أي تبعيات وقت التشغيل.
  • يشير التكامل إلى الكود الذي قد يتطلب تبعيات وقت التشغيل للتكامل اعتمادًا على ما يقدمه نظام التشغيل أو المنصة.
  • الحلول لها تبعيات وقت التشغيل الإلزامية.

عناصر

تتكون مجموعة أطر عمل KDE من أكثر من 70 حزمة. كانت هذه الحزمة موجودة كحزمة كبيرة واحدة، تسمى kdelibs، في KDE SC 4. تم تقسيم Kdelibs إلى عدة أطر عمل فردية، بعضها لم يعد جزءًا من KDE ولكن تم دمجه في Qt 5.2. [14]

يتم تجميع أطر عمل KDE في أربع طبقات مختلفة وفقًا للاعتماد على المكتبات الأخرى. [15] [16]

مستويات الأطر
المستوى 1 - يعتمد في الغالب على Qt فقط ، وهو محمول للغاية
المستوى 2 - يعتمد على المستوى 1، ولكن التبعيات لا تزال قابلة للإدارة.
المستوى 3 - التبعيات المعقدة، بما في ذلك المستويين 1 و2 وما إلى ذلك.
المستوى 4 - يمكن تجاهل معظم المكونات الإضافية التي توفر ميزات إضافية مثل دعم النظام الأساسي.

كيريغامي

Kirigami هو إطار عمل لتطبيق QML [18] تم تطويره بواسطة Marco Martin [19] والذي يتيح للمطورين كتابة تطبيقات تعمل بشكل أصلي على Android وiOS وWindows وPlasma Mobile وأي بيئة سطح مكتب Linux كلاسيكية دون تعديلات على الكود.

يتم استخدامه بواسطة تطبيقات مختلفة، على سبيل المثال تطبيق الغوص Subsurface الخاص بـ Linus Torvalds وDirk Hohndels، وعميل المراسلة Banji، [20] ورسول Kaidan، [21] ومشغل الموسيقى Vvave ومركز برامج KDE Discover.

حزم البرمجيات

تستخدم توزيعات لينكس بعض أنظمة إدارة الحزم لتعبئة البرامج التي توزعها. على سبيل المثال، توزع ديبيان KGlobalAccel تحت اسم الحزمة libkf5globalaccel ، [22] بينما توزعها فيدورا لينكس تحت اسم kf5-kglobalaccel . [23]

الارتباطات

على الرغم من كتابتها بشكل أساسي بلغة C++، إلا أن هناك العديد من الارتباطات للغات البرمجة الأخرى المتاحة: [24] [25]

  • بايثون
  • روبي ( كوروندوم ، مبني على QtRuby )
  • بيرل
  • C# (ومع ذلك، فإن الإطار الحالي للربط مع C# ولغات .NET الأخرى أصبح قديمًا، ويتم تجميع البديل فقط على Windows). [26]

تستخدم هذه الارتباطات وغيرها التقنيات التالية:

لم يتم تحديث العديد من الارتباطات إلى Qt5 وKF5 أو تم تحديثها فقط في وقت لاحق من دورة الإصدار.

تاريخ

سبق إصدار 5.0 معاينة تقنية وإصداران تجريبيان وثلاثة إصدارات تجريبية. [27] [28] [29]

كان الكود المصدر لإطارات عمل KDE موجودًا منذ KDElibs 1. وكان أول إصدار لإطارات عمل KDE مع الإصدار 5، وذلك لمراعاة حقيقة أن قاعدة الكود كانت لإصدار KDE Platform 4 (الإصدار الرئيسي الوحيد لمنصة KDE ).

بدأ التحول من منصة KDE إلى أطر عمل KDE في أغسطس 2013، تحت إشراف كبار المساهمين التقنيين في KDE. [8]

بعد الإصدار الأولي لـ KDE Frameworks 5.0، ركز المطورون على إضافة ميزات جديدة إلى المكونات في KDE Frameworks 5، [30] ومن الأمثلة على ذلك التكامل الأفضل لمتصفح Firefox في KDE. [31]

التحسين الرئيسي في Frameworks 5 هو إمكانية تقسيمه إلى وحدات. في إصدارات KDE السابقة، تم تجميع المكتبات كحزمة كبيرة واحدة. في Frameworks، تم تقسيم المكتبات إلى حزم أصغر فردية. هذا يسهل استخدام المكتبات بواسطة برامج أخرى تعتمد على Qt، حيث يمكن إبقاء التبعيات عند الحد الأدنى. [8]

في حين أن KDE 4 كان يعتمد على الإصدار 4 من مجموعة أدوات Qt ، فإن Frameworks 5 يعتمد على الإصدار 5.

كجزء من مشروع KDE "MegaRelease 6"، في 28 فبراير 2024، تم إصدار KDE Frameworks 6، مما أدى إلى ترقيته إلى قاعدة Qt 6. [32]

تحويل KDE4

خلال KDE SC 4، كانت منصة KDE تتألف من جميع المكتبات والخدمات اللازمة لـ KDE Plasma والتطبيقات. بدءًا من Qt 5، تم تحويل هذه المنصة إلى مجموعة من الوحدات النمطية التي يشار إليها الآن باسم KDE Frameworks. تتضمن هذه الوحدات النمطية: Solid و Nepomuk و Phonon وما إلى ذلك، وهي مرخصة إما بموجب ترخيص LGPL أو ترخيص BSD أو ترخيص MIT أو ترخيص X11. [33]

التبني

بالإضافة إلى تجميع برامج KDE ، هناك مستخدمون آخرون مثل بيئات سطح المكتب LXQt ، أو MoonLightDE، أو Hawaii.

تعتمد النسخة 3.0 من Krita ، محرر الرسومات النقطية لمجموعة Calligra Suite ، والتي تم إصدارها في 31 مايو 2016، على KDE Frameworks 5 وQt 5.2.

مع Kirigami، هناك أيضًا زيادة في الاستخدام بواسطة تطبيقات مثل Amarok أو Avogadro أو Trojitá أو Subsurface .

مراجع

  1. ^ "KDE Ships Frameworks 6.5.0". 9 أغسطس 2024. تم الاسترجاع في 20 أغسطس 2024 .
  2. ^ "إصدار KDE Frameworks 5.24.0". 9 يوليو 2016. مؤرشف من الأصل في 11 يوليو 2016. اطلع عليه بتاريخ 10 يوليو 2016 .
  3. ^ "Android - KDE Community Wiki". مؤرشف من الأصل في 2016-08-26 . تم استرجاعه في 2016-07-11 .
  4. ^ "KDE API Homepage". مؤرشف من الأصل في 2016-08-26 . تم الاسترجاع 2016-07-11 .
  5. ^ "الإصدار الأول من KDE Frameworks 5". 2014-07-07. مؤرشف من الأصل في 2015-09-05 . تم الاسترجاع 2014-07-08 .
  6. ^ "أطر عمل KDE". وثائق واجهة برمجة التطبيقات . مؤرشف من الأصل في 2019-12-07 . تم الاسترجاع في 2020-03-17 .
  7. ^ "أطر عمل KDE". Tech Base . مؤرشف من الأصل في 2020-08-13 . تم الاسترجاع 2020-03-17 .
  8. ^ abc Howard Chan (2013-09-04). "KDE Release Structure Evolves". KDE. مؤرشف من الأصل في 2020-11-12 . تم الاسترجاع في 2014-02-27 .
  9. ^ "جدول إصدار KDE Frameworks 5". مؤرشف من الأصل في 2016-06-24 . تم الاسترجاع في 2016-05-18 .
  10. ^ "سير عمل Git للأطر". مؤرشف من الأصل في 2020-10-20 . تم الاسترجاع 2014-08-19 .
  11. ^ "KDE Frameworks5 API documentation". مؤرشف من الأصل في 2014-08-22.
  12. ^ "إمكانية التثبيت المشترك مع KDE Platform 4". مؤرشف من الأصل في 2020-12-01 . تم الاسترجاع في 2014-08-19 .
  13. ^ "metainfo.yaml من KConfig".[ رابط ميت دائم ]
  14. ^ Jos Poortvliet (2013-12-17). "Qt 5.2 - Foundation for KDE Frameworks 5". Dot.kde.org. مؤرشف من الأصل في 2020-11-11 . تم الاسترجاع في 2014-03-10 .
  15. ^ Howard Chan (2013-09-25). "Frameworks 5". Dot.kde.org. مؤرشف من الأصل في 2020-11-26 . تم الاسترجاع 2014-03-10 .
  16. ^ "API Documentation". api.kde.org . مؤرشف من الأصل في 2021-10-02 . تم الاسترجاع 2021-10-02 .
  17. ^ "KWindowSystem in Frameworks 5". 6 فبراير 2014. مؤرشف من الأصل في 28 يوليو 2014. اطلع عليه بتاريخ 25 يوليو 2014 .
  18. ^ “كيدي كيريجامي”. كيدي. أرشفة من الإصدار الأصلي في 29 تموز 2019 . تم الاسترجاع في 25 نوفمبر 2018 .
  19. ^ "المساهمون في KDE/Kirigami". GitHub . مؤرشف من الأصل في 2019-04-30 . تم الاسترجاع في 2021-08-08 .
  20. ^ محفوظ في Ghostarchive وWayback Machine: "Banji (Ring-KDE) جلد جديد على سطح المكتب Linux وAndroid". YouTube .
  21. ^ "Kaidan - عميل XMPP سهل الاستخدام لكل جهاز!". GitHub . 4 يوليو 2021. مؤرشف من الأصل في 26 أبريل 2019 . تم الاسترجاع 8 أغسطس 2021 .
  22. ^ "KGlobalAccel في Debian". مؤرشف من الأصل في 2016-09-20 . تم الاسترجاع في 11 سبتمبر 2016 .
  23. ^ "KGlobalAccel في Fedora".[ رابط ميت دائم ]
  24. ^ "منصة تطوير KDE". مؤرشف من الأصل في 2018-10-03 . تم الاسترجاع 2010-11-26 .
  25. ^ Development/Languages ​​- KDE TechBase Archived 2021-02-03 at the Wayback Machine . Techbase.kde.org (2012-07-12). تم الاسترجاع في 2013-07-17.
  26. ^ "Qyoto". مؤرشف من الأصل في 2020-11-27 . تم الاسترجاع 2015-01-18 .
  27. ^ "Frameworks 5 Technology Preview". KDE. 2014-01-07. مؤرشف من الأصل في 2014-02-26 . تم الاسترجاع في 2014-02-27 .
  28. ^ "KDE تطلق أول نسخة ألفا من Frameworks 5". KDE. 2014-02-14. مؤرشف من الأصل في 2014-03-01 . تم الاسترجاع في 2014-02-27 .
  29. ^ "KDE Ships Second Alpha of Frameworks 5". KDE. 2014-03-03. مؤرشف من الأصل في 2014-03-09 . تم الاسترجاع 2014-03-04 .
  30. ^ "KF5 Update Meeting Minutes 2014-w28". 2014-07-08. مؤرشف من الأصل في 2016-03-07 . تم الاسترجاع في 2014-07-10 .
  31. ^ "دمج Firefox + KDE: جعل FF يستخدم Dolphin بشكل موثوق". 2014-07-03. مؤرشف من الأصل في 2018-05-15 . تم الاسترجاع 2014-07-10 .
  32. ^ “إعلان KDE MegaRelease 6”. 2024-02-28 . تم الاسترجاع 2024-03-20 .
  33. ^ "سياسة ترخيص KDE". مؤرشف من الأصل في 2010-12-16 . تم الاسترجاع في 2010-11-06 .
  • أطر عمل KDE في مثيل Gitlab الخاص بـ KDE
  • أطر عمل KDE في Phabricator القديم
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=KDE_Frameworks&oldid=1233713268#Components"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate