
آموزش کار با قابلیت های نیتیو Native در اپلیکشن های Xamarin.Forms
آموزش آموزش قابلیت های نیتیو Native در اپلیکشن های Xamarin.Forms یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی بررسی قابلیت های نیتیو در Xamarin.Forms است که با نام اصلی Working with Native Features in Xamarin.Forms Applications از شرکت Pluralsight منتشر شده است.
فریم ورک Xamarin.Forms
فریم ورک Xamarin.Forms یک open-source UI است که به برنامه نویسان اجازه می دهد که Xamarin.Android و Xamarin.iOS و اپلیکیشن های ویندوز را از یک codebase مشترک ایجاد کنند.

فریم ورک Xamarin.Forms به برنامه نویسان اجازه می دهد تا در XAML با code-behind و سی شارب user interface ها را ایجاد کنند. این interface ها به عنوان native control های کارآمد بر روی هر platform ارائه شدند.
قابلیت های اضافه شده
فریم ورک Xamarin.Forms یک اکوسیستم بزرگ از کتابخانه ها دارد که قابلیت های گوناگون را به اپلیکیشن ها اضافه می کند. این بخش تعدادی از قابلیت های اضافه شده را توصیف می کند.
Xamarin.Essentials: یک کتابخانه است که API های cross-platform را برای قابلیت های native دستگاه موبایل فراهم می کند. همانند Xamarin و Xamarin.Essentials خودش یکی از abstraction هایی است که مراحل دسترسی به ابزار های native را ساده می کند. utilitiy های native فراهم شده توسط Xamarin.Essentials شامل اطلاعات دستگاه، سیستم فایل، شتاب سنج، phone dailer، متن به صدا و قفل صفحه می شود. برای اطلاعات بیشتر، Xamarin.Essentials ها را مشاهده کنید.
Xamarin.Forms Shell: پیچیدگی اپلیکیشن های موبایل را با قابلیت های پایه که بیشتر اپلیکیشن ها نیاز دارند کاهش می دهد. مثال هایی از قابلیت های فراهم شده با Shell عبارتند از: تجربه navigation مشترک، طرح URI-based navigation کنترل کننده سرچ یکپارچه. برای اطلاعات بیشتر Xamarin.Forms Shell را مشاهده کنید.

