أطر عمل KDE
هذه المقالة لا تشير إلا إلى المصادر الأولية . ( يوليو 2024 ) |
| المؤلف(ون) الأصلي(ون) | كيدي |
|---|---|
| المطور(ون) | كيدي |
| الإصدار الأولي | 1 يوليو 2014 |
| إصدار مستقر | 6.5.0 [1]
/ 9 أغسطس 2024 |
| مستودع |
|
| مكتوب في | سي++ ( كيو تي ) |
| نظام التشغيل | متعدد المنصات (بما في ذلك الدعم "الجزئي" لنظام 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 إلى 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.
هندسة البرمجيات
هذا القسم يحتاج إلى التحديث . ( أكتوبر 2021 ) |
بناء
تتمتع الأطر ببنية تبعية واضحة، مقسمة إلى "فئات" و"مستويات". تشير "الفئات" إلى التبعيات وقت التشغيل:
- العناصر الوظيفية ليس لها أي تبعيات وقت التشغيل.
- يشير التكامل إلى الكود الذي قد يتطلب تبعيات وقت التشغيل للتكامل اعتمادًا على ما يقدمه نظام التشغيل أو المنصة.
- الحلول لها تبعيات وقت التشغيل الإلزامية.
عناصر
تتكون مجموعة أطر عمل KDE من أكثر من 70 حزمة. كانت هذه الحزمة موجودة كحزمة كبيرة واحدة، تسمى kdelibs، في KDE SC 4. تم تقسيم Kdelibs إلى عدة أطر عمل فردية، بعضها لم يعد جزءًا من KDE ولكن تم دمجه في Qt 5.2. [14]
يتم تجميع أطر عمل KDE في أربع طبقات مختلفة وفقًا للاعتماد على المكتبات الأخرى. [15] [16]
- مستويات الأطر
- المستوى 1 - يعتمد في الغالب على Qt فقط ، وهو محمول للغاية
- المستوى 2 - يعتمد على المستوى 1، ولكن التبعيات لا تزال قابلة للإدارة.
- المستوى 3 - التبعيات المعقدة، بما في ذلك المستويين 1 و2 وما إلى ذلك.
- المستوى 4 - يمكن تجاهل معظم المكونات الإضافية التي توفر ميزات إضافية مثل دعم النظام الأساسي.
| اسم | الطبقة | مستودع جيت | وصف |
|---|---|---|---|
| إطار التكامل | 4 | إطار عمل التكامل.git | إن Framework Integration عبارة عن مجموعة من المكونات الإضافية المسؤولة عن تحسين تكامل تطبيقات Qt عند تشغيلها على مساحة عمل KDE Plasma. ولا تحتاج التطبيقات إلى الارتباط بهذه المجموعة بشكل مباشر. توفر مكتبة KF5Style التكامل مع إعدادات KDE Plasma Workspace لأنماط Qt. استمد نمط Qt الخاص بك من KStyle ليرث تلقائيًا إعدادات مختلفة من مساحة عمل KDE Plasma، مما يوفر تجربة مستخدم متسقة. على سبيل المثال، سيضمن هذا إعداد تنشيط متسق بنقرة واحدة أو نقرتين، واستخدام أيقونات ذات سمات قياسية. |
| الأنشطة | 3 | kactivities.git | المكونات الأساسية لمدير أنشطة KDE. |
| كابيدوكس | 4 | كابيدوكس.جيت | يحتوي هذا الإطار على نصوص وبيانات لبناء وثائق واجهة برمجة التطبيقات (dox) بتنسيق وأسلوب قياسيين. تُستخدم أداة Doxygen لاستخراج الوثائق وتنسيقها فعليًا، ولكن هذا الإطار يوفر نصًا برمجيًا مغلفًا لجعل إنشاء الوثائق أكثر ملاءمة (بما في ذلك قراءة الإعدادات من الإطار المستهدف أو وحدة نمطية أخرى) ونموذجًا قياسيًا للوثائق الناتجة. |
| أرشيف | 1 | karchive.git | فصول للقراءة السهلة وإنشاء ومعالجة تنسيقات "الأرشيف" بما في ذلك zip و tar . |
| كاوث | 2 | كوث.جيت | يوفر طريقة ملائمة ومتكاملة مع النظام لنقل الإجراءات التي يجب تنفيذها كمستخدم مميز إلى أدوات مساعدة صغيرة. |
| العلامات المرجعية | 3 | kbookmarks.git | يتيح لك KBookmarks الوصول إلى الإشارات المرجعية المخزنة باستخدام "تنسيق XBEL" ومعالجتها. الاستخدام الأكثر شيوعًا للإشارات المرجعية هو متصفحات الويب، ولكن يمكن أن يكون هذا مفيدًا أيضًا في أي تطبيق حيث يمكن حفظ الملفات المحلية أو عناوين URL كإشارات مرجعية. |
| KCMUtils | 3 | kcmutils.git | أدوات مساعدة، مثل KSettings، لوحدات إعدادات نظام KDE. توفر KCMUtils فئات مختلفة للعمل مع KCModules. يمكن إنشاء KCModules باستخدام إطار عمل KConfigWidgets. |
| برامج الترميز K | 1 | kcodecs.git | KCodecs هي مكتبة ترميز سلاسل، وهي توفر مجموعة من الطرق للتعامل مع السلاسل باستخدام ترميزات مختلفة. يمكنها تحديد مجموعة أحرف السلسلة تلقائيًا، وترجمة كيانات XML، والتحقق من صحة عناوين البريد الإلكتروني، والعثور على الترميزات حسب الاسم بطريقة أكثر تسامحًا من QTextCodec (مفيدة على سبيل المثال للبيانات القادمة من الإنترنت). |
| كإكمال | 2 | kcompletion.git | إطار عمل لإكمال السلسلة، بما في ذلك تحرير الأسطر وصندوق التحرير المتكامل الممكّن للإكمال. عند كتابة أسماء الملفات وعناوين البريد الإلكتروني والنصوص الأخرى حيث يرغب المستخدم غالبًا في الاختيار من البيانات الموجودة (بما في ذلك ما كتبه سابقًا) بدلاً من إدخال أي شيء أصلي تمامًا، غالبًا ما يجد المستخدمون أنه من المفيد أن يحتاجوا فقط إلى كتابة الأحرف القليلة الأولى، ثم يطلبون من التطبيق تقديم مجموعة من الخيارات لهم أو محاولة إنهاء ما كانوا يكتبونه. غالبًا ما توفر عملاء البريد الإلكتروني والأغلفة ومربعات الحوار "فتح الملف" هذه الوظيفة. يساعد هذا الإطار في تنفيذ ذلك في التطبيقات المستندة إلى Qt. يمكنك استخدام إحدى أدوات واجهة المستخدم الجاهزة للإكمال التي يوفرها هذا الإطار، أو دمجها في أدوات واجهة المستخدم الأخرى الخاصة بتطبيقك مباشرةً. أسهل طريقة للبدء هي استخدام KComboBox أو KHistoryComboBox أو KLineEdit. إذا كنت تريد دمج الإكمال في أجزاء أخرى من واجهة المستخدم، فيمكنك استخدام KCompletion لإدارة وتحديد الإكمالات الممكنة. |
| كيه كونفيج | 1 | kconfig.git | إعدادات تطبيق مستمرة ومستقلة عن النظام الأساسي تتكون من جزأين: KConfigCore وKConfigGui. يوفر KConfigCore إمكانية الوصول إلى ملفات التكوين نفسها، مما يعني أنه يقوم أيضًا بإنشاء التكوين في XML . يوفر KConfigGui طريقة لربط عناصر التحكم الرسومية (الأدوات) بالتكوين بحيث يتم تهيئتها تلقائيًا من التكوين ونشر تغييراتها تلقائيًا إلى ملفات التكوين الخاصة بها. |
| أدوات KConfig | 3 | kconfigwidgets.git | عناصر التحكم الرسومية (الأدوات) لمربعات حوار التكوين. أدوات لمربعات حوار التكوين. توفر KConfigWidgets فئات سهلة الاستخدام لإنشاء مربعات حوار التكوين، بالإضافة إلى مجموعة من الأدوات التي تستخدم KConfig لتخزين إعداداتها. |
| إضافات KCore | 1 | kcoreaddons.git | أدوات مساعدة لوظائف التطبيق الأساسية والوصول إلى نظام التشغيل. مكتبة Qt addon مع مجموعة من الأدوات المساعدة غير الرسومية. توفر KCoreAddons فئات مبنية على QtCore لأداء مهام مختلفة مثل معالجة أنواع MIME وحفظ الملفات تلقائيًا وإنشاء ملفات النسخ الاحتياطي وإنشاء تسلسلات عشوائية وإجراء معالجات نصية مثل استبدال الماكرو والوصول إلى معلومات المستخدم وغير ذلك الكثير. |
| كراش | 2 | كراش.جيت | يوفر الدعم لاعتراض أعطال التطبيق ومعالجتها. |
| إضافات KDBus | 1 | kdbusaddons.git | توفر KDBusAddons فئات DBus مريحة أعلى QtDBus، بالإضافة إلى واجهة برمجة التطبيقات لإنشاء وحدات KDED. |
| إعلاني | 3 | kdeclarative.git | إضافة لـ Qt declarative |
| كديد | 3 | كديد.جيت | KDED تعني KDE Daemon، وهو البرنامج المركزي لمساحات عمل KDE. يعمل KDED في الخلفية ويؤدي عددًا من المهام الصغيرة. بعض هذه المهام مدمجة، والبعض الآخر يتم تشغيله عند الطلب. |
| إضافة KDesigner | 3 | kdesignerplugin.git | يوفر هذا الإطار مكونات إضافية لـ Qt Designer تسمح له بعرض الأدوات التي توفرها أطر عمل KDE المختلفة، بالإضافة إلى أداة مساعدة (kgendesignerplugin) يمكن استخدامها لإنشاء مكونات إضافية أخرى من ملفات وصف بنمط ini. |
| كدي سو | 3 | كديسو.جيت | يوفر KDESU (KDE super user) واجهة مستخدم لتشغيل أوامر shell بامتيازات الجذر. كما يوفر وظيفة لبناء واجهات أمامية لواجهة المستخدم الرسومية لبرامج وضع وحدة التحكم (التي تطلب كلمة مرور). على سبيل المثال، يستخدمه kdesu وkdessh للتفاعل مع su و ssh على التوالي. |
| KDEWebkit | 3 | kdewebkit.git | تكامل محرك عرض HTML WebKit . توفر مكتبة KDEWebkit تكامل KDE مع مكتبة QtWebKit. إذا كنت تستخدم QtWebKit في تطبيق KDE الخاص بك، فننصحك باستخدام هذه الطبقة بدلاً من استخدام فئات QtWebKit مباشرةً. وبشكل خاص، يجب عليك استخدام KWebView بدلاً من QWebView، وKGraphicsWebView بدلاً من QGraphicsWebView، وKWebPage بدلاً من QWebPage. |
| إطار عمل KDNSSDF | 2 | kdnssd.git | KDNSSD عبارة عن مكتبة للتعامل مع بروتوكول اكتشاف الخدمة المستند إلى DNS ( DNS-SD )، وهي طبقة [Zeroconf] (http://www.zeroconf.org) التي تسمح باكتشاف خدمات الشبكة، مثل الطابعات، دون أي تدخل من المستخدم أو البنية الأساسية المركزية. |
| أدوات KDoc | 2 | kdoctools.git | يوفر أدوات لإنشاء الوثائق بتنسيقات مختلفة من ملفات DocBook. |
| الرموز التعبيرية | 3 | كيموتيكونس.git | يوفر موضوعات الرموز التعبيرية بالإضافة إلى فئات مساعدة لتحويل الرموز التعبيرية النصية إلى رموز تعبيرية رسومية تلقائيًا. |
| كجلوبال أكسل | 1 | kglobalaccel.git | يتيح لك برنامج KGlobalAccel الحصول على اختصارات لوحة مفاتيح عالمية (مسرعات) مستقلة عن النافذة التي تم التركيز عليها. وعلى عكس الاختصارات العادية، لا تحتاج نافذة التطبيق إلى التركيز عليها لتنشيطها. |
| إضافات KGui | 1 | kguiaddons.git | إضافات واجهة المستخدم الرسومية KDE؛ أدوات مساعدة لواجهات المستخدم الرسومية؛ توفر إضافات واجهة المستخدم الرسومية KDE أدوات مساعدة لواجهات المستخدم الرسومية في مجالات الألوان والخطوط والنصوص والصور وإدخال لوحة المفاتيح. |
| كيه اتش تي ام ال | 4 | khtml.git | KHTML هو محرك عرض HTML الذي تم منه تقسيم WebKit. وهو يعتمد على تقنية KParts ويستخدم KJS لدعم JavaScript. |
| كي18ن | 1 | ki18n.git | تدويل نصوص واجهة المستخدم المستندة إلى gettext في KDE. يوفر KI18n وظيفة لتدويل نصوص واجهة المستخدم في التطبيقات، استنادًا إلى نظام ترجمة GNU Gettext . فهو يغلف وظيفة Gettext القياسية، بحيث يمكن للمبرمجين والمترجمين استخدام أدوات وسير عمل Gettext المألوفة. يوفر KI18n أيضًا وظائف إضافية، لكل من المبرمجين والمترجمين، والتي يمكن أن تساعد في تحقيق جودة إجمالية أعلى للنص المصدر والمترجم. يتضمن هذا التقاط الحجج، والترميز القابل للتخصيص، وبرمجة الترجمة. |
| مواضيع كيكون | 3 | kiconthemes.git | تحتوي هذه المكتبة على فئات لتحسين التعامل مع الرموز في التطبيقات التي تستخدم أطر عمل KDE. |
| وقت الطفل | 1 | وقت الطفل.git | وحدة التكامل لاكتشاف وقت الخمول. |
| تنسيقات الصور | 1 | kimageformats.git | المكونات الإضافية للسماح لـ QImage بدعم تنسيقات الملفات الإضافية. يوفر هذا الإطار مكونات إضافية لتنسيق الصور لـ QtGui. وبالتالي، فهو ليس مطلوبًا لتجميع أي برنامج آخر، ولكن قد يكون متطلبًا وقت التشغيل للبرامج المستندة إلى Qt لدعم تنسيقات صور معينة. تنسيقات الصور التالية لها دعم للقراءة فقط:
تدعم تنسيقات الصور التالية القراءة والكتابة:
|
| كينيت | 3 | كينيت.جيت | kdeinit هو برنامج تشغيل عمليات، يقوم بتشغيل العمليات عن طريق إنشاء مكتبة ديناميكية ثم تحميلها والتي يجب أن تحتوي على دالة "kdemain(...)". يعمل kdeinit على تسريع بدء تشغيل التطبيقات على مساحات عمل KDE؛ حيث يتم ربط kdeinit بجميع المكتبات التي يحتاج إليها تطبيق KDE القياسي. باستخدام هذه التقنية، يصبح بدء تشغيل التطبيق أسرع كثيرًا لأنه الآن لا يحتاج سوى التطبيق نفسه إلى الارتباط بينما بخلاف ذلك، يلزم ربط التطبيق بالإضافة إلى جميع المكتبات التي يستخدمها. |
| كيو اي او | 3 | kio.git | الوصول الشفاف عبر الشبكة إلى الملفات والبيانات. ينفذ هذا الإطار جميع وظائف إدارة الملفات التي قد تحتاج إليها تقريبًا. يستخدم Dolphin وKDE file dialog أيضًا هذا الإطار لتوفير إدارة الملفات الممكنة عبر الشبكة. |
| كيريغامي | 1 | كيريجامي.جيت | مجموعة من مكونات QtQuick الإضافية لبناء واجهات المستخدم استنادًا إلى إرشادات تجربة المستخدم الخاصة بـ KDE |
| نماذج كيتيم | 1 | نموذج kitem.git | مجموعة من نماذج العناصر التي توسع إطار عمل عرض نموذج Qt. توفر KItemModels النماذج التالية:
|
| كيتيم فيوز | 1 | ملف kitemviews.git | مجموعة من عروض العناصر التي تمتد إلى إطار عمل عرض النموذج Qt. تتضمن KItemViews مجموعة من العروض التي يمكن استخدامها مع نماذج العناصر. وهي تتضمن عروضًا لتصنيف القوائم وإضافة مرشحات البحث إلى القوائم المسطحة والهرمية. |
| أدوات KJob | 2 | kjobwidgets.git | يوفر KJobWIdgets أدوات لعرض تقدم الوظائف غير المتزامنة. |
| كيه جي إس | 1 | kjs.git | توفر KJS مفسّرًا متوافقًا مع ECMAScript. ويعتمد معيار ECMA على لغات برمجة نصية معروفة مثل JavaScript من Netscape وJScript من Microsoft. |
| KJSEmbed | 3 | kjsembed.git | يوفر KSJEmbed طريقة لربط كائنات JavaScript بـ QObjects، حتى تتمكن من كتابة نصوص تطبيقاتك. |
| مشغل الوسائط KMediaPlayer | 3 | برنامج kmediaplayer.git | تم إيقافه : واجهة مشغل الوسائط KParts. يعتمد KMediaPlayer على إطار عمل KParts لتوفير واجهة مشتركة لمشغل الوسائط KParts يمكنها تشغيل ملفات الوسائط. هذا الإطار هو أداة مساعدة في النقل. لا يُنصح باستخدامه للمشروعات الجديدة، ويُنصح المشروعات الحالية التي تستخدمه بالابتعاد عنه واستخدام KParts العادي بدلاً منه. |
| كنيوستاف | 3 | Knowstuff.git | إطار عمل لتنزيل ومشاركة بيانات التطبيق الإضافية. تنفذ مكتبة KNewStuff مشاركة البيانات التعاونية للتطبيقات. وهي تستخدم libattica لدعم مواصفات خدمات التعاون المفتوحة. Attica هي مكتبة Qt تنفذ إصدار 1.6 من واجهة برمجة تطبيقات خدمات التعاون المفتوحة. وهي تتيح سهولة الوصول إلى الخدمات مثل الاستعلام عن المعلومات حول الأشخاص والمحتويات. |
| الإشعارات | 3 | العقدة.git | الحل مع التجريد لإشعارات النظام. |
| KNotifyConfig | 3 | ملف knotifyconfig.git | وحدة لتكوين KNotify. |
| كيه بارتس | 3 | kparts.git | تطبق مكتبة KParts إطار عمل لأجزاء KDE. يُطلق على أحد مكونات واجهة المستخدم الفردية اسم KPart وهو عبارة عن أداة معقدة ذات واجهة مستخدم محددة من حيث الإجراءات (عناصر القائمة، أيقونات شريط الأدوات). تشبه KParts مكونات Bonobo في GNOME وعناصر التحكم ActiveX في نموذج كائنات المكونات من Microsoft . يتوفر Konsole كـ KPart ويُستخدم في تطبيقات مثل Konqueror و Kate . أمثلة لاستخدامات KParts:
توثيقات إضافية:
|
| رسم تخطيطي K | 1 | kplotting.git | KPlotWidget هي فئة مشتقة من QWidget توفر فئة أساسية افتراضية لرسم البيانات بسهولة. الفكرة وراء KPlotWidget هي أنه لا يوجد لديك سوى
لتحديد المعلومات بوحدات البيانات؛ أي الوحدات الطبيعية للبيانات التي يتم رسمها. يحول KPlotWidget كل شيء تلقائيًا إلى وحدات بكسل الشاشة. يرسم KPlotWidget محاور X وY بعلامات التجزئة وتسميات التجزئة. ويحدد تلقائيًا عدد علامات التجزئة التي يجب استخدامها ومكانها، استنادًا إلى حدود البيانات المحددة للرسم. يمكنك تغيير الحدود عن طريق استدعاء `setLimits(double x1, double x2, double y1, double y2)`. يتم تخزين البيانات المراد رسمها باستخدام فئة KPlotObject. يتكون KPlotObject من قائمة QList من QPointF's، كل منها يحدد إحداثيات X وY لنقطة بيانات. يحدد KPlotObject أيضًا "نوع" البيانات المراد رسمها (POINTS أو CURVE أو POLYGON أو LABEL). |
| كيه بي تي واي | 2 | kpty.git | التعامل مع الأجهزة الطرفية الزائفة . توفر هذه المكتبة عناصر بدائية للتعامل مع الأجهزة الطرفية الزائفة بالإضافة إلى فئة مشتقة من KProcess لتشغيل العمليات الفرعية والتواصل معها باستخدام pty. |
| كروس | 3 | كروس.جيت | تضمين النصوص البرمجية في التطبيقات. Kross عبارة عن جسر نصوص برمجية لتضمين وظيفة النصوص البرمجية في التطبيق. وهو يدعم QtScript كبرنامج خلفي لمترجم النصوص البرمجية. يوفر جوهر Kross الإطار للتعامل بشفافية مع واجهات المترجم الخلفية ويقدم وظائف مجردة للتعامل مع البرامج النصية. |
| كرونر | 3 | krunner.git | إطار عمل لتوفير إجراءات مختلفة بناءً على استعلام سلسلة. إطار عمل لمشغلات Plasma. توفر مساحة عمل Plasma تطبيقًا يسمى KRunner والذي يسمح، من بين أمور أخرى، بالكتابة في منطقة نصية تتسبب في ظهور إجراءات ومعلومات مختلفة تتوافق مع النص أثناء كتابة النص. أحد التطبيقات لهذا هو المشغل الشامل الذي يمكنك تشغيله باستخدام ALT+ F2. |
| كسيرفيس | 3 | kservice.git | توفر KService إطار عمل إضافي للتعامل مع خدمات سطح المكتب. يمكن أن تكون الخدمات عبارة عن تطبيقات أو مكتبات. ويمكن ربطها بأنواع MIME أو التعامل معها من خلال كود خاص بالتطبيق. |
| تسليط الضوء على KSyntax | 1 | تمييز بناء الجملة.git | هذا هو تنفيذ مستقل لمحرك تمييز بناء الجملة Kate. وهو مخصص ليكون بمثابة كتلة بناء لمحرري النصوص وكذلك لعرض النصوص المميزة البسيطة (مثل HTML)، ويدعم التكامل مع محرر مخصص بالإضافة إلى فئة فرعية جاهزة للاستخدام من QSyntaxHighlighter. |
| محرر النصوص KText | 3 | محرر النصوص.git | يوفر KTextEditor مكون محرر نصوص قوي يمكنك تضمينه في تطبيقك، إما كـ KPart أو باستخدام مكتبة KF5::TextEditor (إذا كنت بحاجة إلى مزيد من التحكم). يحتوي مكون محرر النصوص على العديد من الميزات المفيدة، من تمييز بناء الجملة والمسافة البادئة التلقائية إلى دعم البرمجة النصية المتقدمة، مما يجعله مناسبًا لكل شيء من محرر ملفات نصية مضمن بسيط إلى بيئة تطوير متكاملة متقدمة. |
| أدوات نصية K | 3 | ktextwidgets.git | يوفر KTextWidgets أدوات لعرض النصوص وتحريرها. وهو يدعم النص الغني وكذلك النص العادي. |
| تحويل KUnit | 2 | تحويل الكونيت.git | يوفر KUnitConversion وظائف لتحويل القيم إلى وحدات مادية مختلفة. فهو يدعم تحويل البادئات المختلفة (مثل الكيلو والميجا والجيجا) وكذلك التحويل بين أنظمة الوحدات المختلفة (مثل اللترات والغالونات). ويتم دعم المجالات التالية:
|
| إطار عمل KWallet | 3 | kwallet.git | تخزين آمن لكلمات المرور على مستوى سطح المكتب بالكامل. يحتوي هذا الإطار على مكونين رئيسيين:
|
| كوايلاند | 1 | كوايلاند.جيت | KWayland هي مكتبة KDE لتطبيق دعم Wayland في تطبيقات KDE، وهي تلبي احتياجات تتجاوز ما توفره QtWayland . تستخدم جميع تطبيقات KDE في جلسة plasma-wayland هذه المكتبة وربما LXQt أيضًا. كانت KWayland جزءًا من أطر عمل KDE منذ 5.22 (مايو 2016)؛ وكانت تُوزع سابقًا كجزء من KDE Plasma 5. |
| إضافات KWidgets | 1 | kwidgetsaddons.git | إضافة تحتوي على فئات مختلفة فوق QtWidgets. إذا كنت تقوم بنقل التطبيقات من مكتبة "kdeui" الخاصة بمنصة KDE Platform 4، فستجد العديد من فئاتها هنا. يتم توفير فئات الإجراءات التي يمكن إضافتها إلى أشرطة الأدوات أو القوائم، ومجموعة واسعة من الأدوات لتحديد الأحرف والخطوط والألوان والإجراءات والتاريخ والأوقات أو أنواع MIME، بالإضافة إلى مربعات الحوار التي تتوافق مع المنصة لصفحات التكوين ومربعات الرسائل وطلبات كلمة المرور. يمكن العثور على أدوات وفئات أخرى في أطر عمل KDE الأخرى. |
| نظام النوافذ | 1 | نظام النوافذ.git | يسمح بالتفاعل مع نظام التشغيل . فهو يوفر NETRootInfo للوصول إلى الحالة العالمية (كل ما تم تعيينه على نافذة الجذر) وNETWinInfo لجميع المعلومات حول نافذة معينة. تحتوي الفئات على مدير نوافذ ومنظور عميل. هذا هو الأساس الذي يدعم KWin وأجزاء مختلفة من الغلاف الرسومي مثل مدير المهام. [17] بالإضافة إلى تلك الفئات الخاصة بـ X11، لدينا واجهة برمجة تطبيقات ملائمة KWindowInfo وKWindowSystem والتي توفر واجهة برمجة تطبيقات مستقلة عن نظام التشغيل لتطبيقاتنا. |
| KXMLGUI | 3 | kxmlgui.git | يوفر KXMLGUI إطار عمل لإدارة إجراءات القائمة وشريط الأدوات بطريقة مجردة. يتم تكوين الإجراءات من خلال وصف XML وخطافات في كود التطبيق. يدعم الإطار دمج أوصاف متعددة على سبيل المثال لدمج الإجراءات من المكونات الإضافية. يستخدم KXMLGui وظيفة تفويض Kiosk في KConfig (انظر مساحة اسم KAuthorized في هذا الإطار). من الجدير بالذكر أن مثيلات QAction المضافة إلى KActionCollection يتم تعطيلها إذا أبلغ KAuthorized::authorizeAction() أنها غير مصرح بها. يمكن أيضًا تعطيل العناصر الموجودة في قائمة المساعدة القياسية (KHelpMenu) بناءً على إعدادات Kiosk، ويمكن تقييد تحرير شريط الأدوات. راجع KActionCollection وKHelpMenu وKToolBar للحصول على مزيد من المعلومات. |
| إطار البلازما | 3 | إطار عمل البلازما.git | المكتبات الأساسية ومكونات وقت التشغيل والأدوات لمساحات عمل KDE Plasma المستندة إلى KF5 وQt5. يوفر إطار عمل Plasma ما يلي:
|
| سجن | 1 | السجن.git | Prison عبارة عن طبقة/مكتبة تجريد الباركود تعتمد على Qt وتوفر وصولاً موحدًا إلى إنشاء الباركود بالبيانات. |
| صلب | 1 | solid.git | يوفر Solid طريقة للاستعلام والتفاعل مع الأجهزة بشكل مستقل عن نظام التشغيل الأساسي. كما يوفر الميزات التالية لمطوري التطبيقات:
|
| السوناتة | 1 | سونيت.جيت | Sonnet هي مكتبة فحص إملائي تعتمد على المكونات الإضافية للتطبيقات المستندة إلى Qt. وهي تدعم العديد من المكونات الإضافية المختلفة، بما في ذلك HSpell وEnchant وASpell وHUNSPELL. كما تدعم الكشف التلقائي عن اللغة، استنادًا إلى مجموعة من الخوارزميات المختلفة. الطريقة الأبسط لاستخدام Sonnet في تطبيقك هي استخدام فئة SpellCheckDecorator على QTextEdit. |
| التوزيع المشترك | 2 | syndication.git | Syndication عبارة عن مكتبة محلل RSS/Atom. |
| خيط ويفر | 1 | threadweaver.git | ThreadWeaver عبارة عن قائمة مهام. تقوم بتنفيذ المهام في الخيوط التي تديرها داخليًا. |
كيريغامي
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]
تستخدم هذه الارتباطات وغيرها التقنيات التالية:
- Smoke: لإنشاء روابط لـ Ruby و C# و PHP
- SIP: لإنشاء روابط لـ Python
- Kross: برمجة نصية مضمنة لتطبيقات C++ ، مع دعم Ruby و Python و JavaScript و QtScript وFalcon و Java
لم يتم تحديث العديد من الارتباطات إلى 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 .
مراجع
- ^ "KDE Ships Frameworks 6.5.0". 9 أغسطس 2024. تم الاسترجاع في 20 أغسطس 2024 .
- ^ "إصدار KDE Frameworks 5.24.0". 9 يوليو 2016. مؤرشف من الأصل في 11 يوليو 2016. اطلع عليه بتاريخ 10 يوليو 2016 .
- ^ "Android - KDE Community Wiki". مؤرشف من الأصل في 2016-08-26 . تم استرجاعه في 2016-07-11 .
- ^ "KDE API Homepage". مؤرشف من الأصل في 2016-08-26 . تم الاسترجاع 2016-07-11 .
- ^ "الإصدار الأول من KDE Frameworks 5". 2014-07-07. مؤرشف من الأصل في 2015-09-05 . تم الاسترجاع 2014-07-08 .
- ^ "أطر عمل KDE". وثائق واجهة برمجة التطبيقات . مؤرشف من الأصل في 2019-12-07 . تم الاسترجاع في 2020-03-17 .
- ^ "أطر عمل KDE". Tech Base . مؤرشف من الأصل في 2020-08-13 . تم الاسترجاع 2020-03-17 .
- ^ abc Howard Chan (2013-09-04). "KDE Release Structure Evolves". KDE. مؤرشف من الأصل في 2020-11-12 . تم الاسترجاع في 2014-02-27 .
- ^ "جدول إصدار KDE Frameworks 5". مؤرشف من الأصل في 2016-06-24 . تم الاسترجاع في 2016-05-18 .
- ^ "سير عمل Git للأطر". مؤرشف من الأصل في 2020-10-20 . تم الاسترجاع 2014-08-19 .
- ^ "KDE Frameworks5 API documentation". مؤرشف من الأصل في 2014-08-22.
- ^ "إمكانية التثبيت المشترك مع KDE Platform 4". مؤرشف من الأصل في 2020-12-01 . تم الاسترجاع في 2014-08-19 .
- ^ "metainfo.yaml من KConfig".[ رابط ميت دائم ]
- ^ Jos Poortvliet (2013-12-17). "Qt 5.2 - Foundation for KDE Frameworks 5". Dot.kde.org. مؤرشف من الأصل في 2020-11-11 . تم الاسترجاع في 2014-03-10 .
- ^ Howard Chan (2013-09-25). "Frameworks 5". Dot.kde.org. مؤرشف من الأصل في 2020-11-26 . تم الاسترجاع 2014-03-10 .
- ^ "API Documentation". api.kde.org . مؤرشف من الأصل في 2021-10-02 . تم الاسترجاع 2021-10-02 .
- ^ "KWindowSystem in Frameworks 5". 6 فبراير 2014. مؤرشف من الأصل في 28 يوليو 2014. اطلع عليه بتاريخ 25 يوليو 2014 .
- ^ “كيدي كيريجامي”. كيدي. أرشفة من الإصدار الأصلي في 29 تموز 2019 . تم الاسترجاع في 25 نوفمبر 2018 .
- ^ "المساهمون في KDE/Kirigami". GitHub . مؤرشف من الأصل في 2019-04-30 . تم الاسترجاع في 2021-08-08 .
- ^ محفوظ في Ghostarchive وWayback Machine: "Banji (Ring-KDE) جلد جديد على سطح المكتب Linux وAndroid". YouTube .
- ^ "Kaidan - عميل XMPP سهل الاستخدام لكل جهاز!". GitHub . 4 يوليو 2021. مؤرشف من الأصل في 26 أبريل 2019 . تم الاسترجاع 8 أغسطس 2021 .
- ^ "KGlobalAccel في Debian". مؤرشف من الأصل في 2016-09-20 . تم الاسترجاع في 11 سبتمبر 2016 .
- ^ "KGlobalAccel في Fedora".[ رابط ميت دائم ]
- ^ "منصة تطوير KDE". مؤرشف من الأصل في 2018-10-03 . تم الاسترجاع 2010-11-26 .
- ^ Development/Languages - KDE TechBase Archived 2021-02-03 at the Wayback Machine . Techbase.kde.org (2012-07-12). تم الاسترجاع في 2013-07-17.
- ^ "Qyoto". مؤرشف من الأصل في 2020-11-27 . تم الاسترجاع 2015-01-18 .
- ^ "Frameworks 5 Technology Preview". KDE. 2014-01-07. مؤرشف من الأصل في 2014-02-26 . تم الاسترجاع في 2014-02-27 .
- ^ "KDE تطلق أول نسخة ألفا من Frameworks 5". KDE. 2014-02-14. مؤرشف من الأصل في 2014-03-01 . تم الاسترجاع في 2014-02-27 .
- ^ "KDE Ships Second Alpha of Frameworks 5". KDE. 2014-03-03. مؤرشف من الأصل في 2014-03-09 . تم الاسترجاع 2014-03-04 .
- ^ "KF5 Update Meeting Minutes 2014-w28". 2014-07-08. مؤرشف من الأصل في 2016-03-07 . تم الاسترجاع في 2014-07-10 .
- ^ "دمج Firefox + KDE: جعل FF يستخدم Dolphin بشكل موثوق". 2014-07-03. مؤرشف من الأصل في 2018-05-15 . تم الاسترجاع 2014-07-10 .
- ^ “إعلان KDE MegaRelease 6”. 2024-02-28 . تم الاسترجاع 2024-03-20 .
- ^ "سياسة ترخيص KDE". مؤرشف من الأصل في 2010-12-16 . تم الاسترجاع في 2010-11-06 .
روابط خارجية
- أطر عمل KDE في مثيل Gitlab الخاص بـ KDE
- أطر عمل KDE في Phabricator القديم
