OMLX

مقدمة تعريفية ب Wxwidgets

11 ردود في هذا الموضوع

logo9.jpg

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

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

لماذا أستخدم wxWidgets؟

أحد المناطق حيث تختلف مكتبة wxWidgets عن بقية أُطر العمل، مثل MFC أو OWL، أنها متعددة المنصات بشكل طبيعي. مكتبة wxWidgets تملك واجهة برمجة التطبيق API التي هي نفسها أو قريبة جدا من التشابه في كل المنصات المدعومة. هذا يعني أنه يمكنك كتابة تطبيق على منصة الويندوز ، على سبيل المثال، ومع تغييرات قليلة ( إذا وجدت ) تعيد بناءه على اللينكس أو ماكنتوش Mac OS X. هذه الميزة تملك فائدة مادية ضخمة بالمقارنة بإعادة كتابة التطبيق بشكل كامل لكل منصة، و هذا يعني أيضا أنك لست بحاجة إلى تعلم API مختلف لكل منصة. علاوة على ذلك، تساعدك على تهيئة تطبيقاتك للتغيرات المستقبلية. مثلما أن أرض الحوسبة تتغير باستمرار فإن wxWidgets تتغير معها، بما يسمح لتطبيقك أن يعمل و يستغل مميزات الأنظمة الأجد.

مميزة أخرى خاصة بمكتبة wxWidgets أنها تقدم مظهر و إحساس أصلى من النظام الذي تعمل عليه. بعض أطر العمل تستخدم نفس كود الأداة لتشغيلها على كل الأنظمة، ربما بثيم تجميلي يحاكي مظهر الأصلي لكل منصة. بالمقارنة مع مكتبة wxWidgets فإنها تستخدم الأدوات الأصلية حيثما أمكن ( و تملك مجموعة أدوات خاصة بها في حالات أخرى ) لذا هذا ليس فقط يعطي التطبيق المظهر الأصلي على المنصات الرئيسية ، ولكن في الواقع هي أصلية بنفسها. هذه الميزة مهمة جدا لقبول المستخدم لأنه حتى أصغر اختلاف - لا يلحظ في الغالب - في طريقة سلوك التطبيق بالمقارنة مع سلوك القياسي للنظام التشغيلي ؛ يمكن أن ينشيء نفرة لدى المستخدمين ، و للتدليل الصورة التالية توضح تطبيق مكتوب بـ wxWidgets يطلق عليه Audacity وهو برنامج لتحرير الصوتيات ، يعمل على ويندوز إكس بي.

audacity-windows-small.jpg

إنه تطبيق ويندوز بأصالة، بعناصر رسومية مثل ألسنة التبويب و أشرطة التمرير و القائمة المنسدلة. بنفس الطريقة الصورة التالية تظهر Audacity يعمل كتطبيق Mac OS X بمظهر Aqua المتوقع. كما هو واضح لا يوجد فيه أشرطة القوائم مرفق مع نافذة Audacity بسبب أن Mac OS متفق على عرض شريط القائمة في أعلى القائمة.

audacity-macosx-small.jpg

وأخيرا في الصورة التالية يظهر Audacity كتطبيق +GTK يعمل على لينكس ردهات.

audacity-linux.png

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

استمر في قراءة المقالة من هنا

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بالفعل ..wxWidgets ممتازه جدا !

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

يعطيك العافية اخووي

سواال من وااحد مبتدى

wxWidgets هل هي َQT والا تختلف؟؟ :unsure: :unsure:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
سواال من وااحد مبتدى

wxWidgets هل هي َQT والا تختلف؟؟

هذا منتج وهذا منتج اخر تماما

ولكن كلاهما يتنافس على نفس الغرض

وهو انتاج برمجيات يمكنها ان تعمل على اكثر من نظام تشغيل من خلال اعادة الترجمة لكل نظام على حدة

وكلاهما يستند على برمجة الكائنات OOP ويدعمان لغة ++C بشكل اساسى

ويوجد دعم للغات اخرى من خلال عمل ربط مع هذه اللغات مثل Python و Ruby

Qt من انتاج شركة Trolltech التى قامت شركة Nokia بشرائها

بينما wxWidgets ليست منتجا تجاريا

كل من Qt و wxWidgets متاحان بشكل مجانى اذا كنت تريد عمل مشاريع مفتوحة المصدر

