
زامارین چیست؟ چه کاربردی دارد؟ رقیب سرسخت آن کیست؟ آیا برای کار با زامارین به آموزش سی شارپ نیاز است؟
با ما همراه شوید تا جواب تمامی سوالات را بدانید.
اما قبل از ورود میخواهم درباره اتفاقی که برای من و دوستم برای یادیگری زامارین افتاد، صحبت کنم.
یک روز با یکی از دوستان همدانشگاهی، مشغول صحبت بودیم که به صورت ناگهانی گفت موندم چه کار کنم؟ من با کمال تعجب پرسیدم منظورت از حرفی که گفتی چه بود؟ گفت: من به برنامه نویسی موبایل علاقه بسیاری دارم و الان هم مشغول به فعالیت در این زمینه با زبان جاوا هستم اما احساس میکنم با این زبان نمیتوانم به فعالیتم ادامه دهم و دنبال یک راه میانبر هستم. با پیشنهاد من تصمیم گرفتیم تا با یکی از اساتیدی که در این حوزه فعالیت داشت، صحبت کنیم. پس از صحبت با استاد، ایشان شروع برنامهنویسی موبایل با زامارین را پیشنهاد داد.
خب دوستان حالا میخواهیم ببینیم که زامارین چیست؟
زامارین یک شرکت نرمافزاری است که ابزارهای توسعه نرمافزار تجاری را تولید میکند. این شرکت در سال 2011 در ایالت کالیفرنیا توسط پروژه متن باز Mono Android خلق شد.
هدف زامارین این بود که به وسیله زبان برنامهنویسی سیشارپ برنامههایی برای سه پلتفرم اندروید، آیفون و ویندوزفون نوشته شود. بالاخره در اوایل سال 2016 زامارین توسط شرکت مایکروسافت خریداری شد و این آغاز شروعی تازه برای زامارین و مایکروسافت بود که به وسیله سیاستهای جدید مایکروسافت و استراتژی جدید cloud first (ابر رایانه) و mobile first (اولین تلفن همراه) یک شانس بزرگ برای زامارین و محصولاتش بود. پس با پروژه متنبازMono بستری فراهم کردند که بتوان با استفاه از C# و .Net برنامههایی چون ios، os x و اندروید ساخت. برای اندروید محصول xamarin.Android را به بازار عرضه کرد.
برنامه چندسکویی به برنامهنویسی نرمافزارهایی گفته میشود که قابلیت اجرا در چندین پلتفرم را هستند و به 2 دسته تقسیم میشوند.
دسته اول: برنامههایی که برنامهنویس یکبار آنها را مینویسد و کامپایلر خودش برای هر سیستمعامل یک نسخه جداگانه تولید میکند.
دسته دوم: برنامههایی هستند که توسط زبانهای تفسیر شده نوشته میشوند وتوسط مفسرهای موجود در هر پلتفرم قابل اجرا هستند. زبانهای برنامهنویسی مفسر به آن دسته از زبانهایی گفته میشود که برای استفاده نیازمند یک مفسر است مثل html یا js .
استفاده دوباره کدها
توسعه سریع
پیادهسازی آسان
ایدهآل برای نمونهسازی اولیه
زبانی که با زامارین در حال رقابت است زبان جاواست. این زبان محبوبیت زیادی بین برنامهنویسان برای تولید اپلیکیشنهای موبایلی دارد و میتوان گفت یک رقیب سرسخت برای زامارین به شمار میرود؛ اگرچه قدرتمند بودن زبان جاوا را نمیشود انکار کرد.
در حیطه برنامهنویسی تحت موبایل، برای اندروید از جاوا و چندین ابزار آن استفاده میشود یا برای برنامه نویسی بر روی ios از زبان objective c و ابزارهای آن استفاده میشود و یا برای برنامهنویسی درwindos phone از زبان C# و visual studio استفاده میگردد. اما زامارین این امکان را به شما میدهد که با استفاده از زبان سیشارپ برای هر3 پلتفرم موبایلی که گفته شد تنها با یک محیط و یک زبان مشترک برنامهنویسی کنید.
یکی از کارآمدترین پلتفرمهایی که در ساخت برنامهها با سیستم عاملهای مختلف استفاده میشود. به جای طراحی جداگانه برای هر سیستم، میتوانید تقریبا 75 تا 90 درصد کدهای توسعه یافته را در همه سیستم عاملهای بزرگ تلفن همراه به اشتراک بگذارید. با این وجود هزینه طراحی و زمان ورود به بازار کاهش پیدا میکند.
UX عالی را ارائه میدهد.
یکپارچگی، کیفیت و تست عملکرد را در طیف وسیعی از دستگاهها تضمین میکند.
بهخاطر چندسکویی بودن زامارین، میتوانید به راحتی تغییرات را برای فایل منبع گسترش دهید. یعنی نگهداری آسانتر
توسعهدهندگان مک و ویندوز جهت ساخت برنامههای iOS Apple Watch، از زامارین استفاده میکنند و این یعنی پشتیبانی این تکنولوژی از برنامه ساعتهای هوشمند.
آیا میدانستید زامارین محدود به توسعه برنامه تلفن همراه نیست و میتوانید با آن برنامههایی چون: Wearable ،Mac ،TvOs و بازیهای OpenGL و SceneKit/SpriteKit/Metal را توسعه دهید.
نوشتن کدهای چندگانه در زمان مشابه برای ساخت برنامههای بومی در سیستم عاملهای مختلف ارزشمند نیست و با استفاده از زامارین میتوانیم زمان و هزینه را کاهش دهیم که میتوانیم همان کد پایه (70 تا 80 درصد کد) را برای ایجاد برنامههای تلفن همراه بومی دوباره استفاده کرد.
امکان انتقال کدها میان اپلیکیشنهای ساخته شده با استفاده از زامارین صرف نظر از ساختار پلتفرمی که در آن قرار دارد.
زامارین تنها چارچوبیست که در هر قالب پلتفرمی، ویژگی اپلیکیشنهای (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 برای توسعه برنامههای اندروید سرعت را کاهش میدهد ولی هنوز اندازهگیری و ارزیابی درستی از این قضیه به عمل نیامده است.
بیشترین سوالی که پرسیده میشود این است که زامارین به چه صورتی کار میکند؟ آیا با استفاده از یک کد امکان توسعه اپلیکیشن برای تمامی پلتفرمها وجود دارد؟
بله زامارین این امکان را به برنامهنویس میدهد.
با تبدیلSDK های Android و IOs بهC# ، این قابلیت را به وجود آورده است که به تمامیAPI های Android و IOs دسترسی داشته باشد. زامارین با تبدیل اینSDK ها به سی شارپ، کار را برای توسعه اپلیکیشن موبایل راحت نموده است و با ادغام تمامیSDK ها، توسعه را با استفاده از یک زبان راحت، قدرتمند و فراگیر، میسر نموده است.
برای طراحی UI Xamarinمیتوان همانند سایر زبانها عمل کرد. شما بایستی برای هر پلتفرم، UI متفاوتی را ایجاد کنید و آن را به Codebase متصل نمایید. برای طراحی UI اپلیکیشن، 2 راه پیش رو دارید:
استفاده از متدهای اصلی Native
استفاده از Xamarin.Form
نکته: استفاده از Xamarin Form این امکان را به شما میدهد که UI را فقط یکبار ایجاد کنید.
دانستیم که زامارین یک پلتفرم انعطافپذیر است که به طرز باورنکردنی کدهای سیشارپ را به راحتی در سیستم عاملهای مختلف تلفن همراه کامپایل میکند. بنابراین هر آنچه که برنامهنویسان برای ساخت یک App حرفهای نیاز دارند را فراهم کرده است.
شرکت مایکروسافت که در آن زمان حق مالکیت زامارین را گرفته بود به کاربران خود قول داد که در زمان نه چندان دور باUpdate های فراوان تمام Bug و مشکلات زامارین را حل کرده و بر قدرت این ابزار فرا پلتفرمی میافزاید.
هنگام مقایسه زامارین با دیگر ابزارهای برنامهنویسی باید توجه ویژهای به افزایش کیفیت آن از زمان کسب مالکیت کامل زامارین توسط مایکروسافت (24 فوریه 2016) تا به امروز داشت. با توجه به کاسته شدن بسیاری از [Error]های رایج در زامارین ظرف این مدت و رفع مشکل عدم آشنایی توسعهدهندهها [Developer] با [Error]ها که بیشک یکی از معایب هر ابزار نوپایی است، میتوان آینده روشنی را برای زامارین متصور شد.
پیشرفتهای بزرگی در زمینه زامارین شکل گرفته است و شرکتهای بزرگی از جمله Olo food ،CA mobile :و سایر بانکها با بیش از 30 میلیون کاربر با مایکروسافت قرار داد بستهاند که برای بهبود تجارت الکترونیکی خودApp هایی با امنیت بالا ساخته شود.
البته اشاره به این امر هم ضروریست که با قرار گرفتن زامارین در محیط [Visual studio] محبوبیت آن در امر کار گروهی
[Team work] افزایش چشمگیری پیدا کرده است. دیگر اینکه، چه به عنوان مدیر پروژه و چه به عنوان توسعهدهنده [Developer]، در امر کنترل منبع [Source control] که یکی از مشکلات کار در محیطهای [Native] و [Android Studio]است، زامارین توانسته برتری بیشتری نسبت به ابزارهای کاری در محیط [Native] ایجاد کند. چنانکه میدانید هر بار که یکی از اعضای تیم بخواهد یک [Reference] را بررسی نماید تمام اعضای گروه باید مدتها وقت صرف رفع [Error] ها بگذارند.
دوستان عزیز ممنون که تا اینجا مطلب همراه ما بودید. متوجه شدیم که زامارین چیست و چه ویژگیهایی دارد.
پس اگر با زبان سیشارپ آشنا هستید، فورا وارد دنیای برنامهنویسی زامارین شوید و اپلیکیشنهای موبایلی را با توجه به علاقه خود
کد نویسی کنید. چرا که با استفاده از تکنولوژی زامارین و فقط با یادگیری سیشارپ می توانید برای تمامی پلتفرم ها کد بزنید و دیگر نیاز نیستSyntax های متفاوتی یاد بگیرید. برای توانایی این تکنولوژی میتوان گفت با استفاده از این زبان میتوانید یک کد #C را روی ۲.۶ میلیارد دستگاه اجرا کنید و اگر هیچ شناختی درباره سیشارپ ندارید، نگران نباشید می توانید از دوره آموزش سی شارپ مقدماتی تا متوسط ما که به صورت رایگان است، استفاده کنید. ما در دوره تمامی مباحثی که به عنوان مفاهیم مقدماتی به آن نیاز دارید را به صورت کامل و کاملا کاربردی بیان کردهایم. پس نتیجه میگیریم که برای ورود به دنیای زامارین باید با زبان شیرین سیشارپ آشنا باشیم.

شما تا به حال با پیش پردازنده های css کار کرده اید؟ در این مقاله بایکی از پیش پردازنده های css به نام sass آشنا می شوید،می خواهیم بدانیم sass چیست و چه کاربردهایی دارد؟
مبینا طاهری
سلام وقت بخیر من مقاله شما رو مطالعه کردم و میخوام زامارین رو یاد بگیرم، اگر آموزش سی شارپ رو شروع کنم بعدش میتونم به حوزه زامارین ورود کنم؟ممنون میشمراهنماییم کنید.