سؤال

في الوقت الحالي، يستخدم تطبيقنا مكون Trident Win32، ولكننا نريد الابتعاد عن ذلك لعدة أسباب، أهمها رغبتنا في الانتقال إلى نظام أساسي مشترك.

نحن ننظر إلى WebKit و وزغة, ، ولكني أرغب في الحصول على بعض التعليقات قبل أن أتخذ قرارًا.فيما يلي بعض أهم المتطلبات:

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

  2. التوثيق اللائق مهم.لا أتوقع أن أحتاج إلى فعل أي شيء غير عادي به، لكنك لا تعرف أبدًا.

  3. نحن نستخدم C++، ونرغب في العمل باستخدام بنية موجهة للكائنات جيدة التصميم، إن أمكن.

  4. يعد تعدد الأنظمة الأساسية أمرًا ضروريًا، وسيكون الأداء الجيد مفيدًا على المدى الطويل (قد ينتهي بنا الأمر إلى الانتقال إلى الأنظمة الأساسية المحمولة).

هل هناك أي اعتبارات يجب أن آخذها بعين الاعتبار قبل اتخاذ القرار؟هل عمل أي شخص مع WebKit أو Gecko من قبل؟إذا كان الأمر كذلك، هل هناك أي مقالات أو دروس قد أجدها مفيدة؟

تحديث:

شكرا على الردود يا شباب.لقد انتهى بنا الأمر باستخدام Qt 4.5، والذي يتضمن WebKit.نحن سعداء حقًا به حتى الآن، في الواقع أعتقد أن Qt ربما يكون أفضل إطار عمل لواجهة المستخدم استخدمته على الإطلاق؛الفرق بين البرمجة باستخدام واجهات برمجة تطبيقات Win32 الأصلية وهذا مذهل.من السهل أيضًا تعلمها، وكانت المشكلة الرئيسية الوحيدة التي واجهناها هي التعود على نموذج الإشارات/الفتحات.

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

المحلول

القليل من التاريخ قد يساعدك في اتخاذ قرارك.عندما كانت شركة Apple تفكر في المحرك الذي ستستخدمه في إنشاء Safari، نظروا إلى Gecko، لكنهم قرروا استخدام KHTML، وقاموا بتقسيمه وأطلقوا عليه اسم WebKit.كانت أسباب قيامهم بذلك هي أن Gecko كان لديه الكثير من الأشياء القديمة التي لا تزال متبقية من Netscape وكانت أكثر تعقيدًا بكثير.

كان KHTML/WebKit أحدث، وبالتالي كان له إرث أقل.لقد كان أيضًا أنظف وأسرع وأفضل توثيقًا.

كان أحد أهداف Firefox 3 هو تنظيف قاعدة التعليمات البرمجية وتبسيطها.مما سمعته أنهم فعلوا ذلك، لكنني لا أعرف كيف يمكن مقارنته بالتكرارات الحالية لـ WebKit.من الواضح أن Google لم تكن كافية عندما قامت بتصنيع Chrome، ولديها حصة كبيرة في Firefox.

يرى هنا لمزيد من التفاصيل.

نصائح أخرى

أنا متحيز، ولكن إذا كنت لا تمانع في استخدام (LGPL-ed) Qt، فماذا عن الاستخدام QtWebKit؟من السهل إلى حد ما التضمين، عبر الأنظمة الأساسية بالطبع، ويحتوي على عرض توضيحي رائع لمتصفح الويب، وغير ذلك أيضًا الأمثلة ذات الصلة.

ذلك يعتمد على الاحتياجات الخاصة بك.حتى Webkit يمكن أن يكون مبالغًا فيه إذا كنت تريد فقط عرض HTML القديم.في بعض تطبيقاتي أستخدم wxHTML بدلاً من ذلك.إنه مكون من مكتبة wxWidgets (لست متأكدًا مما إذا كان يمكنك استخدامه بدون wx).إنه خفيف الوزن، ويدعم عناصر HTML الأساسية فقط (قد يكون بعض دعم CSS متاحًا في الإصدار التالي)، ويحتوي على عنصر تحكم wxHtmlEasyPrinting الرائع الذي يوفر معاينة طباعة رائعة ويطبع أيضًا بشكل جيد جدًا.أما بالنسبة للأنظمة الأساسية المشتركة، فإن wxWidgets يعمل على أنظمة التشغيل Windows وLinux وMac وبعض الأنظمة الأخرى، لذا فمن المؤكد أن هذا يناسب متطلباتك.

لا أنصح بالسير في طريق جيكو.من الممكن دمجها، لكن تنفيذها أصعب بكثير من تنفيذ KHTML/Webkit - وذلك ببساطة لأن Gecko لم يتم تصميمه مع وضع التضمين في الاعتبار.

أعتقد أنني سأقترح محرك WebKit الخاص بـ Safari/Chrome المشتق من KHTML، محرك العرض Konqueror.

حاول اختيار Webkit حيث يتم استخدامه بواسطة العديد من المتصفحات المختلفة (Konqueror وSafari وGoogle chrome).وهذا يجعل Webkit أكثر تنوعًا وأكثر قدرة على التكيف مع الاحتياجات الأخرى.

يرتبط تطوير Gecko ارتباطًا وثيقًا بـ Firefox.تم إجراء الكثير من التعديلات على Gecko لأن Firefox يمليها.على سبيل المثال، قرر Firefox 3 أنه سيحظر جميع الشهادات الموقعة ذاتيًا لأغراض أمنية.تم التنفيذ في محرك Gecko مما يعني أن أي تطبيق يقرر تضمين Gecko تمت إضافة هذا القيد الأمني ​​إليه.

إذا كان بإمكانك الاستمرار في استخدام Webkit لأنه في الأساس محرك عرض لصفحات HTML.لقد تم تطويره بهدف استخدامه بين متصفحات الويب المختلفة.في حين أن Gecko هو في المقام الأول محرك العرض لمتصفح واحد والذي يصادف أنه يقدم واجهة برمجة تطبيقات للتضمين.

ما أفهمه هو أن Webkit جيد جدًا وأصغر من Gecko.من المفترض أن يكون قد تم تجديد أبو بريص مؤخرًا مما يجعله قابلاً للمقارنة إلى حد ما.

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