نموت نموت، ويحيى Xamarin !


مقدمة زائدة:

كأن مجال التقنيات المعلوماتية مجال عاق بأبنائه، لا يراعي لهم قدرا ولا يحفظ لهم عهدا، فما تكاد تقنية من تقنياته تنبغ حتى يحطمها المجال بتقنية أخرى فتسقط على أنفها كأن لم تزدهر بالأمس.
ربما تكون هذه الجزئية الصغيرة هي الفرق الكبير الذي يقلب الأدوار، فيموت الأبطال ميتة البعير ويتسلل إلى المشهد أحد الرعاع ليتصدر البطولة بلا منازع!
تقنية تُسقط أخرى، لغة تزيح أخرى، والحاجة البشرية وراء الكواليس تضحك مِلْءَ شِدْقَيْها وهي تُحرك الخيوط لتصنع المشهد.
سُنَّةُ التدافع التي فطر المولى تبارك وتعالى خلقه عليها، ماضية حتى في مصنوعات خلقه، تَدَافُعٌ مستمر، والخيرية مشروطة بالصلاح وحسن الأداء، ومن يعيشون دور الضحية سيتجاوزهم الزمن، وَسَيُنْقَلونَ من الاستعمال إلى الاستبدال..
وكذا حال مصنوعات الخلق، وعن تقنيات المعلومات بالذات أتحدث!
سأضيق حلقة التركيز أكثر لندخل في صلب الموضوع، حديثنا سيكون عن تطبيقات الموبايل باستخدام Xamarin، باعتبارها فاعلا أساسيا في هذه الدراما التقنية التي يموت أبطالها إذا رفضوا التجديد، أو غفلوا عن جزئية فسبقهم إليها غيرهم، ربما تكون هذه الجزئية الصغيرة هي الفرق الكبير الذي يقلب الأدوار، فيموت الأبطال ميتة البعير ويتسلل إلى المشهد أحد الرعاع ليتصدر البطولة بلا منازع!
لئيمة أنت يا تكنولوجيا.. ومخدوع من أمن لك!

قبل الولادة كان المخاض:

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

فكان سالك هذا السبيل يصل إلى ملتقى طرق عليه لافتات كما يلي:
1. إذا أردت برمجة تطبيقات أندرويد فاحمل ضمن زادك لغة جافا
2. إذا أردت برمجة تطبيقات iOS فاحمل ضمن زادك لغة Objective C أو Swift
3. إذا أردت برمجة تطبيقات Windows Phone فاحمل ضمن زادك لغة  C#
وبعض الأنظمة الضعيفة بقيت لافتتها تبهت حتى ضاعت حروفها، فلا يكاد مطالعها يتبين لوازم السفر إلا بعد جهد، وحديثي عن  Symbian ومن حذا حذوه !
عموما، دفعت هذه التعددية أهل البرمجة إلى الركون إلى حيز الراحة، فكل مبرمج يتجه صوب اللغة التي يعرفها، فكان من النادر أن تجد مبرمج جافا ينشىء برامج يستهدف بها نظام الويندوز فون أو مبرمج سي شارب يستهدف تطبيقات iOS...
أما إذا أراد المبرمج أن ينشىء تطبيقا يعمل على الأنظمة الثلاثة، فكان لزاما عليه أن يقطع الطريق التالية:
1. تعلم اللغات البرمجية اللازمة لكل نظام
2. التمرن على بيئة التطوير الخاصة بكل نظام
3. إنشاء التطبيق بجميع اللغات
الخطوات قد تبدو سهلة في العد، لكن وقعها كالعض!
فليس من السهل أن تتقن كل اللغات الآنفة إلى حد إبداع ما تجود به قريحتك، وشتان بين أن تكون مبدعا، وبين أن توهم نفسك أنك كذلك، كدأب المتنطعين الذين يظنون أن طباعة جملة Hello World بجميع اللغات دليل تميزهم، وكلامي للفهم لا للهدم، فَاعْقِلْ!
فكان من أولى البشائر ظهور ما يعرف بالتطبيقات الهجينة Hybrid Applications، وهي تطبيقات تُبرمج مرة واحدة وتعمل على مختلف الأنظمة، بحكم أنها مصممة بلغات عامة HTML و CSS و Javascript من خلال إحدى بيئات التطوير التي تجعل هذا التطبيق قادرا على الاشتغال في مختلف الموبايلات،ومن أبرز بيئات التطوير التي تسمح بإنتاج تطبيقات هجينة نجد بيئة Cordova و PhoneGap وغيرهم...
سيرا على نفس المنوال، قام مؤسسو شركة Ximian سنة 2011 بإصدار منصة Xamarin لكن هذه المرة برؤية مختلفة، حيث أن التطبيقات الناتجة لن تكون هجينة Hybrid وإنما ستكون أصلية Native كما لو أنها برمجت باللغات البرمجية الأصلية لكل نظام.
بدت الفكرة مغرية جدا، لا سيما وأن المبرمج لن يحتاج أكثر من لغة سي شارب لكي يقوم بإنشاء تطبيقات موبايل أصلية لمختلف أنظمة تشغيل الموبايلات،
وفي عام 2016 قامت شركة ميكروسوفت بشراء منصة Xamarin وجعلتها مجانية لمستخدمي الفيجوال ستوديو، وقد سبق وتحدثنا عن ذلك في المقالة التالية:

حول شراء ميكروسوفت لمنصة Xamarin

بعد الولادة، كثر السؤال

مئات الآلاف من المبرمجين اليوم يستعملون منصة Xamarin لبناء تطبيقات موبايل متعددة البيئة Cross-Platform Mobile Applications، لأسباب عدة، أبرزها سهولة تعلم لغة سي شارب، ومجانية منصة Xamarin، والقدرة على إنتاج تطبيقات تشتغل بكفاءة كما لو أنها برمجت بلغاتها الأصلية.
فلما كان الإقبال متزايدا على Xamarin، كثرت الأسئلة حوله، فكان من جملة الأسئلة التي راجت ما سنسعى إلى الإجابة عليه أسفله بحول الله وقوته.

ماهو Xamarin؟

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

لماذا Xamarin دون غيره؟


  • لأنه يوفر علينا الوقت في بناء تطبيقات الموبايل ثلاث مرات، فبدل استغراق ثلاثة أشهر لبناء نفس التطبيق على ثلاث منصات، سنستغرق فقط شهرا واحدا.
  • لأنه مجاني
  • لأنه يعفينا من تعلم عدة لغات برمجية لاستهداف باقي منصات الموبايل
  • لأنه يسمح بإنشاء تطبيقات أصلية Native Applications تعمل بكفاءة عالية.
  • لأنه يسمح لنا ببناء التطبيقات بلغة سي شارب الغالية على قلوبنا جميعا.
  • لأنه يسمح لنا بتضمين مجتابت مبرمجة بلغات أخرى كجافا و Objective C، الشيء الذي سيعفينا بشكل كامل من تعلم هذه اللغات، وحتى إذا ما احتجناها فكل ما علينا هو جلبها للمشروع والعمل عليها بلغة سي شارب.
  • لأنه يسمح لنا باستعمال الفيجوال ستوديو كبيئة للتطوير، وبما أننا نحن مبرمجو الدوت نيت معتادون عليه فلن نجد مشاكل في تطوير التطبيقات باستعمال Xamarin.

ما الذي سأحتاجه لأبدأ Xamarin؟

كل ما ستحتاجه هو برنامج فيجوال ستوديو أو برنامج Xamarin Studio لكي تبدأ عملك.

من أين أتعلم Xamarin؟

