هل يجب علي استخدام مجموعة أدوات واجهة المستخدم الرسومية عبر الأنظمة الأساسية أم الاعتماد على الأدوات الأصلية؟

StackOverflow https://stackoverflow.com/questions/34325

سؤال

من خلال وظيفتي كمبرمج، سأقوم بكتابة برنامج بلغة C++ لتحويل الملفات الصوتية من/إلى تنسيقات مختلفة.من المحتمل أن يتضمن ذلك إنشاء واجهة مستخدم رسومية بسيطة.

هل سيكون إنشاء واجهات مستخدم رسومية منفصلة لنظامي التشغيل Mac وWindows مجهودًا كبيرًا باستخدام Cocoa وWinForms بدلاً من مجموعة أدوات مشتركة بين الأنظمة الأساسية مثل Qt أو GTK؟
(سأضطر إلى الاحتفاظ بإصدار منفصل من Windows وإصدار Mac على أي حال)
من المحتمل أن تكون واجهة المستخدم الرسومية بسيطة جدًا وتحتاج فقط إلى وظائف أساسية جدًا.

لقد شعرت دائمًا أن واجهات المستخدم الرسومية الأصلية تبدو أكثر سهولة بكثير من إخوانها عبر الأنظمة الأساسية ...

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

هل نظرت إلى wxWidgets؟الضوابط الأصلية عبر النظام الأساسي.

مجموعات الأدوات عبر الأنظمة الأساسية، بشكل أو بآخر، جميعها تفترض بشكل غير صحيح أن الفرق بين الأنظمة الأساسية هو مسألة وضع الزر وتصميم عنصر واجهة المستخدم.في بعض الحالات، يمكنك التخلص من هذا - سيبدو تطبيق Qt أصليًا إلى حد ما على كل من Windows (حيث تكون اصطلاحات واجهة المستخدم متساهلة للغاية) وعلى Linux، وخاصة بيئة KDE.بشكل عام، يمكنك التنقل بين Linux وWindows بسهولة نسبية؛الاتفاقيات متشابهة، ومجتمع Windows متساهل بشأنها.

ماك هو الأصعب.تم تصميم واجهة المستخدم الخاصة به حول نموذج مختلف تمامًا عن نظام التشغيل Windows أو معظم بيئات Linux.

ولكن بشكل عام، في التطبيق الأصلي، يكون من الأسهل التحدث باللغة الأصلية للنظام الأساسي بطرق أكثر من مجرد أسلوب القطعة.

أوافق على أنه إن أمكن، فإن الواجهات الأمامية الأصلية هي الحل الأمثل.لم أستخدم wxWidgets مؤخرًا، وسمعت أنه قطع شوطًا طويلًا، ولكن عندما كان wxWindows، قمنا ببناء تطبيق به تم تحديده ليتم إنشاؤه في X/Motif.عندما انتهينا من الجهد وقمنا بتسليمها، قال العميل إنها لا تبدو كافية مثل X/Motif، وكان علينا إعادة عمل واجهة المستخدم بالكامل على نفقتنا...كتب جويل سبولسكي مقالة جيدة حول هذا الموضوع، لكن لا أستطيع تذكر العنوان.ما قاله، IIRC، هو أن المشكلة مع Java وبعض واجهات المستخدم الأخرى عبر الأنظمة الأساسية هي أن "كلبك ينبح في تطبيقي" - إنها التناقضات الصغيرة التي تزعج الناس.

نعم.

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

ربما يكون البدء باستخدام واجهة سطر الأوامر (CLI) وتشغيل الوظائف أمرًا منطقيًا بالنسبة لتطبيق تحويل الصوت.

سأقوم بكتابة طبقة واجهة المستخدم الرسومية الخاصة بالتطبيق عبر الأنظمة الأساسية لهذا الغرض قريبًا.اعتمادًا على مدى تعقيد التطبيق الخاص بك، يمكن أن يكون هذا جزءًا صغيرًا مما هو مطلوب لـ QT أو GTK أو FOX.

السبب هو أننا نرى ميلًا إلى محاولة بائعي الأنظمة الأساسية (Apple أولاً) تصميم نظامهم بحيث يبدو فريدًا.وهذا يجعل من الصعب جدًا على أدوات QT وGTK وFOX وأدوات النظام الأساسي الأخرى أن تظل متزامنة باستمرار مع أحدث الأدوات.

عندما تصبح التقنية الأساسية متشابهة أكثر فأكثر، لا يكون لدى بائعي نظام التشغيل أي خيار، ثم وضع علامة تجارية على شكل النظام الأساسي ومظهره.

تستخدم wxWidgets بناء جملة c++ القياسي والمعالج المسبق مما يجعلك تتغير بسهولة من C أو C++ العادي.وسوف ينتج مظهرًا أصليًا للغاية حيث يظهر، سواء كان ذلك على GTK أو X11 أو MS-Windows أو Mac.

لقد أصبح ناضجًا منذ 20 عامًا من الإصدار الأول، ويحتوي على وثائق كاملة مع سهولة التنقل، ويدعمه مجتمع كبير حول العالم.قم بالبرمجة في IDE المفضل لديك أو استخدم Eclipse-IDE وwxFormBuilder البارزين كمصمم واجهة المستخدم الرسومية.يمكن العثور على إنشاء مكتبة wx وإعداد IDE/Toolchain على هذا الرابط: http://yasriady.blogspot.co.id/2016/01/raspberry-pi-toolchain.html

قم بتطوير التطبيق الخاص بك على سطح مكتب Linux وقم أيضًا بتوفير مترجم لـ Raspberry Pi2 (تم اختبار التطبيق المستهدف بسلاسة على Raspbian Jessie) ............

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top