Xamarin.Forms در مقابل Xamarin Native (iOS/Android)
Xamarin.Forms یک لایه انتزاعی مشترک روی Xamarin است که با یک کدبیس XAML/C# واحد، UI برای iOS و Android تولید میکند؛ Xamarin Native (Xamarin.iOS و Xamarin.Android) به توسعهدهنده اجازه میدهد مستقیماً و جداگانه با API های بومی هر پلتفرم در C# کار کند و کنترل و کارایی کامل بومی داشته باشد.
| ویژگی | Xamarin.Forms | Xamarin Native (iOS/Android) |
|---|---|---|
| کدبیس UI | مشترک بین iOS/Android | جداگانه برای هر پلتفرم |
| کارایی و دسترسی بومی | خوب ولی با یک لایه انتزاع | کامل و مستقیم |
| سرعت توسعه | سریعتر | کندتر (دو برابر کار UI) |
| وضعیت پشتیبانی فعلی | میراث (Legacy) | میراث (Legacy) — هر دو با .NET MAUI جایگزین شدهاند |
کِی از Xamarin.Forms استفاده کنیم؟
برای پوشش سریع هر دو پلتفرم با یک کدبیس مشترک UI در پروژههایی که تفاوت ظاهری زیادی بین iOS و Android نیاز ندارند، از Xamarin.Forms استفاده کنید.
کِی از Xamarin Native (iOS/Android) استفاده کنیم؟
وقتی نیاز به تجربه کاملاً بومی، کارایی حداکثری یا دسترسی مستقیم به جدیدترین API های هر پلتفرم دارید (و مایل به نوشتن UI جداگانه برای هر پلتفرم هستید)، از Xamarin Native استفاده کنید.
مثال Xamarin.Forms
<!-- Shared XAML across iOS and Android -->
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms">
<Label Text="Hello, Xamarin.Forms!" HorizontalOptions="Center" />
</ContentPage>
مثال Xamarin Native (iOS/Android)
// Xamarin.Android - platform-specific native code
public class MainActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
}
}
اشتباه رایج
توجه: هر دو مسیر امروز میراث محسوب میشوند و مایکروسافت مسیر رسمی جدید را .NET MAUI اعلام کرده؛ اشتباه رایج شروع پروژه جدید با Xamarin.Forms یا Xamarin Native به جای مهاجرت مستقیم به MAUI است که پشتیبانی بلندمدتتری دارد.
جمعبندی
کدبیس مشترک و سرعت توسعه → Xamarin.Forms؛ کنترل و کارایی کاملاً بومی → Xamarin Native — اما برای پروژه جدید، .NET MAUI جایگزین توصیهشده هر دو است.
