در این مقاله قصد داریم ببینیم  زامارین چگونه کار برنامه نویسی رو با استفاده از #C و NET. آسان می کند. همچنین در ادامه به نقد و بررسی این تکنولوژی بپردازیم
xamiran

معرفی زامارین

Xamarin نام شرکتی است که ابزارهای توسعه نرم افزار تجاری تولید می کند. این شرکت با استفاده از پروژه متن باز Mono بستری را فراهم می آورد که بتوان با استفاده از #C و NET.بتوان برنامه هایی برای اندروید و OS X و IOS ساخت. Xamarin برای ساخت برنامه های اندروید محصول Xamarin.Android را به بازار عرضه کرده است.


xamiranplat
در ادامه بحث  لیستی از مزایا و معایب استفاده از این نرم افزار ذکر شده است

مزایای استفاده از زامارین (Xamarin)

  • استفاده از مهارت های #C و NET. برنامه نویسان و مهندسان نرم افزار وقت و انرژی بسیاری برای یادگیری ویژگی های زبان #C و نحوه استفاده از آن و همچنین فریمورک NET. صرف کرده اند. با این که جاوا با زبان های شی گرا شباهت های بسیاری دارد ولی اگر یک برنامه نویس #C بخواهد همان برنامه ای که می تواند در زبان #C بنویسد را در زبان جاوا بنویسد وقت و انرژی بسیار زیادی را می طلبد. حال اگر کسانی که به زبان #C برنامه تولید می کنند بخواهند برای موبایل ها برنامه تولید کنند باید آن برنامه را به زبان جاوا تولید کنند. ولی با استفاده از این نرم افزار به راحتی می توان با استفاده از همان مهارت های #C برنامه اندروید تولید نمود و دیگر لازم نیست که سختی یادگیری زبان جاوا را تحمل کرد.
  • قابلیت تولید برنامه در چندین پلتفرم با این که نرم افزار Xamarin.Android اجازه نمی دهد که یک برنامه بسازید که در همه پلتفرم
    های اندروید، IOSو WP8 اجرا شود اما این قابلیت را فراهم می آورد که از بخش بسیار بزرگی از کدتان را در هریک از پلتفرم های گفته
    شده دوباره استفاده کنید. در کل کدهای مربوط به UI و کدهایی که مربوط به قابلیت های دستگاه است را باید برای هر پلتفرم جدا بنویسید ولی
    کدهایی مانند منطق سرویس های مشتری، اعتبارسنجی کاربران، کش کردن داده ها و ذخیره سازی داده ها می تواند برای همه ی پلتفرم ها یکسان باشد که باعث صرفه جویی در زمان خواهد شد.

معایب استفاده از زامارین

  • دارا بودن لایسنس Xamarin.Android همانند Xamarin.IOS و Xamarin.OS x ابزارهای تجاری هستند و باید خریداری شوند. البته در کشور ما این مشکل حادی نیست.
  • انتظار برای آپدیت در اکثر مواقع وقتی که یک نسخه از اندروید به بازار عرضه می شود مدت زمانی طول می کشد که شرکت Xamarin نرم افزار خود را آپدیت کند تا این نرم افزار با آخرین نسخه اندروید سازگار باشد.
  • کارایی (performance) و مدیریت حافظه گاهی اوقات گفته می شود که استفاده از زبان #C برای توسعه برنامه های اندروید سرعت را کاهش می دهد ولی هنوز اندازه گیری و ارزیابی درستی از این قضیه به عمل نیامده است.

Mono چیست؟

مونو یک پیاده سازی چند پلتفرمی متن باز از کامپایلر #C است. CLRی که در مونو است برای پلتفرم های بسیاری مثل اندروید، اکثر نسخه های لینوکس، BSD، OS x، Windows، Solaris و حتی بعضی از کنسول های بازی مثل Wii, xbox360 طراحی شده است. همچنین مونو یک کامپایلر استاتیک دارد که برنامه ها را برای محیط هایی مثل IOS و PS3 کامپایل می کند.

مونو و Dalvik با یکدیگر

