مقدمة في كتابة تطبيقات Windows

مكتمل

ماذا سنوضحه؟

في هذه الوحدة، ستتعلم كيفية كتابة التطبيق ذاته بثلاث طرق مختلفة، باستخدام ثلاث تقنيات Windows مختلفة. يمكنك استخدام C#، ولكن يمكنك دمجه مع ثلاثة أطر عمل للتطوير: النظام الأساسي العام لـ Windows (UWP) وWindows Presentation Foundation (WPF) وWindows Forms.

ثم نقدم Windows Template Studio (WTS)، ويمكنك معرفة مدى سرعة إنتاج نواة تطبيق حديث بأقل جهد ممكن.

قصة ثلاثة أنظمة أساسية

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

وتحقيقًا لهذا الغرض، أنشأت Microsoft العديد من الأدوات والمكتبات. الثلاثة التي سننظر إليها في مسار التعلم هم UWP وWPF وWindows Forms. توفر الثلاثة أساليب مماثلة لبناء التطبيقات الأساسية.

Diagram that shows some of the development platforms available in Visual Studio, such as UWP, WPF, and Windows Forms.

النظام الأساسي العام لـ Windows

قدم Windows 10 النظام الأساسي العام لـ Windows (UWP)، الذي يوفر نظاما أساسيا شائعا للتطبيقات على كل جهاز يقوم بتشغيل Windows. واجهات برمجة تطبيقات UWP الأساسية هي ذاتها على كل أجهزة Windows. إذا كان تطبيقك يستخدم واجهات برمجة التطبيقات الأساسية فقط، فإنه يعمل على أي جهاز يعمل بنظام Windows 10، سواء كان كمبيوتر سطح المكتب أو Xbox أو سماعة رأس واقع مختلط أو شيء آخر.

يعد UWP هو الأفضل إذا كنت تستهدف Windows وتريد الوصول غير المرتبط إلى واجهات برمجة التطبيقات وميزات Windows. يوفر UWP أيضًا الفوائد الأخرى للنظام الأساسي للتطبيقات الحديثة. وتشمل هذه المزايا ما يلي:

  • نموذج واجهة مستخدم مستند إلى Extensible Application Markup Language (XAML) مع دعم مضمن للتكيف مع تغييرات DPI وحجم الشاشة.
  • نموذج أمان يمنح فيه المستخدمون التطبيقات حق الوصول إلى قدرات الجهاز بشكل صريح.
  • نموذج التعبئة والتغليف الذي يدعم عمليات التثبيت النظيفة والقدرة على النشر مباشرة إلى Microsoft Store.

Windows Presentation Foundation

يعتبر Windows Presentation Foundation (WPF) إطار عمل واجهة مستخدم لإنشاء تطبيقات عميل سطح المكتب. يدعم النظام الأساسي لتطوير WPF مجموعة واسعة من ميزات تطوير التطبيقات، بما في ذلك:

  • نموذج تطبيق
  • الموارد
  • عناصر التحكم
  • الرسومات
  • Layout
  • ربط البيانات
  • المستندات
  • الأمان

إنه جزء من مكتبات Windows الخاصة في .NET، لذلك إذا قمت بالفعل بإنشاء تطبيقات باستخدام .NET باستخدام ASP.NET Core أو Windows Forms، يجب أن تكون تجربة البرمجة مألوفة. يستخدم WPF XAML لتوفير نموذج تعريفي لبرمجة التطبيقات.

تعد WPF وWindows Forms أفضل إذا كنت تريد الحصول على مستوى أعلى من إنتاجية الترميز من C++ وWin32. نظرا لأن الأجزاء غير الخاصة بواجهة المستخدم من .NET الحديثة أصبحت الآن عبر النظام الأساسي، يمكنك أيضا مشاركة بعض التعليمات البرمجية والمكتبات .NET مع منصات أخرى، بما في ذلك macOS وLinux.

Windows Forms

