Shiny؛ مجموعه ابزارهای .NET برای Blazor،؜ desktop و mobile

چرا مهم است

اگر با Blazor،؜ desktop یا mobile کار می‌کنی، Shiny فقط مجموعه‌ای برای mobile نیست. معرفی نگه‌دارنده، UI control‌ها، دسترسی مشترک به database‌ها و سرویس‌های دستگاه را در کنار هم پوشش می‌دهد.

قبل از خواندن، این‌ها را بدان۴ مفهوم
AOT

روشی که در آن کد پیش از اجرای برنامه به کد ماشین تبدیل می‌شود، نه هنگام اجرای آن.

در حال نگارش: AOT

schema

ساختاری که شکل داده‌ها، field‌ها و قواعد مربوط به آن‌ها را مشخص می‌کند.

در حال نگارش: schema

WebAssembly

قالبی برای اجرای کد تولیدشده توسط compiler در محیط‌هایی مانند مرورگر.

در حال نگارش: WebAssembly

trimming

فرایند حذف بخش‌های استفاده‌نشده کد و dependency‌ها از خروجی انتشار برنامه.

در حال نگارش: trimming

نگه‌دارنده Shiny در معرفی تازه‌ای، بخش‌های مختلف این مجموعه open-source را برای توسعه‌دهندگان .NET شرح داده است. Shiny بیشتر با ابزارهای mobile شناخته می‌شود، اما به گفته او، بخش زیادی از کارهای اخیر به Blazor و desktop اختصاص داشته است. این مجموعه در مجموع بیش از ۵۰ کتابخانه دارد؛ همه آن‌ها .NET 9+ را هدف می‌گیرند و سازگار با AOT و trimming معرفی شده‌اند.

بخش Shiny Controls بیش از ۱۰۰ UI control برای Blazor و MAUI با یک سیستم theme مشترک ارائه می‌کند. DataGrid آن از ستون‌های دارای type،؜ مرتب‌سازی، filtering،؜ grouping،؜ paging و virtualization پشتیبانی می‌کند و در Blazor،؜ semantic HTML تولید می‌کند. Scheduler،؜ Gantt،؜ Kanban،؜ Timeline و TreeView هم در فهرست ابزارها هستند. ابزارهای Spreadsheet،؜ Document Editor و Slide Editor امکان بازکردن و ویرایش فایل‌های .xlsx،؜ .docx و .pptx را دارند. Theme Composer نیز برای طراحی زنده theme و خروجی‌گرفتن به‌شکل CSS ارائه شده است. امکانات desktop شامل docking،؜ tray icon و پنجره ورود سریع به سبک Spotlight است.

بخش Shiny DocumentDb یک JSON document store بدون schema ثابت است که API مشترکی برای ۲۰ database ارائه می‌کند؛ از جمله SQLite،؜ PostgreSQL،؜ SQL Server،؜ MongoDB،؜ Redis و IndexedDB. طبق معرفی، به migration نیاز ندارد و query‌های LINQ را به زبان query بومی هر database تبدیل می‌کند. multi-tenancy،؜ soft delete،؜ نگهداری تاریخچه زمانی، field-level encryption و transactional outbox نیز در فهرست قابلیت‌ها قرار دارند. vector search و full-text search به پشتیبانی backend وابسته‌اند. همچنین همان کد می‌تواند با IndexedDB در برنامه Blazor WebAssembly و با Postgres در server اجرا شود.

بخش اصلی Shiny با مجوز MIT،؜ API‌های یکسان و قابل‌آزمایش برای دسترسی به دستگاه و سرویس‌های background ارائه می‌کند. Bluetooth LE،؜ اجرای background job،؜ انتقال HTTP با قابلیت ادامه، data sync،؜ network discovery،؜ Wi-Fi و push از جمله موارد آن هستند. پوشش این بخش شامل Windows،؜ macOS،؜ Linux،؜ iOS و Android است؛ پشتیبانی Blazor WebAssembly نیز در محدوده امکاناتی است که مرورگر اجازه می‌دهد. این مجموعه با Avalonia و Uno هم کار می‌کند و کتابخانه‌هایی برای mediator،؜ source-generated DI،؜ actor‌های مشابه Orleans و یکپارچه‌سازی با Aspire دارد.

نکته کلیدی

هنگام بررسی Shiny،؜ محدوده پشتیبانی را برای بخش موردنیازت جداگانه بخوان. vector search و full-text search به backend وابسته‌اند و قابلیت‌های دستگاه در Blazor WebAssembly فقط در حد اجازه مرورگر در دسترس‌اند.

خواندن مقاله اصلی (در زبانه‌ی جدید باز می‌شود)
برچسب‌ها (۴)