ما هي الاختلافات الرئيسية بين البرمجة لنظامي التشغيل Windows XP وVista؟
-
09-06-2019 - |
سؤال
من وجهة نظر مطور تطبيقات سطح المكتب، هل هناك فرق بين التطوير لنظام التشغيل Windows XP والتطوير لنظام التشغيل Windows Vista؟
المحلول
واجهة المستخدم
أنظر إلى إرشادات تجربة مستخدم Windows Vista يمكنك أن ترى أنهم قاموا بتغيير العديد من عناصر واجهة المستخدم، والتي يجب أن تكون على علم بها.بعض الأشياء الرئيسية التي يجب مراعاتها:
- أيقونات أكبر
- جديد الخط (مما يؤثر على بعض تناسق واجهة المستخدم المخصصة)
- جديد ميزات مربع الحوار (مربعات حوار المهمة)
- تغيير حوارات مشتركة (مثل فتح ملف، حفظ باسم، وما إلى ذلك)
- نص الحوار الأسلوب والنبرة, ، و انظر و اشعر
- جديد معالجات ايرو
- أعيد تصميمها أشرطة الأدوات
- أحسن واجهة المستخدم الإخطار
- الطريقة الجديدة الموصى بها بما في ذلك أ التحكم في البحث
- زجاج
64 بت
يحتوي نظام التشغيل Vista على إصدار 64 بت، وعلى الرغم من أن نظام التشغيل XP يحتوي أيضًا على إصدار 64 بت، فمن المرجح أن يستخدم المستخدمون نظام التشغيل Vista 64 بدلاً من الإصدار XP 64.الآن عليك أن تتعامل مع:
- المحاكاة الافتراضية للتسجيل
- إعادة توجيه التسجيل (Wow6432Node)
- انعكاس التسجيل
- التوقيعات الرقمية لوحدات النواة
- مثبتات MSI لها خصائص جديدة لكى تتعامل مع
حملات المستخدم العامة
التحكم في حساب المستخدم يؤثر بشكل كبير على الأذونات الافتراضية التي يتمتع بها تطبيقك عند التفاعل مع نظام التشغيل.
واجهات برمجة التطبيقات الجديدة
هناك واجهات برمجة تطبيقات جديدة تستهدف إما الطرق الجديدة لإنشاء التطبيقات أو السماح بوظائف جديدة:
- واجهة برمجة تطبيقات التشفير:الجيل القادم (الغاز الطبيعي المضغوط)
- لغة ترميز التطبيقات الموسعة (XAML)
- مؤسسة ويندوز للاتصالات (صندوق رأس المال العامل)
- مؤسسة سير عمل ويندوز (وف)
- و العديد من الأصغر حجما
المثبتون
نظرًا لأن عمليات التثبيت يمكنها فقط استخدام أوقات التشغيل الشائعة التي يتم تثبيتها بعد اكتمال المعاملة، الإجراءات المخصصة سوف تفشل إذا كان الإجراء المخصص لديك يتطلب أوقات تشغيل Visual C++ أعلى من VS 2005 CRT (غير SP1).
نصائح أخرى
لا أبدًا افترض أن المستخدم الخاص بك لديه حق الوصول إلى مناطق رئيسية معينة من القرص (أي.ملفات البرنامج، دليل ويندوز الخ).وبدلاً من ذلك، لن يتمكن حساب المستخدم الافتراضي إلا من الكتابة إلى قسم صغير من بيانات التطبيق الخاصة به.كما أنهم لن يتمكنوا من الكتابة إلى المناطق العامة بالتسجيل - فقط قسم المستخدم الحالي.
يمكنك بالطبع رفع امتيازاتهم، لكن هذا في حد ذاته مهمة.
بشكل عام، البرمجة لنظام التشغيل Vista هي نفس برمجة XP، إنها مجرد قيود الحساب الجديدة التي يجب عليك الحذر منها.
ألقِ نظرة على هذه الصفحة فيما يتعلق بجعل تطبيقك "مدركًا لـ UAC"
http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx
يمكن أن يكون هناك، ولكن هذا هو الاختيار الواعي الذي تتخذه كمطور.يمكنك استخدام عناصر نظام التشغيل Vista الجديدة، مثل UAC وCommandLinks وAero وما إلى ذلك.لكن ليس عليك القيام بذلك (حتى UAC يمكن برمجته - فقط لا تفعل أي شيء يحتاج إلى امتيازات المسؤول).إذا اخترت تجاهل كافة عناصر نظام التشغيل Vista، فلن يكون هناك فرق بين الاثنين على الإطلاق.
إذا كنت تريد تضمين هذه الأشياء في تطبيقك، فهذا يحدث فرقًا.ولكن أود أن أقول ليست واحدة ضخمة.وإذا قمت بتجريد الاختلافات (على سبيل المثال، اكتب وظيفتك الخاصة التي تعرض TaskDialog لنظام التشغيل Vista، ولكنها تقلل من المدخلات التي تقدمها في MesssageBox على XP)، فستكتب فقط مقابل الكود الخاص بك، وستبدو الاختلافات وكأنها لا شيء تقريبًا.
بالإضافة إلى ذلك، فإن الكثير من عناصر نظام التشغيل Vista الجديدة (على سبيل المثال، UAC أو Aero) هي أشياء تقلق بشأنها مرة واحدة، عندما تقوم بإنشاء أول وظيفة تستخدمها، وتجعلها تعمل، ثم لا تفكر فيها أبدًا مرة أخرى أثناء وجودك تطوير التطبيق.
إلى حد بعيد، الجزء الأكثر إيلامًا في نقل تطبيق ما من XP إلى Vista (من وجهة نظري) هو التعامل مع الخدمات العديدة وعناصر IPv6 التي تستخدم المنافذ التي كانت مجانية سابقًا، والتعامل مع التزويد اللاسلكي -> انتقال WiFi الأصلي.
تعتبر عناصر UAC في الأساس نقطة خلافية؛هناك القليل جدًا الذي يتعين على مطور التطبيق القيام به.