المتابعون للمدونة

الاثنين، 24 أكتوبر 2016

الفرق بين WPF و UWP


س: ما الفرق بين WPF و UWP؟

ج: ظهرت لغة XAML لتستخدم في تصميم واجهات الويندوز في تطبيقات WPF (الحرف اختصار Windows Presentation Foundation) وهي تقنية متقدمة في تصميم الواجهات الرسومية أفضل بكثير من نماذج الويندوز Windows Forms.. لتفاصيل أكثر اقرأ هذا الموضوع:


وتمتاز WPF بأنها تعمل على أي نظام ويندوز يوجد عليه الإصدار المناسب من إطار العمل .Net Framework. هذا يعني أنك تستطيع تشغيلها على ويندوز فيستا، وويندوز اكس بي (مع مراعاة أنهما لا يدعمان بعض إصدارات إطار العمل الأحدث)، ووينددوز 7 و 8 و 10.

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

وما زالت WPF و Silver Light تعملان حتى اليوم، لكن ميكروسوفت لا تبذل جهدا كبيرا لتطويرهما (وإن كانت تحدث WPF لدعم النسخ الأحدث من DirectX).. فما هو السبب يا ترى؟

السبب أن ميكروسوفت قررت إجراء تغييرات ثورية في نظام ويندوز 8 لأنها أرادت أن يعمل ويندوز 8 على أجهزة ويندوز فون، وأن تتم إنشاء تطبيقات له تعمل على الحاسوب الشخصي وأجهزة الهاتف يتم بيعها في Windows Store.. لهذا أنشأت ميكروسوفت نوعا جديدا من المشاريع اسمه Windows Store Application يعمل فقط على ويندوز 8.. ولا يحتاج مبرمج WPF لبذل جهد يذكر للانتقال إلى هذا النوع من المشاريع، فهو يتعامل مع لغة XAML ونفس طرق التصميم والأدوات والفئات بلا فروق تذكر!.. لكن كما ذكرنا: هذا النوع من المشاريع لن يعمل إلا على الأجهزة التي تستخدم ويندوز 8 و 8.1 فقط!

ومع صدور ويندوز 10، غيرت ميكروسوفت الاسم للمرة الثالثة إلى Universal Windows Plateform أو اختصارا UWP لإنشاء تطبيقات تعمل على ويندوز 10 فقط، ولا تعمل على أي ويندوز سابق!.. ومرة أخرى نأكد أنك ما زلت تتعامل مع نفس قدرات WPF لكن في نطاق ويندوز 10 فقط!

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

فلو كنت تريد إنشاء برامج تعمل على سطح المكتب فقط، فعليك استخدام Windows Forms (التي لا جديد فيها منذ عام 2008) أو WPF التي تباطأ تطويرها، لكنها تمنح إمكانيات أكبر من نماذج الويندوز، كما أن الجهد الذي ستبذله في تعلمها سيفيدك عند الانتقال إلى UWP.

أما إذا كنت تستهدف أجهزة محمولة أو أجهزة XBox أو Microsoft HoloLens، فعليك استخدام UWP (وإذا كنت تستهدف أجهزة عليها إصدارات ويندوز 8 أو 8.1 فعليك استخدام Windows Store Apps).

فارق آخر مهم بين WPF و UWP أو WPF تعمل على إطار العمل .NET Framework ولا يدعم .NET Core بينما يمكن استخدام UWP مع دوت نت كور، الذي تهدف ميكروسوفت لجعله عابرا لنظم التشغيل.. لكن هذا لا يعني أن تطبيقات UWP صالحة للعمل على أي نظام تشغيل غير الويندوز.. لا تنس أن اسمها يحتوي على الكلمة Windows أصلا :).. في الحقيقة تستخدم تطبيقات UWP نسخة خاصة من دوت نت كور، تجعلها صالحة للعمل عبر أنواع الأجهزة المختلفة التي تعمل بنظام ويندوز 10.

 

الخلاصة:

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

 

 

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.

صفحة الشاعر