Platform-specifics: فریم ورک Xamarin.Forms یک API مشترک که native control ها را بر روی پلتفرم ها ارائه می دهد را فراهم می کند. ولی یک پلتفرم خاص ممکن است قابلیتی داشته باشد که دیگر پلتفرم ها ندارند. برای مثال، پلتفرم اندروید قابلیت های native برای Fast Scrolling در یک ListView دارد ولی iOS این قابلیت را ندارد. Xamarin.Forms platform-specifics به شما اجازه می دهد قابلیتی را بکار ببرید که که تنها روی یک پلتفرم خاص بدون ایجاد ارائه دهنده های costum و تاثیراتش در دسترس است. Xamarin.Forms شامل راهکار های pre-built برای قابلیت های platform-specific گوناگون هستند. برای اطلاعات بیشتر Xamarin.Forms platform-specifics و Android platform-specifics و iOS platform-specifics و Windows platform-specifics را مشاهده کنید.
Xamarin.Forms Material Visual: برای اجرا کردن قانون های Material Design بر اپلیکیشن های Xamarin.Forms استفاده می شود. Material Visual و Visual property را بکار می برد تا به صورت گزینشی ارائه دهنده های custom را بر روی UI اجرا کند که برآمده شده از یک اپلیکیشن با درک و دید اصولی بر Android و iOS می باشد.
دسترسی به قابلیتهای دستگاه با Xamarin.Essentials و کلاس Device
اپلیکیشنهای ساختهشده با Xamarin.Forms گاهی برای تکمیل تجربه کاربری به قابلیتهایی نیاز دارند که از امکانات معمول رابط کاربری فراتر میروند. این آموزش استفاده از `Xamarin.Essentials` را بررسی میکند تا با روش دسترسی به قابلیتهای دستگاه از طریق APIهای آماده آشنا شوید. انتخاب API مناسب به نوع قابلیتی بستگی دارد که برنامه به آن نیاز دارد؛ بنابراین شناخت امکانات کتابخانه و نحوه استفاده از آنها میتواند پیادهسازی نیازهای موبایل را سادهتر کند. آموزش همچنین به اضافه کردن قابلیتهای Native به اپلیکیشن میپردازد و نشان میدهد چگونه این نیازها را در ساختار یک برنامه Xamarin.Forms در نظر بگیرید.
کلاس `Device` نیز از موضوعات آموزش است و قابلیتهای آن با مثال عملی بررسی میشوند. این کلاس برای دسترسی به اطلاعات و رفتارهای مرتبط با دستگاه در Xamarin.Forms استفاده میشود و در کنار Xamarin.Essentials، بخشی از ابزارهای موجود برای توسعه اپلیکیشنهای چندسکویی را تشکیل میدهد. آشنایی با این امکانات کمک میکند مشخص کنید چه زمانی میتوان از APIهای مشترک استفاده کرد و چه زمانی به پیادهسازی وابسته به پلتفرم نیاز است. این تمایز برای توسعهدهندگانی اهمیت دارد که میخواهند کد مشترک برنامه را حفظ کنند، اما در عین حال از قابلیتهای اختصاصی Android یا iOS نیز بهره ببرند.
پیادهسازی DependencyService و تزریق وابستگی در Xamarin.Forms
وقتی قابلیتی در پلتفرمهای مختلف به روشهای متفاوتی پیادهسازی میشود، بهتر است کد مشترک برنامه مستقیماً به جزئیات هر پلتفرم وابسته نباشد. این آموزش روش استفاده از `DependencyService` را بررسی میکند و در چند بخش عملی، نحوه پیادهسازی آن را نشان میدهد. این سازوکار امکان میدهد کد مشترک یک قرارداد را مصرف کند و پیادهسازی مناسب در پلتفرم مربوطه فراهم شود. چنین رویکردی برای زمانی کاربرد دارد که برنامه به APIای نیاز دارد که در تمام پلتفرمها از طریق یک رابط مشترک قابل استفاده نیست و باید جزئیات Native از منطق مشترک جدا بماند.
در ادامه، استفاده از `Dependency Injection` و کتابخانه `Microsoft.Extensions.DependencyInjection` مطرح میشود. تزریق وابستگی روشی برای فراهم کردن سرویسهای موردنیاز کلاسهاست، بدون اینکه هر کلاس مسئول ساخت مستقیم وابستگیهای خود باشد. آشنایی با این الگو به سازماندهی بهتر سرویسهای اپلیکیشن و کاهش وابستگی مستقیم میان اجزا کمک میکند. آموزش با بررسی این رویکرد در کنار DependencyService، زمینه مقایسه دو روش برای دسترسی به قابلیتهای Native را فراهم میکند. این مطالب برای توسعهدهندگان باتجربه Xamarin.Forms مفید است که میخواهند ارتباط میان کد مشترک، پیادهسازیهای پلتفرمی و سرویسهای تزریقشده را ساختارمندتر طراحی کنند.
سرفصل مطالب آموزش ویدئویی کار کردن با قابلیت های Native در اپلیکیشن های Xamarin.Forms
فصل اول: مقدمه این دوره آموزشی- مقدمه این دوره آموزشی
- مقدمه
- بررسی دوره آموزشی
- مقدمه
- کار کردن با Xamarin.Essentials
- اضافه کردن قابلیت های Native به اپلیکیشن مورد نظر
- بررسی یک نکته در کار کردن باCommand Line
- جمع بندی
- مقدمه
- قابلیت های کلاس Device
- کار کردن عملی با کلاس Device
- جمع بندی
- مقدمه
- چگونه DependencyServiceرا پیاده سازی کنیم؟
- کار کردن عملی با DependencyService قسمت اول
- کار کردن عملی با DependencyService قسمت دوم
- کار کردن عملی با DependencyService قسمت سوم
- جمع بندی
- مقدمه
- چگونه از کتابخانه Microsoft.Extensions.DependencyInjection استفاده کنیم.
- کار کردن عملی با ترزیق وابستگی و یا Dependency Injection
- جمع بندی







