در این مقاله قصد داریم ببینیم زامارین چگونه کار برنامه نویسی رو با استفاده از #C و NET. آسان می کند. همچنین در ادامه به نقد و بررسی این تکنولوژی بپردازیم
معرفی زامارین
Xamarin نام شرکتی است که ابزارهای توسعه نرم افزار تجاری تولید می کند. این شرکت با استفاده از پروژه متن باز Mono بستری را فراهم می آورد که بتوان با استفاده از #C و NET.بتوان برنامه هایی برای اندروید و OS X و IOS ساخت. Xamarin برای ساخت برنامه های اندروید محصول Xamarin.Android را به بازار عرضه کرده است.
در ادامه بحث لیستی از مزایا و معایب استفاده از این نرم افزار ذکر شده است
مزایای استفاده از زامارین (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 استفاده می کند. دیاگرام زیر نحوه ارتباط این دو را در حال اجرا نشان می دهد.
حال چگونه 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 را در حالی که محیط طراحی رابط کاربری اندروید برای آن باز است را نمایش می دهد.
Xamrin برای Visual Sudio
Xamarin برای ویژوال استودیو یک افزونه است که توسعه برنامه برای برنامه های Xamarin.Android را پشتیبانی می کند. اگر شما با نرم افزار قدرتمند ویژوال استودیو آشنایی دارید می توانید این افزونه را بر روی این نرم افزار نصب کرده و با استفاده از آن برنامه های خود را بسازید. البته گفتنی است که این نرم افزار فقط برای سیستم عامل ویندوز موجود است. تصویر زیر محیط این نرم افزار را در حالی که صفحه طراحی رابط کاربری اندروید برای آن باز است را نمایش می دهد. برنامه های نوشته شده در هر کدام از محیط های توسعه قابل استفاده در محیط دیگری نیز می باشند.
به پایان معرفی زامارین رسیدیم با تشکر از دوست خوبم مهدی عادلی فر جهت جمع آوری این مطلب
هدف ما از راه اندازی این سایت کار با تکنولوژی زامارین در محیط ویژوال استادیو است.
- ۱۳ آبان ۱۳۹۴ ۱۷:۰۸
- 5
- محمدزاده
- مقالات مونو اندروید
- 9,290 بازدید
خسته نباشید آقای محمدزاده
مطلب بسیار مفیدی بود ما منتظر ادامه مباحث هستیم جای چنین سایتی خالی بود
با تشکر از شما امیرعلی جان من تمام سعی خودمو می کنم تا سایت هر روز بروز بشه
سلام، سایت خوبی دارید خسته نباشید…
با سلام . ممنون بابت راه اندازی این سایت امیدوارم فعالیتتون همچنان رو به پیشرفت باشه.
مرسی از شما سامان عزیز