هل يوصى بالتنفيذ لعميل مراقبة الويب لسطح المكتب؟[مغلق]

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

سؤال

خلفية

لدي فكرة عمل، أحد مكوناتها يتضمن عميلاً يمكن تنزيله وتثبيته بواسطة آلاف المستخدمين عبر صفحة ويب.

متطلبات الاستمارة

النسخة 1:

يجب على التطبيق:

  • مراقبة استخدام الإنترنت على سطح مكتب المستخدم من خلال مراقبة المناطق التالية:

    • المتصفح المستخدم ,
    • الساعات المستخدمة
    • المواقع التي تم الوصول إليها
    • يأخذ في الاعتبار علامة تبويب المتصفح "النشطة"
  • قم بإعداد تقرير عن هذا الاستخدام (في CSV أو تنسيق آخر يمكن تصديره بسهولة)

  • يجب أن تتم مراقبته بسهولة من قبل المستخدم (على سبيل المثال، في Windows عبر رمز في علبة النظام يسمح للمستخدم بإيقاف البرنامج مؤقتًا أو إيقافه).
  • يمكن ترقيته بسهولة عبر التحديثات التلقائية.
  • يجب أن تكون خفيفة الوزن فيما يتعلق باستخدام الذاكرة.
  • يحتاج إلى التثبيت بسهولة وسرعة،
    • يجب أن يكون من الممكن إلغاء تثبيته بالكامل.
  • لا يمكن أن يؤثر سلبًا على تجربة أداء المتصفح أو نظام المستخدم
للإصدار 2:
  • تكون قادرة على تقديم المخرجات الرسومية (المخططات الدائرية والشريطية)
  • أن يكون متعدد المنصات (الإصدار 1 سيستهدف نظام التشغيل Windows فقط)
  • دمج مكون عبر الإنترنت

سؤال

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

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

المحلول

لقد قمت ببناء شيء مشابه جدًا لهذا العام الماضي.لقد استخدمت C #.في البداية، استفادت من بعض إطار العمل 3.5، ولكن اضطررت إلى تقليصه مرة أخرى إلى إطار العمل 2.0 بسبب قيود حجم التثبيت.وتقوم حاليًا بمراقبة حوالي 13000 جهاز.جمع وإرسال حوالي 3 ميغابايت من البيانات في الدقيقة إلى خادم التقارير.

تتراوح الأجهزة العميلة بين أجهزة Pentium 4 المزودة بذاكرة وصول عشوائي (RAM) تبلغ سعتها 256 ميجابايت تعمل بنظام XP على أجهزة تصل سعتها إلى 2 جيجابايت ثنائية النواة.

التطبيق الذي قمت بإنشائه لم يكن ليتم لمسه من قبل المستخدم النهائي، لذلك يتم تشغيله كمجموعة من خدمة Windows ومكون إضافي لكائن مساعد المتصفح لـ IE.كان BHO ضروريًا لالتقاط ما يحدث بالضبط في المتصفح.

كانت التحديات الحقيقية الوحيدة هي جعله يعمل تحت نظامي XP وVista (جميع مستويات حزمة الخدمة) وفي IE 6 و7.لدى XP وVista تأثيرات أمنية مختلفة يجب أخذها بعين الاعتبار؛لدى IE 6 و7 أيضًا نماذج وصول مختلفة.

أخيرًا، راهننا على التعامل مع Firefox أو المتصفحات الأخرى لأن العميل لم يهتم بها.

تحديث

يدعم Firefox فقط Javascript وc++ وxul لملحقات التعليمات البرمجية فيها؛سيكون استخدام c# بمثابة بيتا كاملاً.ربما سأجرب جافا سكريبت إذا كان سيفعل ما أحتاجه فقط لأنه أسهل.

بقدر ما يتعلق الأمر بـ Chrome، فقد بدأوا مؤخرًا فقط في دعم الإضافات (19 مارس 2009).يجب عليك تغيير خصائص بدء تشغيل الاختصار حتى تتمكن من تشغيلها.لذا، ربما سأتخطى هذا المتصفح حتى ينضج قليلاً.أتصور أنه سيكون هناك الكثير من التغييرات في كيفية إنشاء المكونات الإضافية لها خلال العام المقبل.

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

جدران الحماية

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

نصائح أخرى

يبدو أن C# يناسب احتياجاتك، طالما أنه يقتصر على عميل Windows.

تعتبر Qt وC++ مفيدة للعملاء عبر الأنظمة الأساسية - خاصة.إذا كانوا بحاجة إلى أن يكونوا "مقتصدين في الذاكرة" بطريقة لا يوجد حل في لغة جمع البيانات المهملة (أيفي الأساس كل الآخرين ؛-) عادة ما يكون كذلك.

نحتاج لمزيد من المعلومات:

هل حان الوقت لتطوير المشكلة؟باستخدام لغة C#، يمكنك تطوير مثل هذا التطبيق بسرعة؛ولكن ليس بالضرورة أن يكون لها نفس الأداء المنخفض المستوى مثل C++.يمكنك تطوير أجزاء معينة في C++ (البتات كثيفة الذاكرة) وأجزاء أخرى في C#، ولكن بعد ذلك سيتعين على عملائك تثبيت إطار عمل .NET؛ناهيك عن أنه يمكنهم إجراء هندسة عكسية لأجزاء C# بسهولة.

هناك مثلث مشروع، ونحن بحاجة إلى معرفة أيهما الأكثر أهمية بالنسبة لك:

alt text

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