همانطور که قبلا گفتیم برنامه های اندروید بر روی ماشین مجازی Dalvik اجرا می شوند و برنامه های مونو بر روی Mono CLR اجرا می شوند. پس برنامه Xamarin.Android چگونه اجرا می شود؟ اگر بخواهیم یک پاسخ ساده به این سوال بدهیم این است که این برنامه هم از Mono CLR و هم از ماشین مجازی Dalvik استفاده می کند. دیاگرام زیر نحوه ارتباط این دو را در حال اجرا نشان می دهد.
delvik
حال چگونه Mono CLR با ماشین مجازی Dalvik در برنامه Xamarin.Android کار می کند؟ این عمل توسط مفهومی به نام اشیاء متناظر (peer objects) و فریمورکی به نام واسط محلی جاوا (Java Native Interface) JNI انجام می شود.

محیط های توسعه

برنامه نویسان برای نوشتن برنامه های موبایل دو انتخاب برای IDE دارند که انتخاب ها Xamarin Studio و Visual Studio هستند.

Xamarin Studio

این نرم افزار یک نسخه سفارشی شده از MonoDevelop IDE می باشد که می تواند برای برنامه نویسی برای پلتفرم های Android, IOS و OS X مورد استفاده قرار گیرد. Xamain Studio هم برای سیستم عامل ویندوز و هم برای OS X وجود دارد و دارای ویژگی های زیر است:

  • خاصیت Code Completation
  • هایلایت کردن سینکس ها به صورت هوشمند
  • خاصیت Code Navigatio
  • توضیحات (tooltip) برای کدها
  • قابلیت خطایابی برنامه های موبایل وقتی که برنامه روی شبیه ساز و یا خود دستگاه اجرا می شود.
  • قابلیت ارتباط با source control ها مانند Git

تصویر زیر محیط Xamarin Studio را در حالی که محیط طراحی رابط کاربری اندروید برای آن باز است را نمایش می دهد.
xamiranstudio

Xamrin برای Visual Sudio

Xamarin برای ویژوال استودیو یک افزونه است که توسعه برنامه برای برنامه های Xamarin.Android را پشتیبانی می کند. اگر شما با نرم افزار قدرتمند ویژوال استودیو آشنایی دارید می توانید این افزونه را بر روی این نرم افزار نصب کرده و با استفاده از آن برنامه های خود را بسازید. البته گفتنی است که این نرم افزار فقط برای سیستم عامل ویندوز موجود است. تصویر زیر محیط این نرم افزار را در حالی که صفحه طراحی رابط کاربری اندروید برای آن باز است را نمایش می دهد. برنامه های نوشته شده در هر کدام از محیط های توسعه قابل استفاده در محیط دیگری نیز می باشند.
xamiranfrovisualstadio
به پایان معرفی زامارین رسیدیم با تشکر از دوست خوبم مهدی عادلی فر جهت جمع آوری این مطلب
هدف ما از راه اندازی این سایت کار با تکنولوژی زامارین در محیط ویژوال استادیو است.

منبع : انجمن تخصصی فناوری اطلاعات ایران
25 پست
محمدزاده
سابقه 10 ساله برنامه نویسی مایکروسافت شامل C# , WPF , ASP.Net , Asp.Net Mvc و چند سال اندروید کار کردم تا اینکه زامارین دست به کار شد الان 3 ساله برنامه های اندرویدم رو با ویژوال استادیو مینویسم و لذت میبرم و دوست دارم این لذت رو با دیگران شریک باشم
برچسب ها: , , , , , , , , ,
مطالب مرتبط
مطالب نویسنده
دیدگاه کاربران

    امیر علی
    پاسخ دهید آبان ۱۸, ۱۳۹۴

    خسته نباشید آقای محمدزاده
    مطلب بسیار مفیدی بود ما منتظر ادامه مباحث هستیم جای چنین سایتی خالی بود

      محمدزاده
      پاسخ دهید آبان ۱۸, ۱۳۹۴

      با تشکر از شما امیرعلی جان من تمام سعی خودمو می کنم تا سایت هر روز بروز بشه

    محمد
    پاسخ دهید آذر ۱۴, ۱۳۹۴

    سلام، سایت خوبی دارید خسته نباشید…

    سامان
    پاسخ دهید آذر ۱۸, ۱۳۹۴

    با سلام . ممنون بابت راه اندازی این سایت امیدوارم فعالیتتون همچنان رو به پیشرفت باشه.

      محمدزاده
      پاسخ دهید آذر ۱۸, ۱۳۹۴

      مرسی از شما سامان عزیز

    برای نوشتن دیدگاه میتوانید به حساب کاربری خود وارد شوید ورود ارسال نظر بصورت مهمان
    ارسال نظر (مهمان):