تاریخچه زبان زامارین

 

میخواهیم شما را بایکی دیگر از زبان های برنامه نویسی موبایل آشنا کنیم. این زبان برنامه نویسی زامارین (Xamarin) است. ممکن است این زبان برنامه نویسی به گوشتان خورده باشد میخواهیم بدانیم که زامارین چیست؟ چه کاربردی دارد؟ رقیب سرسخت این زبان کیست؟

زامارین چیست؟

زامارین یک شرکت نرم افزاری است که، ابزارهای توسعه نرم افزار تجاری را تولید میکند این شرکت درسال 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 پلتفرم موبایلی که گفته شد تنها با یک محیط و یک زبان مشترک برنامه نویسی کنید.
 

مزایای زامارین:

۱- امکان انتقال کدها میان اپلیکیشنهای ساخته شده با استفاده از زامارین صرف نظر از ساختار پلت فرمی که در آن قرار دارد.
۲- زامارین تنها چارچوبیست که در هر قالب پلت فرمی ویژگیهای اپلیکیشن های (native) آن پلت فرم را به خوبی به خود میگیرد. (native app) 
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) در زامارین به چه صورتی می باشد؟
برای طراحی UI Xamarin، می توان همانند سایر زبان ها عمل کرد. شما بایستی برای هر پلتفرم UI متفاوتی را ایجاد کنید و آن را به Codebase متصل نمایید.
شما برای طراحی UI اپلیکیشن 2 راه پیش رو دارید:
  1. استفاده از متد های اصلی Native
  2. استفاده از Xamarin.Form
استفاده از Xamarin Form این امکان را به شما می دهد که UI را فقط یکبار ایجاد  کنید.

 

ارزیابی کلی زامارین (xamarin) با توجه به مطالب گفته شده:
دانستیم که زامارین یک پلتفرم انعطاف پذیر است که به طرز باور نکردی کد های سی شارپ را به راحتی در سیستم عامل های مختلف تلفن همراه کامپایل میکند بنابراین هرآنچه که برنامه نویسان برای ساخت یک 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] رابررسی [Commit]  نماید تمام اعضای گروه باید مدتها وقت صرف رفع [Error] های حاصله نمایند.
 
نتیجه گیری:
پس اگربازبان سی شارپ آشنا هستید فورا وارد دنیای برنامه نویسی زامارین شوید و اپلیکیشن های موبایلی را با توجه به علاقه تان کد نویسی کنید چراکه با استفاده از تکنولوژی زامارین و فقط با یادگیری سی شارپ می توانید برای تمامی پلتفرم ها کد بزنید و دیگر نیاز نیست Syntax های متفاوتی برای زبان های متفاوت را یادبگیرید وبرای توانایی این تکنولوی میتوان گفت با استفاده از این زبان می‌توانید یک کد #C را روی ۲.۶ میلیارد دستگاه اجرا کنید.

مشخصات

آخرین ارسال ها

آخرین جستجو ها