
آموزش پیاده سازی الگوی MVVM در برنامه های Xamarin
آموزش ویدئویی معماری MVVM برای برنامه های موبایل Xamarin یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی آموزش ساخت معماری MVVM برای برنامه های موبایل Xamarin است که با نام اصلی Building an MVVM-based Architecture for Xamarin Mobile Apps از شرکت Pluralsight منتشر شده است.
MVVM چیست؟
به عنوان یک توسعه دهنده ی نرم افزار در تکنولوژی های WPF و Silverlight چرا باید با الگوی MVVM آشنا بوده و نحوه ی پیاده سازی آن و نکاتش را بدانید؟
Xamarin چیست؟
زامارین (Xamarin) یک ابزار قدرتمند برای برنامه نویسی اپلیکیشن های چندسکویی موبایل است که به کمک زبان سی شارپ و نرم افزار ویژوال استدیو می توانید اپلیکیشن های Native برای سیستم عامل های Android، iOS و Windows Phone بسازید. Xamarin بهترین گزینه برای برنامه نویسان دات نت و توسعه دهندگانی است که قصد دارند نسخه بومی (Native) اندروید، آی او اس و ویندوز فون اپلیکیشن های مورد نیاز خود را با یک بار برنامه نویسی با بالاترین کیفیت تولید کنند.
- آیا شما به عنوان یک توسعه دهنده ی نرم افزار بصورت همزمان با یک طراح واسط کاربری بر روی یک پروژه کار می کنید؟
- آیا به Unit Testing کامل نیاز دارید؟
- آیا داشتن Component هایی که قابل استفاده مجدد یا اصطلاحاً Reusable هستند برای شما مهم است؟
- آیا تغییر واسط کاربری نرم افزار بدون هیچ تغییری در کار منطق تجاری (Business Logic) برای شما اهمیت دارد؟
اگر جواب یکی از سوال های بالا “بله” باشد، شما نیاز به استفاده از MVVM در برنامه های خود دارید.

