اختار gtk أم qt أم flutter لبرمجة تطبيقات لينكس ؟
مكتبة Gtk 🔗
جي تي كيه ( Gtk ) هي مكتبة حرة و مفتوحة المصدر و مجانية. هذه المكتبة مخصصة لعمل الواجهة الرسومية للبرامج. تم برمجتها في مؤسسة جينوم لتكون متعددة المنصات (تعمل على منصات متعددة مثل لينكس و ويندوز و ماك). أحدث اصدار من المكتبة هو Gtk 4 الذي يحمل الكثير من المميزات مقارنةً بالإصدار السابق Gtk 3 وأهم هذه المميزات هو تسريع الرسوم بإستخدام كارت الشاشة.
بيئة سطح المكتب جينوم تستخدم Gtk 4 ، و نظام إلمنتري أو إس يستخدم Gtk 3 – حتي الآن. أما نظام التشغيل بوب أو إس بدأ نقل برامجه من Gtk 3 إلى Gtk 4 مع لغة البرمجة راست .
مكتبة Qt 🔗
كيو تي (Qt) هي مكتبة واجهات رسومية تجارية متعددة المنصات حيث أنها تعمل على أنظمة التشغيل المكتبية وأنظمة تشغيل الهواتف الذكية. إنها سريعة وجميلة الشكل وأدائها قوي.
بيئة سطح المكتب كيه دي إي بلازما ( KDE Plasma ) تستخدمها (qml) مع لغة سي بلس بلس (++C).
فريمورك فلاتر 🔗
Flutter framework هو إطار عمل مجاني ومفتوح المصدر. تم برمجته في شركة جوجل. محرك الرسوميات داخل فلاتر هي مكتبة سكيا (Skia) المعروفة بالأداء العالي والسرعة. تم تطوير هذا الفريمورك لبرمجة تطبيقات الهواتف الذكية ؛ أندرويد و آيفون. ولكن فريمورك فلاتر حالياً يدعم كل المنصات ؛ الويب ، الأندرويد ، الآيفون والآيباد ، ويندوز ، ماك ، و لينكس.
شركة كانونيكال (Canonical) – التي تصدر نظام التشغيل أوبونتو (Ubuntu) – بدأت في نقل برامجها الرسومية إلى فريمورك فلاتر ، بالإضافة إلى دعم نشر البرامج المكتوبة بإطار عمل فلاتر في شكل حزم سناب (snap packages).
مقارنة بين فلاتر و gtk و qt 🔗
🤔 | Gtk | Qt | Flutter |
---|---|---|---|
مجانية | نعم | نعم | نعم |
برمجيات حرة | نعم | لا | لا |
الأداء | جيد | ممتاز | ممتاز |
المطورين والمبرمجين | مبرمجي لينكس فقط | أكثر من مبرمجي لينكس | عدد كبير جداً من المطورين |
مميزاتها لـ لينكس | برمجيات حرة | الأداء القوي | الأداء القوي و سهولة الاستخدام وانتشارها بين المبرمجين والمطورين بشكل ضخم |
رأيي في استخدام هذه المكتبات 🔗
أعتقد أن التمسك بمكتبة gtk وتطويرها واستخدامها شئ مهم وضروري. لكن أنا أيضاً أعتقد أن تبني فريمورك فلاتر كبديل لبرمجية تطبيقات ذات واجهة رسومية هو شئ هام جداً. لأن استخدام فلاتر يجعل برمجة تطبيقات لينكس أسهل على المبرمجين ، ويُمكن جذب العديد من مبرمجي فلاتر لدعم أنظمة لينكس.
ولكن فلاتر ليست حرة ومدعومة من شركة جوجل !
نعم أعرف أنها ليست من البرمجيات الحرة وتم تطويرها في جوجل. ولكن أنظمة لينكس ليس لها بيئة تطوير واحدة (IDE) ولا مجموعة أدوات برمجة موحدة (tech stack)!
أعرف أن فريق إلمنتري أو إس يطور برنامج كتابة كود (code editor) و يتبنون استخدام لغة فالا (Vala) مع مكتبة gtk 3 الرسومية مع المكتبة المكملة granite ونشر التطبيقات كحزمة فلات باك (flatpak). وهذا يجعل برمجة تطبيقات لنظام إلمنتري أو إس أوضح وأسهل.
توجه فريق إلمنتري أو إس قوي بشكل كافي لجذب وتشجيع المبرمجين الذين يعرفون لينكس ويستخدموه. ولكن توجه فريق بوب أو إس أفضل للمبرمجين والمستخدمين لأنهم يستخدمون لغة راست مع مكتبة gtk 4 مما يساعد نظام بوب أو إس في جذب مبرمجي راست وهم كثيرين ، وتقليل الأخطاء البرمجية وزيادة أداء النظام وتقليل استهلاك الرامات. ولكن توجه فريق أوبونتو للمبرمجين والمستخدمين لأن فلاتر مشهورة جداً مما يجعل كل التطبيقات المعروفة والمشهورة تدعم لينكس بسهولة من خلال فلاتر.
🤔 | Vala + Gtk 3 + Granite | Rust + Gtk 4 | Flutter |
---|---|---|---|
برمجيات حرة | نعم | نعم | لا |
مفتوحة المصدر | نعم | نعم | نعم |
عدد المبرمجين والمطورين | جيد | كثير جداً | عدد ضخم جداً |
دعم لينكس | كتابة كود مخصص لدعم لينكس | كتابة كود مخصص لدعم لينكس | نفس الكود |
الأداء | جيد | جيد جداً | ممتاز |
في النهاية ، أنا أحب الثلاث توجهات لأنهم يساعدوا أنظمة لينكس لتكون منتشرة أكثر ومستخدمه على نظام واسع. ولكني أفضل توجه شركة كانونيكال في دعم فلاتر في حزم سناب على نظام أوبونتو ، لأن هذا سيجعل وجود التطبيقات المعروفة والشهيرة على أنظمة الهواتف الذكية موجودة بسهولة على أنظمة لينكس.