مقدمة لتطوير تطبيقات ويندوز فون 8.1
في هذه السلسلة من المقالات سنقوم بتغطية أهم المواضيع التي تتعلق بتطوير تطبيقات ويندوز فون 8.1 ، سيتم إستعراض المميزات العظيمة للإصدار الجديد من الواجهة البرمجية و حزمة التطوير SDK و ما هي النقلة الثورية التي قامت بها مايكروسوفت لجعل تطوير تطبيقات الويندوز مهمة سهلة و ممتعة.
في هذه المقالة بالتحديد، سنسلط الضوء على الخطوط العريضة لتطوير تطبيقات الويندوز فون 8.1 و ما الجديد في هذه المنصة و ما الذي يجب أن تعرفه كمطور عن الخصائص البرمجية للمنصة و ما هو حجم التقاطع بين تطبيقات ويندوز فون 8.1 و تطبيقات الويندوز 8.1 .. مستعدين؟
ويندوز واحد لجميع المطورين
الإعلان عن ويندوز فون 8.1 كان محطة مهمة للمستخدمين نظراً للمزايا الرائعة في النظام، و لكنه كان أكثر أهمية للمطورين نظراً لما جلب معه الإعلان من أخبار سارة تتعلق بتوحيد جزء كبير جداً من منصة التطوير مع الويندوز 8.1 ، على سبيل المثال:
1- تقارب كبير في منصة التطوير
2- تقارب كبير في نموذج تطوير التطبيقات
3- تشارك كامل في هوية التطبيقات App Identities
4- تشارك كامل في استحقاقات التطبيقات App Entitlement
5- خدمة تنبيهات موحدة Unified Push Service عن طريق Windows Notification Service
كما تلاحظ في هذه الصورة التي توضح حجم التقاطع الكبير في الواجهة البرمجية بين ويندوز 8.1 و ويندوز فون 8.1 ، لنعطيك حجم العمل الكبير الذي حصل في ويندوز فون 8.1 ، فتخيل أن حجم التقاطع بين هاتين الدائريتين في ويندوز فون 8 كان حوالي 30% ، أما الآن فإن ما نسبته 90% من الواجهة البرمجية بين المنصتين مشتركة ، أي أن 90% من تطبيقك على أحد المنصتين لن تضطر لتغييره إذا قررت نقله للمنصة الأخرى! في الحقيقة فإن هدف مايكروسوفت أن تصل لنسبة 100% مما يجعلك أي تطبيق على أحد المنصات يعمل نظرياً على المنصة الأخرى دون القيام بأي تغييرات برمجية.
منصة التطوير في ويندوز فون 8.1
تتساءل كيف تبدو منصة التطوير في ويندوز فون 8.1 و ما هي التقنيات و لغات البرمجة و الواجهات البرمجية التي يمكنك أن تكتب بها تطبيقك، حسناً .. إليك هذه الصورة و التي توضح أيضاً حجم التقاطع بين المنصتين (ويندوز فون 8.1 و ويندوز 8.1)
يوضح الرسم السابق ما يلي:
1- كل المربعات ذات اللون الأزرق هي واجهات برمجية و تقنيات مشتركة بين المنصتين، هي الـ 90% التي تحدثنا عنها سابقاً !
2- الويندوز فون 8.1 كمنصة برمجية أصبح يستند كلياً على الـ WinRT ، تماماً كالويندوز 8.1
3- ما زال بإمكان المطورين استخدام الواجهة البرمجية لويندوز فون Windows Phone Runtime
4- الخبر السار، ستستطيع بناء تطبيقات ويندوز فون 8.1 أصيلة Native باستخدام الجافا سكربت و الـ HTML5
5- كما هو معتاد، منصة الويندوز فون تحترم استثمارك السابق ، أياً كانت لغة البرمجة التي استخدمتها لبناء تطبيقاتك سواء C++ أو C# أو VB فإن شيفرتك البرمجية ستجد مكانها في مشروعك الجديد على ويندوز فون 8.1
نظرة أقرب
لنلقي نظرة أقرب و ابسط على المنصة البرمجية لويندوز فون 8.1 من خلال هذا الرسم التوضيحي
هذه هي منصة التطوير لويندوز فون 8.1 ، و لتوضيحها:
1- المنصة بشكل كامل تعتمد على WinRT و هو كما قلنا سابقاً سبب التقاطع الكبير بينها و بين ويندوز 8.1
2- يمكن تطوير الألعاب بإستخدام مكتبات DirectX و Direct 3D بإستخدام C++ و أي من محركات الألعاب الشهيرة. كل ذلك مع الوصول للواجهة البرمجية في WinRT
3- يمكن الآن تطوير تطبيقات أصيلة Native بإستخدام الجافات سكربت و الـ HTML
4- لتطوير واجهات التطبيقات بإستخدام XAML يمكنك الإعتماد على الواجهة البرمجية WinRT مع كتابة شيفرتك البرمجية بـ C++ أو C# أو VB. هذا الخيار سيتيح لتطبيقك العمل على ويندوز 8.1 بدون تعديلات تذكر على الشيفرة البرمجية.
5- كما يمكنك الإستمرار ببناء تطبيقات XAML معتمداً على الـ Silverlight و الشيفرة البرمجية بـ C# أو VB ، لكن هذا الخيار لن يسمح لك بنقل تطبيقك كما هو للعمل على ويندوز 8.1
تطبيقات ويندوز الموحدة Windows Universal Apps
رغم أننا لن نتطرق بإسهاب في هذه السلسلة للتطبيقات الموحدة، إلا أنه تجدر الإشارة لها كونها أهم ما تم الإعلان عنه مؤخراً، فكما قلنا سابقاً بإن منصة التطوير لويندوز فون 8.1 و ويندوز 8.1 هي منصة واحدة بنسبة 90%. قامت مايكروسوفت بإتاحة الفرصة للمطورين لبناء نفس التطبيق مرة واحدة على فيجوال ستوديو و تصديره للعمل على ويندوز فون و ويندوز 8 بدون أي تعديلات برمجية.
كما هو موضح في الصورة أعلاه فإن التطبيق الهجين الجديد يعمل كتطبيق أصيل Native على المنصتين، حيث سيقوم الفيجوال ستوديو فعلياً بتصدير تطبيقين منفصلين لما قمت أنت بتطويره مره واحد كتطبيق واحد!
رحبوا بالجافا سكربت و الـ HTML
باب جديد تم فتحه للمطورين لتطوير تطبيقاتهم على ويندوز فون 8.1 ، إذا أتيت من خلفية التطوير للويب فأنت على الأرجح ستجد الطريق ممهد لك لبناء تطبيقك الأول على ويندوز فون 8.1 بدون أي مصاعب. من خلال فيجوال ستوديو سيمكنك فتح مشروع لتطوير تطبيق ويندوز فون 8.1 بإستخدام WinJS و HTML5 للوصول إلى الواجهة البرمجية WinRT تماماً كما هو الحال مع ويندوز 8.1
تقارب أدوات التحكم
أدوات التحكم نقصد بها هنا كل العناصر الخاصة بالتحكم في التطبيق في الشاشة ، مثل الأزرار Buttons و أزرار الإختيار Radio Buttons / Check Boxes و أشرطة الحالة Progress Bar و غيرها. الآن أصبحت كل هذه الأدوات في تطبيقك على ويندوز فون 8.1 موحدة تقريباً مع نظيرتها في ويندوز 8.1
ما الذي يعنيه ذلك؟ يعني أن شيفرة XAML لتطبيقك ستكون موحدة أيضاً ، ستحتاج لتخصيص بعض الجزئيات أحياناً في الواجهة للتناسب مع طبيعة العرض في كل نظام، فمساحة العرض المستهدفة في أجهزة الويندوز فون تختلف عن المساحة المستهدفة في الأجهزة اللوحية و الحواسيب التي تعمل بنظام ويندوز 8.1
الحركات Animations
في منصة التطوير لويندوز فون 8.1 ، ستجد عدد من حركات التنقل بين الشاشات أو تأثيرات الحركة معدة و مبنية مسبقاً في النظام و ما عليك سوا استخدامها مثل :
1- تأثيرات تصفح الصفحة Page Navigation
2- تأثير PointerDown/Up (Tilt)
3- تأثير قلب الصفحة Page Rotation
4- تأثير القائمة Context Menu
أيضاً حينما نتحدث عن تأثيرات الحركة في ويندوز فون 8.1 فإننا نتحدث عن تقارب كبير جداً بينها و بين تأثيرات الحركة في ويندوز 8.1 ، بالفعل فإن النظامين يستخدمون نفس الواجهة البرمجية تماماً للقيام بتلك التأثيرات.
الـ Triggers و مهام الخلفية
الرسم التالي يوضح نوع الـ Triggers التي يمكن تسجيلها و الاستجابة لها من خلال تطبيقك في ويندوز فون 8.1
تجوال بيانات تطبيقك و النسخ الإحتياطي
كما ذكرنا في بداية هذا الموضوع بأن أحد أهم مزايا ويندوز فون 8.1 هو إتاحته لمشاركة هوية التطبيق ، وهو ما يعني أن تطبيقك بإمكانه أن يقوم بعمل مزامنة مع نسخة أخرى من التطبيق تعمل على جهاز آخر للمستخدم، سواء كانت تلك النسخة في هاتف ويندوز فون آخر أو نسخة ويندوز 8.1 على جهاز لوحي أو حاسب شخصي! هذا الأمر يمنح المستخدم تجربة إستخدام فريدة حيث أنه لم يعد مضطراً لإعادة ضبط الإعدادات أو نقل البيانات بين الجهازين ، كما أنك كمطور لن تضطر للإشتراك في خدمة سحابية أو برمجة عملية التزامن هذه بنفسك، المنصة تقوم بها نيابة عنك بإستخدام حساب ون درايف الخاص بمستخدم الجهاز.
كما تلاحظ في الرسم السابق فإن بيانات التجوال Roaming يتم نقلها لحساب ون درايف للمستخدم، لكن عليك الإنتباه كمطور أن الحد الأقصى المسموح لك تسجيله للبيانات المتجولة بين الأجهزة هو 100 كيلوبايت، إذ يمكنك مثلاً تسجيل الإعدادات أو التفضيلات Settings & Preferences لتتجول مع المستخدم في كل أجهزته .
أما النسخ الإحتياطي للتطبيق بكامله أو بياناته كاملة فيمكنك نقلها كنسخة إحتياطية على حساب ون درايف للمستخدم بحيث يمكن للمستخدم إسترجاع النسخة الاحتياطية متى اما أراد. الميزة هنا أنك كمطور لن تضطر لكتابة أكواد المزامنة و لن تزعج نفسك في محاولة ضمان تكامل البيانات Data Integrity ، النظام يتولى الأمر نيابة عنك.
السياج الجغرافي Geofencing
أحد الخصائص الحديثة في ويندوز فون 8.1 هو مقدرتك على تطوير تطبيق يتخذ إجراء وفقاً لدخول الجهاز ضمن نطاق جغرافي محدد. مثلاً ، يمكنك أن تبرمج تطبيق لأخذ الملاحظات Note Taking و تسمح لمستخدمي التطبيق بأن يطلبوا من التطبيق أن يقوم بكتابة ملاحظة جديدة بعنوان "وصلت للمنزل في الساعة XX" في كل مرة يصل الجهاز لنقطة جغرافية محدده يعرفها المستخدم على أنها منزله!
تسجيل الشاشة
في ويندوز فون 8.1 ، أصبح بإمكان المطور أن يقوم بتسجيل الحدث الذي يتم الآن على التطبيق كمقطع فيديو و يتيح للمستخدم مشاركته، هذا الأمر مفيد جداً لمطوري الألعاب، فمثلاً يمكنك تسجيل حدث معين "تسجيل هدف" و إتاحة الفرصة للمستخدم أن يقوم بمشاركته مع أصدقائه أو رفعه على يوتيوب!
البلوتوث
ما الذي يمكنك كمطور عمله بالخصائص الجديدة للبلوتوث في ويندوز فون 8.1 ؟
1- مراقبة نبضات القلب من جهاز مرتبط بالمعصم
2- البحث التقريبي Proximity Detector ، لإيجاد مفتاح ضائع مثلاً
3- التطبيقات يمكنها إستقبال أوامر من جهاز البلوتوث و هي تعمل بالخلفية
4- تشغيل تطبيق في حال إستلام أمر من البلوتوث
و الكثير الكثير ...
لا يسع المقام في هذه المقالة لذكر كل التفاصيل الخاصة بمنصة التطوير، و لكن هناك المئات من الأمور الجديدة في المنصة و هناك العديد من الأفكار الجديدة التي أصبح بالإمكان تنفيذها على ويندوز فون 8.1 ، هذه بعض الأمور التي إستحدثت في النظام من ناحية الواجهة البرمجية:
كيف أبدأ التطوير؟
إذا لم يكن لديك فيجوال ستوديو 2013 ، فقم بتحميله من خلال هذا الرابط :
https://go.microsoft.com/fwlink/?LinkId=393539
إذا قمت بتحميله أو كان لديك مسبقاً ، فقم بتركيب التحديث الأخير من خلال هذا الرابط:
https://go.microsoft.com/fwlink/?LinkId=393540
ماذا بعد؟
سأقوم قريباً بنشر المقالة التالية ، الا وهي دورة تدريبية مصغرة Tutorial لبناء أول تطبيق لك على ويندوز فون 8.1 ، في غضون هذا الوقت سيكون من المفيد لك الإطلاع على تطبيقات العينة Demo الموجودة على هذا الرابط :
رحلة تطوير سعيدة :)
Comments
Anonymous
May 04, 2014
شكراً لك أخ ناصر . مقالة جميلة ومتميزة . بالمفضلة :)Anonymous
November 10, 2014
شرح اكثر من جميل ورائع