زامارین چیست و مزیت های استفاده از آن
یکی از ابزارهای طراحی برنامه های موبایلی، ابزار زامارین است. چند وقت پیشم به تعدادی از کاربران قول دادم در این زمینه یعنی زامارین چیست مقاله ای منتشر کنیم. در این مطلب میخواهیم بررسی کنیم زامارین چیست و مزیت های استفاده از آن چی هستند. اگر میخواهید بیشتر در مورد ابزار زامارین بدونید پیشنهاد میکنم این مقاله رو حتما مطالعه کنید. چون سعی میکنم هم مزیت های زامارین رو بگیم هم معایب آن رو مورد بررسی قرار دهیم.
زامارین چیست
قبل از اینکه در مورد مزیت یا معایب زامارین صحبت کنیم باید ببینم اصلا زامارین چیست و به چه کاری میاد. زامارین ابزاری نوین (و زیر مجموعه کمپانی قدرتمند مایکروسافت) است که برای طراحی و ساخت نرم افزارهایی با قابلیت استفاده در تمام گوشی های موبایل تحت سیستم های عامل متفاوت بکار گرفته میشود.
به عبارت دیگر: زمانی که شما با استفاده از زبان C# (سی شارپ) اقدام به ساخت اپلیکیشنی در فضای زامارین می کنید، دیگر نیازی به تغییر یا بازنویسی آن (مثلاً به زبان جاوا و…) جهت استفاده در دیگر پلت فرم ها ندارید. در واقع میتوان گفت زامارین یک ابزار برنامه نویسی چند سکوییست.
Xamarin نام شرکتی است که ابزارهای توسعه نرم افزار تجاری تولید می کند. این شرکت با استفاده از پروژه متن باز Mono بستری را فراهم می آورد که بتوان با استفاده از #C و NET. بتوان برنامه هایی برای اندروید و OS X و IOS ساخت. Xamarin برای ساخت برنامه های اندروید محصول Xamarin.Android را به بازار عرضه کرده است.
مزایایی استفاده از زامارین
بعد از اینکه گفتیم xamarin چیست حالا میخواهیم مزایای زمارین رو مورد بررسی قرار دهیم و ببینیم برنامه نویسی زامارین چه مزایایی دارد. در بخش زیر تعدادی از مزایایی زامارین رو آورده ایم:
۱- امکان انتقال کدها میان اپلیکیشنهای ساخته شده با استفاده از زامارین صرف نظر از ساختار پلت فرمی که در آن قرار دارد.
۲- زامارین تنها چارچوبیست که در هر قالب پلت فرمی ویژگیهای اپلیکیشن های (native) آن پلت فرم را به خوبی به خود میگیرد. (native app به اپلیکیشن هایی گفته میشود که در محیط نرم افزاری مختص به پلت فرمی خاص ساخته میشود. مثلاْ برای استفاده در پلت فرم اندروید در اپلیکیشنی را در Android studio طراحی کنیم.)
۳- امکان ساخت اپلیکیشن های (IOS – Android – Windows phone ) با قابلیت انتقال کدهای یکسان (تا حدود ۹۶%)
۴- [portable class librariries] که به شما امکان استفاده مجدد از کدها را داده و درعین حال تعداد پروژه ها را کاهش میدهد.
۵- امکان اضافه کردن مؤلفه هایی شامل نمودارها، جداول، نمایه های زیبا، [UI control] ها و… بصورت مستقیم از [IDE].
۶- با قالب زامارین رابط طراحی هر سه پلتفرم بصورت مشترک با چارچوب اساسی [XAML] خواهد بود.
معایب استفاده از زامارین
بعد از اینکه در مورد مزایای زامارین صحبت کردیم حال تعدادی از مشکلات و معایب آن رو در بخش زیر قرار داده ایم:
- دارا بودن لایسنس Xamarin.Android همانند Xamarin.IOS و Xamarin.OS x ابزارهای تجاری هستند و باید خریداری شوند. البته در کشور ما این مشکل حادی نیست.
- انتظار برای آپدیت در اکثر مواقع وقتی که یک نسخه از اندروید به بازار عرضه می شود مدت زمانی طول می کشد که شرکت Xamarin نرم افزار خود را آپدیت کند تا این نرم افزار با آخرین نسخه اندروید سازگار باشد.
- کارایی (performance) و مدیریت حافظه گاهی اوقات گفته می شود که استفاده از زبان #C برای توسعه برنامه های اندروید سرعت را کاهش می دهد ولی هنوز اندازه گیری و ارزیابی درستی از این قضیه به عمل نیامده است.
توجه: اگر شما با سی شارپ آشنا هستید و صرف جویی در وقت برای شما در اولویت است با زامارین کار کنید تا زودتر به نتیجه برسید و هزینه کمتری هم پرداخت کنید.
حتما مطالعه شود: چند وقت پیش یکی از کاربران پیام داد و گفت من زامارین کار می کنم ولی از وقتی مقاله ای با عنوان راه میانبری احمقانه به نام XAMARIN رو خوندم سرد شدم. دوستان عزیز من، این شخصی که این مقاله رو نوشته نمیشناسم ولی از لفظ و طرز بیانش که از کلماتی مثل احمقانه، بی شعور و … استفاده کرده است می توان تا حدودی فهمید از روی تعصب به زامارین می تازد و اصلا چیز خاصیم نمیگه و چند چیز ساده رو مورد بررسی قرار داده است. پیشنهاد میکنم روی این موضوع بیشتر فکر کنید و زیاد درگیر این مدل مقالاتی نشید. متاسفانه ایشون به جای نقد و بررسی زامارین به صورت منصفانه، شروع به زدن زامارین کرده است به خاطر اینکه خودشون از طریق جاوا دارند کد نویسی می کنند. درسته کدنویسی از طریق جاوا فوق العاده است ولی نباید قدرت زامارین رو دست کم گرفت و باید منصفانه نقد کرد و اگر ما خوبی های جاوا رو می گیم خوبی های زامارین رو هم بگیم. پس زیاد درگیر این مدل مقالات نشید. (البته این نکته رو هم بگم که این مقاله مربوط به اوایل سال ۹۵ است و دو سال از این مقاله میگذرد و زامارین به شدت قوی شده است.)
البته در مقاله ای دیگر شخصی شروع به نقد یک طرفه برنامه نویسی اندروید از طریق جاوا کرده بود و کلا نتیجه مقاله این بود نباید از جاوا استفاده کرد و حتما زامارین رو انتخاب کنید. ولی بنده هم این مقاله رو نمی پسندم چون نقد و بررسی باید منصفانه باشد و به دور از تعصب انجام شود، چون این مدل مقالاتی فقط کاربران رو دچار سردرگمی می کند.
به نظرم هر دو مدل برای برنامه نویسی اندروید بسیار کارآمد و فوق العاده هستند و هر کدوم مزایای خودش رو دارد. البته اینو هم در نظر بگیرید در ایران هستیم و برنامه های خیلی خیلی بزرگی نوشته نمی شود که بخوایم بگیم در برنامه های بزرگ فلان برنامه نویسی در فلان بخش کم میارد. باید واقعیت رو بگیم در ایران برنامه ها در حد متوسط هستند و پروژه های بزرگی برنامه نویسی نمی شود. منظور از بزرگ در حد جهانی است. اکثر برنامه ها در ایران مورد استفاده قرار میگیرند که نهایتا سه چهار میلیون یوزر داشته باشد که می توان با هر برنامه نویسی و ابزار پیاده سازی شوند. پس اصلا نگران نباشید و فقط شروع کنید.