ترقية ج # ويندوز واجهة المستخدم الرسومية إلى ج # تطبيق ويب :كيفية الحصول عليها العمل خارج منطقة الجزاء للفوز, ماك & لينكس?

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

  •  10-12-2019
  •  | 
  •  

سؤال

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

لذلك فكرتي ، كان الاستمرار مع ج# (اللازمة بسبب برنامج فرعي أساسي يحتاج إلى تشغيل ج # ولا يمكن استدار) ومحاولة إعادة كتابته كتطبيق ويب أن أي مستخدم على ويندوز ، ماك أو لينكس يمكن الوصول بسهولة وجعلها تعمل.

من المهم أيضا أن يظل طلبي يعمل "خارج الصندوق" لأنه يهدف إلى إمكانية الوصول العالية.

لقد بحثت عن حلول مثل :

  • كاياختب لكنه لا يدعم بيانات النشر !(مطلوب لواجهة المستخدم الرسومية على شبكة الإنترنت)
  • 2 من مونو وجعل ASP.NET مفك تطبيق ويب, ولكن هل ستعمل حقا مع تطبيق الويب الخاص بي لإنشاء تطبيق خارج الصندوق ?

بدلا من ذلك, هل لديك أي فكرة أخرى بالنسبة لي أن يكون ج # التطبيق على شبكة الإنترنت العمل من خارج منطقة الجزاء للمستخدمين النهائيين ?الشيء الوحيد المطلوب هو تثبيت مونو على ماك ولينكس.

شكرا جزيلا لمساعدتكم.

تحرير 1 :أدرك أنني لم أشرح جميع الجوانب بشكل صحيح.في الواقع ، هناك 2 تطبيقات في مشروعي :

  • التطبيق الأساسي الذي هو مكتوب في ج# وأكبر من أن تكون استدار أو إعادة كتابة ، وبالتالي يجب استخدام مونو لتشغيل على ماك ولينكس
  • بلدي تطبيق واجهة المستخدم الرسومية باستخدام أشكال ويندوز الذي هو مكتوب في ج # جدا ويتحكم في التطبيق الأساسية

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

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

المحلول

هل من الضروري أن يعمل تطبيقك الأساسي على العميل؟

إذا لم يكن الأمر كذلك، فإن أفضل طريقة هي إعادة كتابة كل شيء كاستطبيق ويب (ASP.NET) الذي سيتم تشغيله على خادم Windows. سيتم بعد ذلك الوصول إلى المستخدمين على جميع المنصات المستهدفة هذا التطبيق من خلال مستعرض ويب.

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

  • إلقاء نظرة على أدوات واجهة المستخدم الرسومية متوفرة للأحد وحدد واحد متاح على الكل منصاتك المستهدفة لتجنب وجود نهايات أمامية مختلفة لكل من منصاتك.
  • لضمان أفضل تجربة للمستخدم على جميع المنصات التي يجب عليك اختيار مجموعة أدوات واجهة المستخدم الرسومية الأصلية لكل من المنصات وكتابة نهاية أمامية مختلفة لهم: إما باستخدام أحادي أو استخدام بيئة تطوير أصلية طالما أن التطبيق الأساسي الخاص بك يحتوي على واجهة التي يمكن الوصول إليها منه (مثل سطر الأوامر أو ما شابه).

نصائح أخرى

هذا سؤال مكرر ، لكن ليس لدي وقت للعثور على النسخة المكررة.

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

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

كن على دراية بالفرق الكبير المخفي بين النظامين الأساسيين:سيتم تشغيل تطبيق الويب على الخادم.سيتم استخدامه من قبل عدة مستخدمين في نفس الوقت ، وبواسطة سلاسل رسائل متعددة في نفس الوقت.بينما كنت إعادة بيع ديون ، تكون على يقين من أن نلاحظ أي رمز من شأنها أن تكون حساسة للفرق.على سبيل المثال ، التعليمات البرمجية التي تستخدم static يمكن أن تعمل حقول الأعضاء الآن في تطبيق سطح المكتب نظرا لوجود مستخدم واحد فقط في كل مرة.في تطبيق ويب ، أن static سيتم مشاركتها عبر جميع المستخدمين وجميع المواضيع.

قد لا يكون هذا ما كان يدور في ذهنك.

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