
آموزش پیشرفته Xamarin.Forms پروژه محور
آموزش پیشرفته Xamarin.Forms پروژه محور یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی یادگیری کامل Xamarin.Forms است که با نام اصلی Mastering Xamarin.Forms از شرکت Wintellectnow منتشر شده است.
Xamarin چیست؟
زامارین (Xamarin) یک ابزار قدرتمند برای برنامه نویسی اپلیکیشن های چندسکویی موبایل است که به کمک زبان سی شارپ و نرم افزار ویژوال استدیو می توانید اپلیکیشن های Native برای سیستم عامل های Android، iOS و Windows Phone بسازید. Xamarin بهترین گزینه برای برنامه نویسان دات نت و توسعه دهندگانی است که قصد دارند نسخه بومی (Native) اندروید، آی او اس و ویندوز فون اپلیکیشن های مورد نیاز خود را با یک بار برنامه نویسی با بالاترین کیفیت تولید کنند.
Xamarin.Forms چیست؟
Xamarin.Forms در سال 2014 راه اندازی شد، و پلت فرمی است که بر روی Xamarin اجرا می شود، در واقع به صورت یک کیت از ابزار UI بوجود آمد که به برنامه نویسان اجازه می دهد به راحتی یک رابط کاربری مشترک در اندروید، iOS و ویندوز فون را ایجاد کنند. Xamarin.Forms به زبان #C نوشته شده و امکان ایجاد یک نمونه سازی سریع از برنامه های کاربردی پیچیده را فراهم کرده است. برنامه های کاربردی Xamarin.Form برنامه های بومی هستند، و محدودیت های Toolkit ها را ندارد.
اپلیکیشن هایی که با استفاده از Xamarin.Forms نوشته شده اند، قادر هستند از هر یک از ویژگی های API و یا یک پلت فرم پایه ، مانند CoreMotion، PassKit و StoreKit در iOS
مدیریت Navigation در برنامه های Xamarin.Forms چگونه انجام می شود؟
Navigation یا پیمایش در برنامههای موبایل، شیوه حرکت کاربر میان صفحهها و بخشهای مختلف اپلیکیشن را مشخص میکند. در Xamarin.Forms، طراحی مسیرهای پیمایش مناسب کمک میکند کاربر بتواند از یک صفحه به صفحه دیگر برود و در صورت نیاز به بخش قبلی بازگردد. انتخاب روش مناسب به ساختار برنامه و نوع تجربه کاربری مورد انتظار بستگی دارد. برای مثال، یک برنامه اطلاعاتی ساده ممکن است به ساختار پیمایش متفاوتی از برنامهای با چند بخش اصلی و جریانهای کاری مستقل نیاز داشته باشد.

مدیریت Navigation فقط به انتقال میان صفحهها محدود نمیشود؛ نحوه ارسال اطلاعات، حفظ وضعیت مورد نیاز و کنترل مسیر بازگشت نیز اهمیت دارد. اگر ساختار پیمایش از ابتدا روشن باشد، توسعه دهنده راحتتر میتواند رفتار صفحات را مدیریت کند و از ایجاد مسیرهای غیرقابل پیشبینی جلوگیری کند. شناخت Pageها و ارتباط آنها با Layoutها در کنار Navigation به ساخت اپلیکیشنهایی کمک میکند که ساختار منسجمتری دارند و کاربر میتواند با سردرگمی کمتری میان بخشهای مختلف حرکت کند.
Binding و Command در Xamarin.Forms چه کاربردی دارند؟
Binding روشی برای متصل کردن دادههای برنامه به ویژگیهای کنترلهای رابط کاربری است. این قابلیت کمک میکند اطلاعات بدون نیاز به نوشتن کدهای تکراری برای هر تغییر، میان منبع داده و رابط کاربری منتقل شوند. برای نمونه، یک ویژگی در ViewModel میتواند به متن نمایش دادهشده در صفحه متصل شود. وقتی این ارتباط بهدرستی طراحی شود، جداسازی منطق برنامه از نمایش اطلاعات آسانتر خواهد بود و توسعه دهنده میتواند رفتار صفحه را مستقلتر از اجزای بصری مدیریت کند.
Command نیز راهی برای متصل کردن یک عمل به رویدادهای رابط کاربری، مانند فشردن دکمه، فراهم میکند. در الگوهایی مانند MVVM، این روش به انتقال منطق اجرای عملیات به ViewModel کمک میکند و نیاز به قرار دادن همه رفتارها در کد پشت صفحه را کاهش میدهد. Converterها نیز میتوانند مقدار داده را پیش از نمایش یا استفاده در رابط کاربری به شکل مناسب تبدیل کنند. ترکیب این قابلیتها به ایجاد رابطهای قابل نگهداریتر و سازمان دهی بهتر تعاملات کاربر کمک میکند.
Dependency Service و ذخیره سازی داده در Xamarin.Forms
برنامههای موبایل گاهی به قابلیتهایی نیاز دارند که به سیستم عامل یا پلتفرم خاص وابسته هستند. Dependency Service در Xamarin.Forms راهکاری برای دسترسی به پیاده سازیهای مخصوص هر پلتفرم از طریق یک قرارداد مشترک است. برای مثال، ممکن است برنامه بخواهد از قابلیتی استفاده کند که در Android و iOS به روشهای متفاوتی ارائه میشود. با جدا کردن قرارداد از پیاده سازی اختصاصی، کد مشترک برنامه میتواند بدون درگیر شدن مستقیم با جزئیات هر سیستم عامل، آن قابلیت را درخواست کند.