Qt تشترط ان تشترى نسخة اصلية اذا كنت تقوم بعمل مشاريع تجارية

wxWidgets مفتوحة المصدر ويمكن ان تنضم الى مطوريها اذا كنت تريد المساهمة.

من الناحية التقنية كلاهما على مستوى عالى جدا

ولكن Qt اقضل من wxWidgets

والتفضيل يكمن فى سهولة تعلم Qt ومرونة الاستخدام (ولكن يمكنك عمل اى شىء باى منهما)

وللعلم تم بناء الـ KDE باستخدامها

راى شخصى :-

wxWidgets تعنى الحرية فى نظرى وان اشجع على استخدامها اذا كنت ترغب فى عمل مشاريع تجارية او مفتوحة المصدر

اما Qt فهى تعنى المرونة والسرعة والروعة وانا اشجع على استخدامها اذا كنت تود عمل مشاريع مفتوحة المصدر بعيدا عن الغرض التجارى

تم تعديل بواسطه محمود سمير
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بصراحة لو من الناحية المادية تكون الجافا أفضل لأنك لن تعدل مرة أخرى فى الكود

ولو على البطء فهذه المشكلة لا تظهر بقوة الا فى الويندوز لكن تطبيقات الجافا على اللينكس تعمل بشكل أفضل وأسرع

عموما شكرا على الموضوع :rolleyes:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بصراحة لو من الناحية المادية تكون الجافا أفضل لأنك لن تعدل مرة أخرى فى الكود

ولو على البطء فهذه المشكلة لا تظهر بقوة الا فى الويندوز لكن تطبيقات الجافا على اللينكس تعمل بشكل أفضل وأسرع

عموما شكرا على الموضوع

.

كلامك صحيح نسبياً, في جافا ترجم البرنامج مرة و شغله اينما تريد.

و لكن حتى باستخدام ++C و باستخدام مكتبة كـ Wxwidgets اكتب البرنامج مرة و ترجمه حيثما شئت دون أدنى تعديل.

تعديل برامج ++C نحتاج إليه عند نقل البرنامج إلى معالج جديد, مثلاً من 68K إلى IA-32 و هكذا حيث تختلف خصائص كلا المعالجين اختلافاً جذرياً, أو من منصة 32bit إلى أخرى 64bit,

أما في حالة أن المتغير الوحيد هو نظام التشغيل, فأعتقد أنه باستخدام مكتبات ذات محمولية عالية كالمذكورة في الموضوع لن تحتاج إلى تعديل الكود لترجمته على منصة أخرى بأي شكل من الأشكال ما دمت لم تستخدم API أي منهم :)

الشيء الآخر, أن جافا تخرج من دائرة المقارنة مع ++C/C عندما يكون لدينا عمليات حسابية كثيفة كبرنامج الصوتيات المذكور في الموضوع أيضاً :)

تحياتي ,,

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بارك الله فيك أخي OMLX، فأنا شخصياً أول مرة أسمع بـ wxWidgets

سأبحث عن المزيد عنها، لمعرفة المزيد، عسى أن أعجبتني انتقل لها من QT

كل الإحترام.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

رائعة عزيزي و البرنامج اعمل عليه في الابونتو ستوديو :lol:

و لكن انا افضل Qt قد اجربها

شكرا على المعلومات الروعة :clapping:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
راى شخصى :-

wxWidgets تعنى الحرية فى نظرى وان اشجع على استخدامها اذا كنت ترغب فى عمل مشاريع تجارية او مفتوحة المصدر

اما Qt فهى تعنى المرونة والسرعة والروعة وانا اشجع على استخدامها اذا كنت تود عمل مشاريع مفتوحة المصدر بعيدا عن الغرض التجارى

لحسن الحظ، منذ النسخة 4.5 لمكتبة Qt أصبح هناك نسخة lgpl، مجانية و تسمح بإنتاج برامج مغلقة و مملوكة دون دفع ثمن المكتبة.

هذا تضحية من نوكيا بهدف جعل المكتبة مستعملة على أوسع نطاق.

و هذا يجعل الأسئلة تطرح عن مستقبل wxWidgets.

المصدر:

http://en.wikipedia.org/wiki/Qt_(toolkit)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .