دانلود رایگان آموزش صفر تا صد زامارین (فیلم+PDF)

بعد از حدود ۱ هفته گشت و گذار در اینترنت و از بین هزاران ویدیو، یک مجموعه بی نقص و کامل ویدیویی را برای یادگیری سریع برنامه نویسی زامارین برای اندروید گلچین کرده ایم. این مجموعه کامل برای شروع از صفر و برای همه سطوح مناسب می باشد. بعد از آن نیز بهترین جزوه PDF فارسی موجود در اینترنت را جهت تکمیل یادگیری می توانید دانلود کنید.
۱-مفاهیم فوق العاده مهم زامارین (همین توضیحات نصف زامارین هستن!)
Xamarin یک فناوری مایکروسافت برای ساخت اپلیکیشنهای موبایل با زبان C# و پلتفرم .NET بود. با Xamarin میشد بخش زیادی از کد یک برنامه را یکبار نوشت و از آن برای ساخت نسخه Android و iOS استفاده کرد.
اما نکته بسیار مهم این است که پشتیبانی رسمی Xamarin در ۱ مه ۲۰۲۴ پایان یافته است. Xamarin.Forms نیز به .NET MAUI تکامل پیدا کرده و مایکروسافت توصیه میکند پروژههای جدید با .NET MAUI ساخته شوند. بنابراین در سال ۲۰۲۶ یادگیری Xamarin بیشتر برای شناخت پروژههای قدیمی و مهاجرت آنها ارزش دارد؛ برای شروع برنامهنویسی چندسکویی جدید، بهتر است .NET MAUI را یاد بگیرید.
Xamarin چگونه کار میکرد؟
ایده اصلی Xamarin بسیار ساده بود:
C# و .NET → کد مشترک → Android و iOS
بهجای اینکه برای اندروید تمام برنامه را با Kotlin یا Java و برای iOS دوباره با Swift بنویسید، میتوانستید قسمت بزرگی از منطق برنامه را با C# مشترک نگه دارید.
برای مثال منطق ورود کاربر، محاسبات، ارتباط با API و مدیریت دادهها میتوانست بین نسخههای مختلف مشترک باشد.
بخشهای اصلی Xamarin
سه نام مهم در پروژههای Xamarin زیاد دیده میشوند:
| فناوری | کاربرد |
|---|---|
| Xamarin.Android | ساخت برنامه مخصوص Android با C# |
| Xamarin.iOS | ساخت برنامه مخصوص iPhone و iPad با C# |
| Xamarin.Forms | ساخت رابط و منطق مشترک برای چند پلتفرم |
Xamarin.Forms مهمترین گزینه برای توسعه Cross-platform بود. امروزه ادامه همین ایده را در .NET MAUI میبینیم. مایکروسافت امکان ارتقای Xamarin.Android، Xamarin.iOS و Xamarin.Forms به فناوریهای جدید .NET را نیز مستند کرده است.
قبل از Xamarin چه چیزهایی باید یاد بگیریم؟
مهمترین پیشنیاز، زبان C# است. قبل از ورود به پروژه موبایل بهتر است با متغیرها، شرطها، حلقهها، متدها، Class، Object، Interface، List، Exception Handling و برنامهنویسی شیءگرا آشنا باشید. مثلاً:
string name = "Ali";
int age = 25;
if (age >= 18)
{
Console.WriteLine("Adult");
}اگر C# را بلد باشید، بخش بزرگی از کدهای Xamarin و حتی .NET MAUI برایتان قابل فهم خواهد بود.
XAML چیست؟
در Xamarin.Forms معمولاً رابط کاربری با XAML ساخته میشد. مثلاً یک صفحه بسیار ساده:
<StackLayout>
<Label Text="سلام" />
<Button Text="ورود" />
</StackLayout>XAML مشخص میکند چه عناصری روی صفحه قرار بگیرند. در کنار آن C# رفتار برنامه را مشخص میکند. یعنی بهصورت ساده:
XAML = ظاهر برنامه
C# = منطق و رفتار برنامه
این مفهوم همچنان در .NET MAUI نیز کاربرد دارد.
Page چیست؟
در Xamarin.Forms هر بخش اصلی رابط معمولاً داخل یک Page قرار میگرفت. برای مثال:
LoginPageHomePageProductPageProfilePage
از Pageهای مهم Xamarin.Forms میتوان به ContentPage، NavigationPage و TabbedPage اشاره کرد. برای یک مبتدی کافی است ابتدا ContentPage را بهعنوان یک صفحه معمولی برنامه بشناسد.
Layout چیست؟
Layout مشخص میکند عناصر صفحه چگونه کنار یکدیگر قرار بگیرند. مثلاً StackLayout عناصر را پشت سر هم قرار میدهد، Grid امکان ساخت سطر و ستون را فراهم میکند و FlexLayout برای چیدمانهای انعطافپذیر کاربرد دارد.
فرض کنید صفحه ورود دارید. میتوانید عنوان، کادر نام کاربری، کادر رمز و دکمه ورود را داخل یک Layout قرار دهید. یکی از مهارتهای اساسی در Xamarin این بود که بتوانید بدون استفاده بیرویه از اندازههای ثابت، رابطی بسازید که روی اندازههای مختلف صفحه درست نمایش داده شود.
Control ها را بشناسید
Control همان عناصر قابل مشاهده یا تعاملی رابط کاربری است. برای مثال Label برای نمایش متن، Button برای دکمه، Entry برای دریافت متن، Image برای تصویر، Switch برای گزینه روشن و خاموش و CollectionView برای نمایش مجموعهای از اطلاعات استفاده میشود.
لازم نیست تمام کنترلها را حفظ کنید. هنگام ساخت پروژه، هر Control را در زمان نیاز یاد بگیرید.
Event چیست؟
وقتی کاربر کاری انجام میدهد، یک Event رخ میدهد. مثلاً کاربر روی دکمه کلیک میکند.
private void LoginButton_Clicked(object sender, EventArgs e)
{
// عملیات ورود
}این روش ساده است و برای یادگیری اولیه مناسب خواهد بود. اما در پروژههای بزرگتر بهتر است منطق برنامه از رابط کاربری جدا شود؛ به همین دلیل مفهوم MVVM اهمیت زیادی پیدا میکند.
MVVM چیست؟
یکی از مهمترین مفاهیم Xamarin.Forms و .NET MAUI، معماری MVVM است. MVVM مخفف سه بخش است:
- Model → View → ViewModel
Model اطلاعات برنامه را نگهداری میکند. View همان رابطی است که کاربر مشاهده میکند. ViewModel منطق مربوط به رابط و اطلاعات موردنیاز آن را مدیریت میکند. مثلاً در یک فروشگاه:
- Product = Model
- ProductPage = View
- ProductViewModel = ViewModel
برای اولین پروژه لازم نیست MVVM را پیچیده پیادهسازی کنید، اما این مفهوم را زود یاد بگیرید؛ زیرا باعث میشود پروژههای بزرگتر منظمتر شوند.
Data Binding چیست؟
Data Binding رابط میان View و اطلاعات برنامه است. فرض کنید ViewModel دارای متغیری به نام:
public string UserName { get; set; }باشد. در XAML میتوان آن را به Label متصل کرد:
<Label Text="{Binding UserName}" />اکنون View میتواند اطلاعات ViewModel را نمایش دهد. این اتصال یکی از پایههای اصلی MVVM محسوب میشود.
Navigation چگونه انجام میشود؟
بیشتر برنامهها چند صفحه دارند:
Login → Home → Products → Details
Navigation وظیفه جابهجایی میان این صفحات را بر عهده دارد. در Xamarin.Forms معمولاً با NavigationPage و دستورهایی مانند PushAsync و PopAsync سروکار داشتید. مثلاً:
await Navigation.PushAsync(new ProductPage());یعنی صفحه ProductPage باز شود. در .NET MAUI نیز Navigation وجود دارد، اما Shell یکی از روشهای مهم برای مدیریت ساختار و مسیرهای برنامه است.
ارتباط با اینترنت
برنامههای واقعی معمولاً باید از یک Server اطلاعات دریافت کنند. مسیر معمول چنین است:
Xamarin App → API → Server → Database
مثلاً برنامه فروشگاهی لیست محصولات را از API دریافت میکند. در C# معمولاً از HttpClient استفاده میشود:
var client = new HttpClient();
var response = await client.GetAsync(url);در این مرحله باید مفاهیم HTTP، REST API، JSON و async/await را یاد بگیرید.
async و await چرا مهم هستند؟
دریافت اطلاعات از اینترنت ممکن است چند ثانیه طول بکشد. اگر این عملیات اشتباه اجرا شود، رابط برنامه میتواند قفل شود. در C# از async و await برای مدیریت عملیات غیرهمزمان استفاده میشود. مثلاً:
var result = await client.GetStringAsync(url);مفهوم async/await هم در Xamarin و هم در توسعه مدرن .NET بسیار مهم است.
ذخیره اطلاعات در گوشی
همه اطلاعات نباید از اینترنت دریافت شوند. برای دادههای ساده میتوان از Preferences استفاده کرد و برای اطلاعات ساختاریافتهتر، SQLite یکی از گزینههای رایج در پروژههای Xamarin بود.
مثلاً برنامه یادداشت میتواند عنوان و متن یادداشتها را در یک Database محلی نگهداری کند. بنابراین یک برنامه واقعی ممکن است همزمان از Local Database + API استفاده کند.
مجوزهای برنامه
برای استفاده از بعضی امکانات گوشی مانند Camera، Location یا Microphone باید Permission مناسب دریافت شود. یک اصل مهم این است که فقط مجوزهایی را درخواست کنید که واقعاً لازم دارید.
برنامه ماشینحساب دلیلی برای درخواست دسترسی به موقعیت مکانی کاربر ندارد. این مسئله هم برای اعتماد کاربران و هم برای انتشار برنامه در فروشگاههای اپلیکیشن اهمیت دارد.
Xamarin.Forms و .NET MAUI چه تفاوتی دارند؟
.NET MAUI را میتوان نسل جدید Xamarin.Forms دانست.
Xamarin.Forms دیگر پشتیبانی نمیشود، در حالی که MAUI بخشی از اکوسیستم جدید .NET است و برای ساخت برنامههای Android، iOS، macOS و Windows استفاده میشود. Xamarin.Android و Xamarin.iOS نیز از نسل .NET 6 به بعد مستقیماً در .NET به شکل .NET for Android و .NET for iOS ادغام شدهاند.
بسیاری از مفاهیمی که در Xamarin یاد میگیرید همچنان کاربرد دارند؛ از جمله C#، XAML، MVVM، Binding، Navigation، Dependency Injection، API و معماری برنامه.
۲-موارد آموزش داده شده در این پکیج رایگان
- آشنایی با مقدمات زامارین
- مقایسه زامارین با جاوا
- بررسی امکانات و قابلیت های زامارین
- نصب و راه اندازی زامارین
- نصب و راه اندازی ماشین مجازی
- کار با لایه ها در زمارین
- و …
۳- نمونه آموزش های رایگان
۴-دانلود آموزش رایگان
حجم: یک گیگ
سطح: از صفر تا صد
نسخه آموزش داده شده: مناسب برای همه نسخه ها
![]()
به دنبال یادگیری سریع تر، حرفه ای تر، کامل تر و با کیفیت فول اچ دی هستید؟ بهترین پکیج آموزش زامارین موجود در ایران را ببینید!
آیا در سال ۲۰۲۶ Xamarin را یاد بگیریم؟
اگر از صفر شروع میکنید، خیر؛ Xamarin را فناوری اصلی خود انتخاب نکنید. مستقیم سراغ این مسیر بروید:
C# → .NET → XAML → .NET MAUI
اما اگر قرار است روی پروژه قدیمی یک شرکت کار کنید که با Xamarin.Forms، Xamarin.Android یا Xamarin.iOS نوشته شده، یادگیری Xamarin همچنان ارزشمند است.
مایکروسافت برای مهاجرت این پروژهها به .NET و .NET MAUI راهنمای رسمی دارد.
مسیر پیشنهادی یادگیری
برای کسی که میخواهد مفاهیم Xamarin را بفهمد و در عین حال مهارت بهروز داشته باشد، مسیر مناسب این است:
C# پایه → برنامهنویسی شیءگرا → XAML → Xamarin.Forms در حد شناخت پروژههای قدیمی → MVVM → Data Binding → Navigation → API → SQLite → async/await → .NET MAUI → ساخت پروژه واقعی
برای تمرین نیز ابتدا یک ماشینحساب ساده بسازید، سپس برنامه To-Do List با ذخیره اطلاعات و در مرحله سوم یک اپلیکیشن دریافت اطلاعات از API ایجاد کنید.
نکته مهم درباره نسخههای قدیمی Xamarin
آخرین SDKهای Xamarin به فناوریهای جدید سیستمعاملها بهصورت نامحدود دسترسی ندارند. طبق سیاست رسمی مایکروسافت، Android API 34 و Xcode 15 آخرین نسخههایی بودند که Xamarin SDKها هدف قرار دادند و پس از پایان پشتیبانی در ۱ مه ۲۰۲۴ دیگر APIهای جدید برای آن برنامهریزی نشده است.
به همین دلیل ساخت یک پروژه جدید تجاری با Xamarin در سال ۲۰۲۶ تصمیم مناسبی نیست.
ترفندهای بسیار کاربردی زامارین که باید بلد باشید
همانطور که توضیح دادیم زامارین (Xamarin)، یک پلتفرم توسعه نرمافزار متقابل (cross-platform) است که به توسعهدهندگان اجازه میدهد با استفاده از C# و .NET، اپلیکیشنهایی برای iOS، Android و Windows بسازند. استفاده کارآمد از زامارین میتواند به شما کمک کند تا اپلیکیشنهایی با کیفیت و با عملکرد بالا توسعه دهید. در اینجا 9 ترفند بسیاااار کاربردی برای استفاده بهتر از زامارین آورده شده است:
- آشنایی با C# و .NET: داشتن دانش قوی در C# و .NET برای توسعه مؤثر با زامارین ضروری است.
- استفاده از Xamarin.Forms برای UI مشترک: Xamarin.Forms به شما امکان میدهد رابط کاربری را یک بار بسازید و در پلتفرمهای مختلف استفاده کنید. این کار باعث صرفهجویی در زمان و تلاش میشود.
- آشنایی با MVVM (Model-View-ViewModel): فراگیری الگوی MVVM برای مدیریت بهتر دادهها و رابط کاربری در اپلیکیشنهای Xamarin.
- تست بر روی دستگاههای واقعی: اگرچه امولاتورها برای تست سریع مناسب هستند، اما تست نهایی برنامهها باید روی دستگاههای واقعی انجام شود تا عملکرد واقعی آنها در شرایط مختلف بررسی شود.
- استفاده از Dependency Injection: استفاده از Dependency Injection برای افزایش قابلیت تست و نگهداری کد.
- بهینهسازی عملکرد: توجه به بهینهسازی عملکرد، مانند کاهش استفاده از حافظه و بهینهسازی سرعت بارگذاری.
- استفاده از پلاگینها و کتابخانههای مشترک: استفاده از پلاگینها و کتابخانههای موجود برای افزایش سرعت توسعه و جلوگیری از تکرار کد.
- آشنایی با اصول امنیتی: اطمینان از اینکه اپلیکیشنهای شما از اصول امنیتی پیروی میکنند، مانند امنیت دادهها و ارتباطات شبکه.
- پیروی از اصول طراحی هر پلتفرم: هرچند Xamarin امکان اشتراکگذاری UI را فراهم میکند، اما توجه به اصول طراحی خاص هر پلتفرم برای تجربه کاربری بهتر ضروری است.
جمعبندی
Xamarin نقش بسیار مهمی در توسعه اپلیکیشنهای چندسکویی با C# داشت و مفاهیمی مانند C#، XAML، MVVM، Data Binding، Navigation، API و کد مشترک بین پلتفرمها همچنان ارزش یادگیری دارند.
اما برای یک مبتدی در سال ۲۰۲۶، هدف اصلی نباید «متخصص Xamarin شدن» باشد. بهترین انتخاب این است که اصول Xamarin را برای شناخت پروژههای قدیمی بدانید و سپس .NET MAUI را یاد بگیرید؛ زیرا MAUI مسیر رسمی و مدرن مایکروسافت برای ادامه توسعه اپلیکیشنهای چندسکویی با C# و .NET است. هر گونه سوالی در زمینه این مطلب دارید در بخش نظرات مطرح کنید تا به آن پاسخ دهیم.

عالی بود
پاسخسلام
آیا پس از گذراندن این دوره می توان یک برنامه ساده ساخت؟
سلام من تازه شروع به یادگیری زامارین کردم و موقع اجرا اولین پروژه ساده اخطار deploy failed میده علت این خطا چیه؟
پاسخقبل از ارسال به گوشی ، در خود گوشی صفحه ای باز میشه که ازتون مجوز میخواد که باید اونو تایید کنید ببنید اونو میدین یا نه
این مشکل برای من بندرت پیش امده اما میگم این رو هم چک کنید ، گاها لازمه که اگه برنامه ای که از طریق برنامه نویسی نصب شده بصورت دستی پاک بشه ، تا نسخه جدید بیلد شده ، روی گوشی تون نصب بشه
درود بر شما و کار ارزشمندتون . موفق باشید
سلام
پاسخپروژه عملی مثل ساختن اپ هم داره ؟
سلام و وقت بخیر. دوست عزیز PDF قابل دانلود نیست چون هیچ لینکی برای جزوه وجود نداره. لطفا پیگیری کنید،با سپاس
پاسخباسلام خدمت دوستان گلم
پاسخدر جنی موشین با این ارور مواجه شدم لطفا مرا راهنمایی کنید. ارور اینه Unable to start the virtual device