آموزش زامارین
Xamarin چیست؟
آموزش زامارین
Xamarine یک پلتفرم open-source برای ساخت اپلیکیشن های مدرن و با قابلیت اجرایی بالا برای ios، اندروید و ویندوز با استفاده از .NET میباشد. Xamarin یک لایه انتزاعی است که ارتباط کد به اشتراک گذاشته شده با کد های اساسی پلتفورم را مدیریت می کند.
آموزش Xamarin : با استفاده از Xamarin ، توسعه دهندگان میتوانند حدود ۹۰ درصد اپلیکیشن خود را در پلتفورم ها به اشتراک بگذارند. این الگو به توسعه دهندگان اجازه میدهد که تمام منطق حرفه ای خود را به یک زبان بنویسند( یا از کد های اپلیکیشن های موجود استفاده کنند.) اما اجرا، ظاهر و احساس native را در پلتفورم ایجاد کنند.
اپلیکیشن های Xamarin میتوانند در PC یا Mac نوشته شوند و با کامپایل به یک پکیج native application تبدیل شوند؛ مانند یک فایل .apk برای اندروید یا یک فایل .ipa برای ios.
در حال حاضر برای توسعه و کامپایل یک اپلیکیشن ios نیاز به یک دستگاه MacOS داریم. برای اطلاعات بیشتر در زمینه ی نیازمندی های توسعه system requirements را مطالعه کنید.
Xamarin برای چه کسانی است؟
آموزش Xamarin
Xamarin برای توسعه دهندگانی است که اهداف زیر را دنبال میکنند:
- به اشتراک گذاشتن کد، تست و منطق حرفه ای در پلتفرم های مختلف.
- نوشتن اپلیکیشن های cross-platform با C# در Visual Studio .
Xamarin چگونه کارمیکند؟
نمودار بالا معماری کلی یک اپلیکیشن cross-platform در Xamarin را نشان میدهد. با Xamarin ما میتوانیم بر روی هر پلتفورم native UI ایجاد کرده و منطق حرفه ای نوشته شده با C# خود را در پلتفرم های مختلف به اشتراک بگذاریم. عموما ۸۰ درصد کد اپلیکیشن با Xamarin قابل اشتراک گذاری است.
Xamarin با استفاده از Mono ساخته شده که یک ورژن open-source از فرم وورک .NET بر اساس استاندارد .NET ECMA میباشد. Mono تقریبا هم زمان با فرم وورک .NET ساخته شده است و بر روی اکثر پلتفورم ها مانند؛ Linux، Unix، FreeBSD و macOS اجرا می شود. محیط اجرایی Mono کار هایی مانند تخصیص حافظه، جمع آوری زباله ها و همکاری با پلتفرم های اساسی را، به طور خودکار مدیریت میکند.
برای اطلاعات بیشتر درباره معماری خاص پلتفورم میتوانیدXamarin.Androidو Xamarin.iOS را مطالعه کنید.
اضافه کردن امکانات(features)
Xamarin امکانات پلتفورم های native را ترکیب کرده و امکاناتی هم به آنها افزوده است:
- ۱.کامل کردن binding ها برای SDK های اساسی. Xamarin شامل binding های تقریبا تمامی SDK های اساسی پلتفورم ها در android و ios میباشد. علاوه بر این، این binding ها strongly-typed هستند، پس میتوان به راحتی از آنها استفاده کرد و همچنین میتوان در زمان کامپایل و توسعه با دقت زیاد به بررسی type آنها پردخت. Strongly-typed بودن این binding ها باعث میشود که خطا های زمان اجرا کمتری داشته باشند و اپلیکیشن هایی با کیفیت بهتر تولید کنند.
- ۲.استفاده از objective-C، Java،C و C++. Xamarin این امکان را به ما میدهد که از کد های موجود استفاده کنیم و استفاده مستقیم از library های C شی گرا، جاوا، C و C++ را برای ما ممکن میکند.
- ۳. ساختار های زبانی جدید. اپلیکیشن های Xamarin با C# نوشته میشوند که زبان جدیدی است و نسبت به Cشی گرا و جاوا پیشرفت قابل توجهی دارد مانند امکانات dynamic در زبان، ساختار های تابعی مانند lambdas، LINQ، برنامه نویسی موازی، generics و بسیاری دیگر.
- ۴. Base Class Library (BCL)با توان بالا. اپلیکیشن های Xamarin از.NET BCL استفاده میکنند که متشکل از تعدادی کلاس با امکاناتی جامع و کارآمد مانند؛ XML قوی، Database، Serialization، IO، String، پشتیبانه شبکه و ... میباشند. کد C# موجود میتواند برای استفاده در app کامپایل شود که دسترسی به هزاران library، که امکاناتی فراتر از BCL را در اختیار ما قرار میدهند، را ممکن میسازد.
- ۵.Integrated Development Environment(IDE) مدرن. Xamarin از Visual Studio استفاده میکند که یک IDE مدرن با امکاناتی مانند؛ تکمیل خودکار کد، سیستم سطح بالا مدیریت پروژه و راه حل ها، کتاب خانه های جامع، integrated source control و...
- ۶. پشتیبانی mobile cross-platform. Xamarin پشتیبانی cross-platform باسطح بالا برای سه پلتفرم اصلی ios، android و windows ارائه میدهد.اپلیکیشن ها میتوانند طوری نوشته شوند که تا ۹۰ درصد کد خود را به اشتراک بگذارند و Xamarin.Essentials دارای API یکپارچه ایست که دسترسی به کد ها را در هر سه پلتفرم ممکن میسازد. کد های به اشتراک گذاشته شده باعث کم شدن هزینه وزمان توسعه برای برای توسعه دهندگان از راه دور میشود.
Xamarin.Android
اپلیکیشن های Xamarin.Android از C# به ابتدا از C# به زبان میانی (intermediate language) و سپس در زمان شروع اپلیکیشن just-in-time(JIT) به native assembly کامپایل میشوند. اپلیکیشن هایXamarin.Android درون محیط اجرایی Mono به همراه Android Runtime virtual machine(ART) اجرا میشوند.Xamarin ،Binding های .NET را برای Android.* namespace و Java.* namespace فراهم میکند. فضای اجرایی Mono توسط Managed Callable Wrappers(MCW) صدا زده شده و Android Callable Wrappers(ACW) را برای ART فراهم میکند که به هی دو محیط اجازه دسترسی به کد درون یکدیگر را میدهد.
برای اطلاعات بیشتر بهXamarin.Android architecture مراجعه کنید.
Xamarin.ios
اپلیکیشن های Xamarin.ios به شکل Ahead-of-time(AOT) از C# به native ARM assembly کامپایل میشوند. Xamarin از selector ها برای نمایش کد Objective-C به managed C# و از Registrar ها برای نمایش کد managed C# به Objective-C استفاده میکند. به مجموعه Selector ها و Registrar ها ، “binding” ها گفته میشود که به Objective-C و C# ارتباط بر قرار میکنند.
برای اطلاعات بیشتر به Xamarin.iOS architecture مراجعه کنید.
Xamarin.Essentials
Essentials یک کتابخانه ست که API های cross-platform برای امکانات دستگاه ها فراهم میکند. Xamarin.Essentials هم مانند xamarin یک لایه انتزاعی است که دسترسی به امکانات native را ساده تر میکند.
برخی از مثال های کارکرد Xamarin.Essentials شامل مواد زیر است:
- اطلاعات دستگاه
- File system
- Accelerometer
- شماره گیر گوشی
- Text to speech
- قفل گوشی
برای اطلاعات بیشتر به Xamarin.Essentials مراجعه کنید.
Xamarin.Forms
forms یک فرم وورک open-source برای UI میباشد که به توسعه دهندگان اجازه میدهد اپلیکیشن های ios، android و windows را با یک کد اصلی مشترک، بسازند و همچنین رابط کاربری در XAML را با code-behind در c# تولید کنند. این UI ها بر روی هر پلتفرم به عنوان مجری native control ها عمل میکنند.
برخی از مثال های کارکرد Xamarin.forms شامل موارد زیر است:
- XAML UI language
- Databinding
- Gestures
- Effects
- Styling
برای اطلاعات بیشتر به Xamarin.Forms مراجعه کنید.
آموزش نصب زامارین
در این مقاله های آموزشی تحلیل داده , نصب کامل زامارین Xamarin در ویندوز را به شما آموزش می دهیم
در این مقاله از آموزشگاه تحلیل داده نصب Xamarin Preview در Windows را به شما آموزش می دهیم.
در این مقاله از آموزشگاه تحلیل داده حذف Xamarin از Visual Studio را به شما آموزش می دهیم.
در این مقاله از آموزشگاه تحلیل داده نصب Visual Studio 2019 در Mac مک را آموزش می دهیم
در این مقاله از آموزشگاه تحلیل داده نصب Xamarin Preview بر Mac مک را آموزش می دهیم.
در این مقاله از آموزشگاه تحلیل داده حذف Visual Studio از Mac مک را آموزش می دهیم.
در اين مقاله از آموزشگاه تحليل داده دستورالعمل تنظیمات firewall برای Xamarin زامارين را آموزش مي دهيم.
در اين مقاله از آموزشگاه تحليل داده پلتفرم های پشتیبانی شده Xamarin.Forms را آموزش مي دهيم.