Windows Forms هي واجهة مستخدم رسومية مفتوحة المصدر ل .NET، وهي مجموعة قياسية من مكتبات الفئة الأساسية وواجهات برمجة التطبيقات التي تبسط مهام التطبيق الشائعة. عند استخدام بيئة تطوير مثل Visual Studio، يمكنك إنشاء تطبيقات عميل ذكية Windows Forms التي تعرض المعلومات، واطلب إدخال من المستخدمين، والاتصال بأجهزة الكمبيوتر عن بُعد عبر شبكة اتصال. يستند النظام الأساسي الحالي ل Windows Forms إلى نظام أساسي قديم لواجهة مستخدم .NET Framework ويفتقر إلى بعض الميزات التي يوفرها WPF وUWP.

هذه المنصات الثلاث هي مواضيع تركيزنا في هذه الوحدة التدريبية. قبل أن نبدأ، لنلق نظرة سريعة على خيارين آخرين: WinUI وWin32.

WinUI SDK لتطبيق Windows

WinUI 3 هو مكون النظام الأساسي الأصلي لواجهة المستخدم الذي يشحن مع SDK لتطبيق Windows (منفصل عن Windows SDK). يوفر SDK لتطبيق Windows مجموعة موحدة من واجهات برمجة التطبيقات والأدوات التي يمكن استخدامها لإنشاء تطبيقات سطح المكتب للإنتاج التي تستهدف Windows 10 والإحدث، ويمكن نشرها في Microsoft Store.

إشعار

في الوقت الحالي، هناك جيلان من مكتبة واجهة مستخدم Windows (WinUI): WinUI 2 ل UWP وWinUI 3 في SDK لتطبيق Windows. بينما يمكن استخدام كليهما في التطبيقات الجاهزة للإنتاج على Windows 10 والإحدث، فإن لكل منهما أهداف تطوير مختلفة. راجع مقارنة WinUI 3 وWinUI 2.

لا يمكننا التحدث عن كتابة تطبيقات Windows دون ذكر خيار آخر وهو: Win32.

Win32 (Windows API) وC++

يمكّن Win32 API (يُسمى بشكل أكثر دقة API Windows) التطبيقات لاستخدام ميزات Windows. باستخدام API، يمكنك تطوير التطبيقات التي تعمل بنجاح على كل إصدارات Windows مع الاستفادة من الميزات والقدرات الفريدة لكل إصدار. يُعد Win32 خيار جيد إذا كنت بحاجة إلى تحقيق أعلى مستويات الأداء أو الكفاءة، أو الوصول إلى ميزات نظام التشغيل الأصلي، أو استهداف تقنيات DirectX.

يتيح لك هذا الأسلوب تحقيق أفضل أداء لتطبيقك من خلال التحكم المباشر في تخصيص الذاكرة وميزات المعالج الموجهة للأداء مثل إرشادات SSE أو AVX. كمّا أنها أفضل طريقة لاستهداف تقنيات DirectX للوصول إلى الرسومات ذات المستوى المنخفض والأداء العالي. يمكنك مشاركة التعليمات البرمجية C++ بين كل أنواع تطبيقات Windows ومع الأنظمة الأساسية غير Windows. المفاضلة هي أنه، على سبيل المثال، مقارنة ب C# وWPF، يمكن أن يستغرق الأمر قدرا كبيرا من العمل لتنفيذ حتى الميزات الأساسية.

إشعار

لمزيد من المعلومات، راجع كتابة تطبيقات Windows: تحديد تقنية تطوير.

التطبيق الذي تكتبه

التطبيق الذي ستقوم بإنشائه في هذه الوحدة النمطية هو تطبيق بسيط. يعرض بعض النص ويغير بعض الألوان عند تحديد زر.

Animation of the Say hello application running with text that repeatedly changes color.

لن يفوز بأي جوائز، ولكنه يوضح أوجه التشابه والاختلافات بين منصات التطوير.

عند توفير التعبئة الخاصة بك، يمكنك الانتقال إلى تجربة Windows Template Studio. باستخدام WTS، يمكنك إنشاء تطبيق يبدو أكثر إثارة للإعجاب بعض الشيء.

Screenshot that shows a composite of three different pages of a Weather application: a map, chart, and settings page.

هل أنت مستعد للبدء؟