القائمة الرئيسية

الصفحات

ماهو xamarin

السلام عليكم و رحمة الله . لعلك تساءلت ماهو xamarin  (باللغة العربية زامرن ) لذلك أنت هنا الآن لقراءة هاته السطور , نأمل أن نجيب بدقة من خلال هذا المقال عن جميع تساؤلاتك حولها خاصة ما يتعلق بمميزات و عيوب xamarin .
مجال تكنولوجيا المعلومات و خاصة البرمجة يقوم على مبدأ التدافع , أي أن التقنيات الحديثة تزيح القديمة من الميدان و المتحكم في ذلك هي حاجة المبرمجين مما يدفعهم إلى تغيير أدواتهم و لغاتهم البرمجية مع مرور الوقت تماشيا مع حاجتهم . ويمكن القول بإيجاز أن حاجة المبرمجين و المطورين تنحصر فيما يوفر عليهم الجهد و الوقت و التكلفة لإنجاز مشاريعهم البرمجية من خلال التقنيات التي تسهل العمل و تزيد من الإنتاجية .

تعد xamarin واحدة من هذه التقنيات التي خطفت الأضواء منذ ظهورها , حيث تم تطويرها على يد نفس المطورين الذين عملوا على مشروع mono للبرامج المتعددة المنصات أي منح مبرمجي لغة c# فرصة بناء برامج ملائمة لأنظمة التشغيل ios و أندرويد و غيرها . وكذلك تشغيل منصة دوت.نت على كافة أنظمة التشغيل . و من هنا كانت فكرة زامرن بناء تطبيقات ملائمة لكافة أنظمة التشغيل .
الآن ربما تتساءل . و ما الجديد في الأمر؟

إن عملية بناء التطبيقات الأصلية أي بالأدوات الأصلية (Native) تأخد من الوقت و الجهد و التكاليف ما لا يستهان به .
فبدأ بالأندرويد يستلزم بناء تطبيق قابل للتشغيل على هذا الأخير الإلمام بلغة Java أو Kotln و كذلك إطار العمل Android studio و الذي يصفه مستخدموه بالبطيء عند التعديل على التطبيقات و إنتظار المحاكي لإظهار التعديل و كذلك يستهلك موارد الحاسوب بشكل مبالغ فيه .

أما بالنسبة لنظام التشغيل ios لشركة Apple فهنا يستلزم بناء تطبيق الإلمام بلغة Swift أو objective-c مرفوقة مع إطار العمل x-code .

تقنية xamarin تغنيك عن كل هذا, فبإستخدامها يمكنك برمجة تطبيق واحد يعمل على كافة الأنظمة بإستخدم لغة واحدة هي c#.

لكن ربما ستسأل نفس السؤال . و ما الجديد في الأمر ؟  لأنه توجد تقنيات تسمح بإستخدام لغات الويب و على رأسها JavaScript في بناء التطبيقات لكافة أنظمة التشغيل و هذه التقنيات هي cordova و Ionic و غيرهم ...

أقول لك مثل هذه التطبيقات تدعى Hybrid apps التي تستخدم الـ webview لإظهار موقع الويب على أنه تطبيق جوال , لكن في الحقيقة لا يكون بنفس أداء التطبيقات الأصلية بالإضافة إلى كونها بسيطة و لا تصلح للمشاريع المحترمة .

على عكس ذلك تطبيقات xamarin يتم ترجمتها على أنها أصلية و تعمل بكفاءة و أداء عالي .

شرح xamarin 

هي أداة لبرمجة تطبيقات الجوال متعددة المنصات croos platforms development أي قابلة للتشغيل على كافة أنظمة الهواتف الذكية و أشهرها Android و ios و windows phone , تم إبتكارها سنة 2011 من قبل Nat Friedman و Miguel de lcaza أصحاب الشركة المنتجة لها و تحمل إسم ximian و منذ بدايتها إعتمدت التقنية لغة c# و منصة NET. 

شهدت إقبالا كبيرا من قبل المبرمجين بهذه الأدوات مما دفع شركة مايكروسوفت للإستحواذ عليها سنة 2016 و جعلها مجانية الإستخدام بعد أن كانت تتطلب إشتراك شهري قيمته 25 دولار أمريكي و لاحقا تم دمجها في الدوت.نت بحيث يمكن إستخدامها داخل بيئة visual studio .

من مميزات تقنية xamarin ما يلي

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

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

بناء التطبيقات بلغة سي شارب , فهي تعد لغة برمجة قوية تجمع بين قوة لغة ++c و بساطة لغة visual basic مما يجعل المبرمج قادرا على بناء تطبيق محترم بإستخدام لغة سهلة للتعلم .

تتميز xamarin في دعمها الـ API لكل نظام تشغيل , فالبرغم من أن الـ API لكل نظام تمت كتابته باللغات الأصلية إلا أن فريق تطوير زامرن أعاد بناءه بلغة سي شارب مما يعني الإستفادة منه بشكل لا يختلف عن الأصلي .

إستخدام بيئة visual studio الغنية عن التعريف بحيث بها مميزات و أدوات قل نظيرها في عالم البرمجة فضلا عن أن مايكروسوفت تعمل على تحديثها في كل آن لتبقى الرقم واحد و تلبي جميع إحتياجات المطورين .

ميزة التعديل السريع التي تدعى hot reload , بفضل هذه الميزة أصبح بالإمكان التعديل على التطبيق و ظهور التعديل بلمح البصر بينما كان android studio في السابق يستغرق وقت طويل لإظهار التعديل و إعادة تشغيل المحاكي .

زيادة الإنتاجية بشكل كبير و توفير وظائف جديدة للمبرمجين سواء في الشركات أو في سوق العمل الحر بحيث تتم بناء التطبيقات بسهولة و بساعات عمل أقل و بتكلفة أقل مما يصب في مصلحة جميع الأطراف .

و للأمانة إذا ما تحدثنا عن هاته التقنية بعيدا عن التطبيقات الهجينة فإنه توجد تقنيات مماثلة و بنفس إمكانيات و مميزات زامرن مثل react native التي تم تطويرها من قبل شركة فيسبوك , و كذلك تقنية flutter التي تم تطويرها من طرف شركة جوجل , و قد تحدثنا عنهما بالتفصيل في هاذين المقالين :

ماهو react native
ماهو flutter 


عيوب xamarin 

بإستخدام الأدوات الأصلية يمكن تضمين مكتبات مفتوحة المصدر بشكل واسع , أما بإستخدام زامرن يعد الأمر محدود بحيث يمكن الإعتماد على العناصر المقدمة من المنصة و بعض المصادر المفتوحة المصدر التابعة لـ NET.

الحجم كبير مقارنة بالأدوات الأصلية حيث يصل حجم تطبيق بسيط يكتب "hello world" إلى 16 ميجا بايت و ذلك بسبب
السكريبتات المضمنة بها بحيث تعمل على ملائمة التطبيق لكافة المنصات و هذا يستهلك مساحة تخزين عالية .

تقنية غير مستقرة كونها حديثة فإنه يتم تحديثها من وقت لآخر و هذا من شأنه أن يشتت المبرمجين و يضعف مصادر التعلم .

بما أنها أداة جديدة فإنه لا توجد مجتمعات ضخمة لها على غرار الأدوات الأصلية , خاصة و أنه توجد تقنيات منافسة لها بالإضافة إلى التطبيقات الهجينة مما يقلل من عدد المتهمين بها و بالتالي ضعف مجتمعها .

و قد أجريت دراسة في موقع stackoverflow تبين من خلالها أن xamarin تسيطر على 7 % من مستخدمي المكتبات و أطر العمل و تحتل بذلك المركز السابع بينما تسيطر node.js مثلا على 49 % محتلة المركز الأول و تليها angular.js بنسبة 37 % في المركز الثاني و هنا يتضح لك الفرق .

إذا كنت من للمبتدئين في البرمجة و تريد تعلم برمجة التطبيقات فعلى الأغلب لن تواجه أي مشاكل في تقنية  xamarin مادامت قادرة على بناء تطبيقات تعمل بكفاءة عالية على كافة الأنظمة و هذا هو الأساس .
هل اعجبك الموضوع :

تعليقات