الگوی طراحی MVVM یک عضو جدا نشدنی از توسعه ی نرم افزار با WPF و Silverlight است. بعد از یادگیری این الگو و نحوه ی پیاده سازی آن خواهید دید که ویژگی های WPF و Silverlight چنان از الگوی MVVM پشتیبانی می کنند که پیاده سازی یک نرم افزار در این تکنولوژی ها بدون این الگو کار دشوارتری خواهد شد. تعدادی از این ویژگی ها در WPF و Silverlight که این دو را برای پیاده سازی الگوی MVVM بسیار مناسب کرده است عبارت اند از:
- سیستم Data Binding
- وجود Data Template ها
- Command ها
طراحی ViewModel و Data Binding در معماری MVVM برای Xamarin
آموزش Building an MVVM-based Architecture for Xamarin Mobile Apps ابتدا به بررسی عمیق MVVM و معماری برنامه میپردازد و سپس ساختار پروژه Core را معرفی میکند. در این معماری، ViewModel مسئول نگهداری وضعیت و منطق مرتبط با نمایش دادههاست و Data Binding ارتباط میان دادههای آن و عناصر رابط کاربری را برقرار میکند. این جداسازی کمک میکند کد مربوط به نمایش از منطق برنامه مستقلتر باشد. با بررسی ViewModelها و ساخت اساس برنامه، میتوانید ساختار مشترکی برای بخشهای اصلی اپلیکیشن طراحی کنید و مسئولیت هر قسمت را در معماری موبایل روشنتر نگه دارید.
پس از ایجاد هسته برنامه، آموزش به اضافه کردن پروژه Android و ساخت یک List View میپردازد. این مرحله نشان میدهد چگونه میتوان ساختار مشترک برنامه را به یک رابط کاربری مشخص متصل کرد و دادهها را در قالب فهرست نمایش داد. با استفاده از Data Binding، تغییرات داده و نمایش آنها میتوانند با وابستگی مستقیم کمتری به یکدیگر انجام شوند. این رویکرد در برنامههایی که اطلاعات متعددی را در قالب فهرست یا نمای جزئیات ارائه میکنند، کاربرد دارد. تمرکز آموزش بر ساخت تدریجی معماری و اتصال اجزای آن به رابط کاربری، درک ارتباط میان Core و پروژه پلتفرم را آسانتر میکند.
افزودن پشتیبانی iOS، Navigation و پیامرسانی میان اجزای برنامه
در ادامه مسیر، پروژه iOS به برنامه اضافه میشود تا معماری ایجادشده در کنار پیادهسازی Android، در یک پلتفرم دیگر نیز مورد استفاده قرار بگیرد. آموزش با ساخت یک Single Object View و افزودن Navigation با Tabها، نحوه نمایش جزئیات یک شیء و جابهجایی میان بخشهای مختلف رابط کاربری را بررسی میکند. این مثالها ارتباط میان داده، ViewModel و اجزای نمایشی را در سناریوهای متفاوت نشان میدهند. برای برنامهنویسان Xamarin، این ساختار کمک میکند بخشهای مشترک برنامه را از جزئیات اختصاصی هر پلتفرم تفکیک کنند و از تکرار غیرضروری منطق اصلی بکاهند.
قابلیتهای پیشرفته معماری و تست کردن برنامه نیز در فصلهای پایانی مورد توجه قرار میگیرند. از جمله موضوعات مشخص، کار با Life Cycle و ارسال پیام با IMvxMessenger است. مدیریت Life Cycle به رفتار برنامه در مراحل مختلف فعالیت و توقف مربوط میشود، در حالی که IMvxMessenger برای تبادل پیام میان بخشهای مرتبط برنامه در چارچوب مورد استفاده آموزش به کار میرود. این مباحث به توسعهدهنده کمک میکنند تعامل اجزا را فراتر از ارتباط مستقیم View و ViewModel بررسی کند. در کنار آزمون معماری، آنها دید کاملتری از ساختار یک اپلیکیشن Xamarin مبتنی بر MVVM و نحوه کنترل رفتار آن در موقعیتهای مختلف فراهم میکنند.
سرفصل مطالب آموزش معماری MVVM برای برنامه های موبایل Xamarin
فصل اول: مقدمه فصل دوم: معرفی- مقدمه
- در این دوره چه چیزی را فرا خواهید گرفت؟
- برنامه ی تکمیل شده ی این بسته ی آموزشی
- مقدمه
- فریم ورک MvvmCross
- آموزش عملی یک برنامه ی ساده با MvvmCross
- Data Binding
- آموزش عملی Data Binding با MvvmCross
- آموزش عملی یک View Model با MvvmCross
- Command ها
- جمع بندی
- مقدمه
- نگاهی به معماری برنامه
- آموزش عملی معماری برنامه
- عملیات MvvmCross
- آموزش عملی کار با کلاس های App و AppStart
- بررسی پروژه ی Core
- آموزش عملی بررسی Model ها، Repository ها و Service ها
- Service Location و Dependency Injection
- آموزش عملی Mvx Service Locator و IOC
- View Model ها
- آموزش عملی بررسی View Model ها
- Navigation در MvvmCross
- آموزش عملی Navigation در View Model ها
- جمع بندی
- مقدمه
- راه اندازی پروژه ی اندروید
- آموزش عملی راه اندازی پروژه ی اندروید
- ساخت یک Single Object View
- Data Binding در اندروید
- ساخت یک List View
- آموزش عملی ساخت یک List View
- افزودن Navigation با استفاده از DrawerLayout
- آموزش عملی ساخت Navigation برای برنامه ی اندروید
- جمع بندی
- مقدمه
- راه اندازی پروژه ی iOS
- آموزش عملی راه اندازی پروژه ی iOS
- ساخت یک Single Object View
- Data Binding در iOS
- آموزش عملی ساخت یک Single Object View
- ساخت یک List View
- آموزش عملی ساحت یک List View
- افزودن Navigation با Tab ها
- آموزش عملی افزودن Navigation با Tab ها
- جمع بندی
- مقدمه
- نمایش Dialog ها
- آموزش عملی نمایش Dialog ها
- کار با Life Cycle برنامه
- آموزش عملی کار با Life Cycle
- استفاده از Plugin ها
- آموزش عملی کار با Plugin ها
- ارسال پیام با IMvxMessenger
- آموزش عملی ارسال پیام با IMvxMessenger
- نمایش دادن سایت ها با پلاگین Browser
- آموزش عملی نمایش دادن سایت ها با پلاگین Browser
- بررسی کردن اتصال
- آموزش عملی بررسی کردن اتصال
- ترجمه کردن View ها
- آموزش عملی ترجمه کردن View ها
- جمع بندی
- مقدمه
- آموزش سریع Unit Testing
- آموزش عملی تست کردن View Model ها
- آموزش عملی تست کردن Service ها
- جمع بندی







