Uno Platform 6.6 Native AOT را روی Windows، Android، iOS، macOS و Linux فعال کرده، یک بک‌اند رندرینگ اختیاری مبتنی بر Vulkan معرفی نموده و پشتیبانی از دسترس‌پذیری و متن چندزبانه را گسترش داده است.

خلاصه تغییرات کلیدی

  • پشتیبانی Native AOT برای کاهش زمان شروع و استفاده کمتر از JIT در زمان اجرا.
  • بک‌اند رندرینگ اختیاری مبتنی بر Vulkan برای Windows، Linux و Android (OpenGL/Skia همچنان پیش‌فرض است؛ Apple از Metal استفاده می‌کند و WebAssembly روی WebGL اجرا می‌شود).
  • گسترش دسترس‌پذیری برای رابط‌های رندر شده با Skia و بهبود پشتیبانی از IME و font fallback برای زبان‌های چندنظام نوشتاری.
  • افزایش پوشش APIهای WinUI، شامل projections، تبدیل‌های هندسی، بررسی املا، WebView2 و موارد مرتبط.

بهبود زمان شروع با Native AOT

Native AOT کد را پیش از اجرا کامپایل می‌کند و نیاز به JIT در هنگام شروع را کاهش می‌دهد. در آزمایش‌های Uno با نمونهٔ Chefs روی .NET 10، زمان شروع بین 21% در iOS تا 61% در Android بهبود یافته است. نتایج نهایی به ساختار برنامه، تنظیمات نشر و سخت‌افزار وابسته است؛ نشر مبتنی بر JIT همچنان پشتیبانی می‌شود تا سازگاری حفظ شود و توسعه‌دهندگان بتوانند بر اساس نیاز انتخاب کنند.

Vulkan: گزینه‌ای برای رندرینگ سنگین

در Windows، Linux و Android اکنون امکان انتخاب بک‌اند Vulkan به‌صورت اختیاری وجود دارد. تیم توسعه اشاره کرده که در برخی بنچمارک‌ها هزینهٔ رندر هر فریم تا 50% کاهش یافته که برای اپلیکیشن‌های دارای انیمیشن یا رندر سنگین مفید خواهد بود. Skia همچنان نقش مهمی در رندرینگ ایفا می‌کند؛ برای اطلاعات بیشتر به Skia و مستندات Khronos مراجعه کنید.

نمونه رابط کاربری رندر شده با Uno و Skia

سهولت در نویسندگی XAML

تغییرات جدید نوشتن XAML را ساده‌تر کرده‌اند: فضای نام استاندارد WinUI و x: به‌صورت ضمنی در دسترس قرار گرفته‌اند و امکان تعریف فضای نام‌های مشترک در یک فایل GlobalNamespaces.xaml مرکزی فراهم شده است. صفحاتی که x:Class دارند می‌توانند به‌طور خودکار کد-بِهِیند تولید شده دریافت کنند تا صفحات صرفاً XAML بدون فایل .xaml.csِ خالی قابل استفاده باشند. در عین حال، کدنویسی دستی برای سازنده‌ها، هندلرها یا بازنویسی چرخهٔ حیات همچنان ممکن است.

ابزارهای هوش مصنوعی و ثبت خودکار MCP

سیستم‌های App MCP و Docs MCP می‌توانند خود را با عامل‌های توسعه پشتیبانی‌شده ثبت کنند. App MCP امکان بازرسی و تعامل با برنامهٔ در حال اجرا را فراهم می‌کند و Docs MCP به مستندات Uno دسترسی می‌دهد. ثبت خودکار با ابزارهایی مانند Visual Studio، VS Code Copilot، Claude Code، Cursor، Codex CLI و Gemini CLI سازگار شده است؛ با این حال همهٔ عامل‌ها هنوز پشتیبانی کامل ندارند.

دسترس‌پذیری و پشتیبانی از زبان‌های چندگانه

پشتیبانی دسترس‌پذیری برای رابط‌های رندر شده با Skia در Windows، macOS و WebAssembly گسترش یافته و خواننده‌های صفحه (screen readers) اکنون می‌توانند به عناصر Uno دسترسی پیدا کنند. Android و iOS در مسیر توسعه قرار دارند و پشتیبانی Linux نیز در برنامه است. به‌علاوه، ورژن جدید ترکیب کامل IME برای زبان‌های آسیایی چند-کلیدی را فراهم ساخته و قابلیت بازگشت خودکار قلم (font fallback) برای محیط‌های چند سامانهٔ نوشتاری اضافه شده است.

گسترش پوشش WinUI و نکات مهاجرت

Uno 6.6 اجرای تعداد بیشتری از APIهای WinUI را اضافه کرده است: projections، تبدیل‌های هندسی، برجسته‌سازی متن، بررسی املا، flyoutها، عملیات کلیپ‌بورد، کشیدن و رها کردن، WebView2 و پخش انیمیشنی WebP. همچنین پشتیبانی از پس‌زمینه‌های Mica و Acrylic روی macOS افزوده شده است. سطح پشتیبانی بسته به هدف متفاوت است؛ پیش از تکیه بر هر API، یادداشت‌های مخصوص هر پلتفرم را بررسی کنید. کد منبع و یادداشت‌های انتشار در صفحه رسمی موجود است: Uno Platform on GitHub.

SkiaSharp و فرآیند به‌روزرسانی

SkiaSharp 4.x به‌صورت اختیاری عرضه شده و Uno 6.6 به‌صورت پیش‌فرض هنوز از SkiaSharp 3.x استفاده می‌کند. برای ارتقا باید ورودی Uno SDK در global.json را به‌روزرسانی کرده و راهنمای مهاجرت مربوط به پروژه را ملاحظه کنید. یادداشت‌های انتشار و بنچمارک‌ها در مخزن رسمی و مستندات در دسترس‌اند.

چه کسانی باید این نسخه را بررسی کنند؟

  • توسعه‌دهندگانی که به زمان شروع سریع و مصرف کمتر منابع اهمیت می‌دهند و می‌توانند از Native AOT بهره ببرند.
  • تیم‌هایی که اپلیکیشن‌های گرافیکی و انیمیشنی سنگین تولید می‌کنند و مایل به آزمون بک‌اند Vulkan هستند.
  • پروژه‌هایی که نیاز به دسترس‌پذیری بهتر یا پشتیبانی از زبان‌های چندگانه دارند.

نکات عملی و توصیه‌های مهاجرت

  • پیش از مهاجرت، بنچمارک‌های واقعی پروژه را اجرا کنید تا تاثیر Native AOT یا بک‌اند Vulkan بر عملکرد مشخص شود.
  • برای مهاجرت به SkiaSharp 4.x، global.json و راهنمای مهاجرت را به‌دقت بررسی کنید و وابستگی‌های دیگر پروژه را ارزیابی نمایید.
  • سطح پشتیبانی APIها را برای هر هدف (پلتفرم) کنترل کنید و در صورت نیاز از نشر JIT یا نسخهٔ قبلی استفاده کنید تا سازگاری حفظ شود.
  • در صورت بروز مشکل در پشتیبانی دسترس‌پذیری یا IME، گزارش‌های مرتبط را در مخزن GitHub بررسی یا ثبت کنید.

منابع و مطالعه بیشتر

برای جزئیات فنی و راهنمای نصب به مخزن و مستندات Uno مراجعه کنید: https://github.com/unoplatform/uno. برای آشنایی بیشتر با WebAssembly به WebAssembly سر بزنید.