ذخیره سازی داده نیز بخش مهمی از طراحی اپلیکیشن موبایل است، زیرا برنامه ممکن است لازم داشته باشد اطلاعات را پس از بسته شدن یا قطع ارتباط شبکه حفظ کند. انتخاب روش مناسب به نوع داده، میزان ماندگاری مورد نیاز و شیوه استفاده برنامه بستگی دارد. در کنار این موضوع، Push Notifications میتواند برای اطلاع رسانی رویدادها به کاربر استفاده شود. شناخت این قابلیتها به توسعه دهنده کمک میکند تصمیمهای فنی مناسبتری درباره تعامل برنامه با دستگاه، نگهداری اطلاعات و ارائه اعلانها بگیرد.
این آموزش پیشرفته Xamarin.Forms برای چه کسانی مناسب است؟
این دوره برای برنامه نویسانی مناسب است که تجربه قبلی کار با Xamarin.Forms دارند و میخواهند مهارت خود را در توسعه اپلیکیشنهای موبایل گسترش دهند. آشنایی با ساخت صفحهها و کنترلهای پایه، درک مفاهیم C# و تجربه کار با رابط کاربری میتواند زمینه مناسبی برای پرداختن به موضوعات پیشرفتهتر فراهم کند. تمرکز بر Binding، Command، Styleها و Navigation به توسعه دهندگان کمک میکند ساختار برنامههای خود را بهتر سازمان دهی کنند و تعاملات میان اجزای مختلف را با روشهای منظمتری پیاده سازی کنند.
این آموزش همچنین برای کسانی مفید است که میخواهند با موضوعاتی مانند دسترسی به قابلیتهای پلتفرم، راهبردهای ذخیره سازی داده و Push Notifications آشنا شوند. در پروژههای واقعی، این نیازها معمولاً فراتر از ساخت چند صفحه ساده هستند و به تصمیمهای معماری و مدیریت وابستگیها ارتباط پیدا میکنند. یادگیری این مفاهیم میتواند درک توسعه دهنده را از نیازهای یک اپلیکیشن موبایل کاملتر کند. توجه داشته باشید Xamarin.Forms فناوری قدیمیتری است و مسیر توسعه چندسکویی .NET اکنون به سمت .NET MAUI ادامه یافته است.
سرفصل مطالب آموزش ویدئویی پیشرفته پروژه محور کامل Xamarin.Forms
فصل اول: بررسی Page ها، Layout و Navigation- مفاهیم مربوط به اشتراک گذاری کد
- مفاهیم ابتدایی مربوط به User Interface
- مفاهیم مربوط به Page
- بررسی Layout
- بررسی Layout Control ها
- استفاده کردن از Page ها و Layout ها
- بررسی Layout های پیشرفته
- بررسی Adaptive Layout ها
- مفاهیم ابتدایی مربوط به Navigation در Xamarin.Forms
- انجام Navigation در برنامه
- مفاهیم اولیه ی UI در Xamarin.Forms
- بررسی Control Group ها
- بررسی View Control ها
- ارتباط View Control ها و Cell Control ها
- استفاده از View Control ها و Cell Control ها
- کنترل های ListView
- کنترل های TableView
- استفاده از کنترل های ListView و کنترل های TableView
- بررسی مفاهیم مربوط به Plugin ها
- استفاده کردن از Plugin ها
- بررسی Style های Explicit و Implicit
- بررسی Dynamic Style ها
- بررسی Style Trigger ها
- افزودن Style به کنترل ها
- انجام Global Theming
- بررسی پروپرتی StyleClass
- استفاده از Theme های Built-in
- موارد خاص در iOS
- موارد خاص در اندروید
- موارد خاص در ویندوز
- انجام Platform-specific Theming
- مفاهیم مربوط به Binding
- تکنیک های Binding
- پیاده سازی Data Binding
- مفاهیم مربوط به Command ها
- سناریوهای معمول
- پیاده سازی Command ها
- مفاهیم مربوط به Converter ها
- پیاده سازی Converter ها
- مفاهیم مربوط به Dependency Service ها
- مفاهیم مربوط به Interface
- مفاهیم مربوط به پیاده سازی
- مفاهیم مربوط به Registration
- Call کردن یک سرویس
- ساختن یک Dependency Service
- مفاهیم Platform-dependent
- سناریوهای معمول
- پیاده سازی Service ها
- سناریوهای پیشرفته
- مفاهیم مربوط به Data و Storage
- بررسی Simple Storage
- تفاوت های Platform های مختلف
- بررسی Dependency Service ها
- کار کردن با Local Storage
- سناریوهای معمول
- استفاده از دیتابیس های SQLite
- استفاده از Azure Mobile Services
- مفاهیم مربوط به Offline Storage
- کار کردن با دیتابیس های Remote و Offline Storage
- مفاهیم مربوط به Push Notifications
- بررسی Azure Notification Services
- پیکربندی های Push Notifications در اندروید
- پیکربندی های Push Notifications در iOS
- پیکربندی های Push Notifications در ویندوز
- پیکیربندی Azure Notification Hubs
- پیکربندی Push Notifications Services
- سناریوهای معمول
- سرویس های Platform-Specific
- اضافه کردن Platform-Specific Notification Support
- بررسی Easy Tables و Easy APIs
- پاسخ دادن به Notification ها