إذا أسعفنا الوقت سنحاول أن نسجل دورة متكاملة إن شاء الله لتعلم Xamarin من الصفر إلى الاحتراف، أما الآن فأفضل مكان يمكنك أن تتعلم Xamarin منه هو المصادر الرسمية له عبر الموقع التالي:
https://developer.xamarin.com/guides/
كما يمكنك متابعة دورة الأخ الفاضل حسين الربيعي من هنا:
رابط الدورة على قناة بغداد الجديدة
ورأيي فيها أنها دورة جميلة وتفتح العيون على منصة Xamarin لكنها ليست كافية.

ويمكنك أيضا متابعة قناة أخينا الحبيب حسام الدلاعي، من تونس الحبيبة، أغلب المحاضرات باللغة الانجليزية لكنها جيدة في رأيي:
قناة حسام

إلى هنا أدعو لكم جميعا بالتوفيق والسداد، ودام لكم البشر والفرح!

هناك 27 تعليقًا:

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

    ردحذف
  2. استاذنا الفاضل جزاك الله كل خير

    ردحذف
    الردود
    1. آمين يا رب ولكم بالمثل أخي العزيز

      حذف
  3. ابدعت في الطرح
    انت فعلاً رائع اخينا خالد السعداني
    اسعدك الله برؤية وجهه الكريم وبارك الله فيك وسدد خطاك
    وانا كذلك اضم صوتي لصوت الاخ احمد سلطان بأن تتطرق لهذه التقنية لأننا اعتدنا على شرحك الذي يتسم بالوضوح وسهولة الفهم..

    ردحذف
    الردود
    1. الله يكرمك أخي الحبيب خالد، نسأل الله عز وجل التيسير

      حذف
  4. سمت ايدك وعيونك
    ابدعت وأحسنت الطرح

    ردحذف
  5. الله يعطيك الف عافيه على المجهود

    لكن عندي لك طلب الله يحفظك صديقي انك تعدل درس ال26. الإجراءات والدوال Procedures and Functions
    لانه نفس الدرس الي قبله شكلك خربطت في النسخ

    انا من متابعينك ومن اشد الناس تعلق بدروسك
    كل الشكر الك
    دمت بحفظ الله

    ردحذف
  6. استاذ بلنسبة للفجول بيزك هل من الممكن نعمل تطبيق اندرويد بهذه اللغة

    ردحذف
    الردود
    1. بالفيجوال بيزك مباشرة لا يمكن أخي الحبيب

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

      حذف
  7. أزال المؤلف هذا التعليق.

    ردحذف
  8. ممكن توضح لي اخي كيف يكون الزامرن نيتف ؟

    ردحذف
  9. مبدع الله يحفظك يامهندس خالد وشكرا على المعلومات

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

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

    ردحذف
  12. شكرا لك استاذ خالد نتمنى من جنابكم الكريم انت تتحفونا بالمزيد من عطاياكم

    ردحذف
  13. ننتظر منك كورس يضعنا على أول الطريق فإننا نرتاح لأسلوبك بالإعطاء والعطاء.

    ردحذف
  14. بارك الله فيك وجعل ما تقدمه في ميزان حسناتك . نحو مزيد من الابداع والتميز والعطاء

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

    ردحذف
  16. " إذا أسعفنا الوقت سنحاول أن نسجل دورة متكاملة إن شاء الله لتعلم Xamarin من الصفر إلى الاحتراف "

    هل من بشارة نتصبر بها ؟

    ردحذف
  17. ماذا عن الفجول بيسك هل لها محل من الإعراب :: في Xamarin

    ردحذف
  18. Thank you so much Mr Khaled for mentioning my youtube channel. Actually, I started an arabic course about Xamarin, but then I stopped because I didn't found so much people interested in it.
    https://www.youtube.com/watch?v=eSPsphCXHec&list=PLpbcUe4chE79QXkjtxPi0Y93vCIIbzsqX

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

      حذف
  19. بارك الله فيك دكتور خالد السعداني

    ردحذف