مایکروسافت به جمع حامیان مالی زبان برنامه نویسی Rust پیوست.
زبان Rust در حال حاضر یکی از محبوبترین زبان های برنامه نویسی است و توسط شرکت Mozilla توسعه داده میشود.
شرکت Mozilla که بیشتر با مرورگر FireFox شناخته میشود به دلیل ساختار متن باز خود همیشه با مشکلات مالی روبرو بوده و در حال حاضر سهم کمی از بازار مرورگرها را در اختیار دارد. این موضوع یکی از دلایل کند بودن رشد زبان برنامه نویسی Rust است.
با توجه به اینکه Rust می تواند خیلی از مشکلات امنیتی زبانهایی مثل ++C را حل کند می تواند راهکار خوبی برای توسعه سیستم عامل ها و سیستم های Embed باشد. حالا مایکروسافت به جمع حامیان مالی این زبان پیوسته تا در پیشرفت آن کمک کند.
فریم ورک تحت وب Rust به نام Actix که همیشه جزو سریعترین فریم ورکهای وب است که توسط یکی از کارمندان مایکروسافت پیاده شده و به صورت متن باز توسعه داده میشود.
https://codehaks.com/go/Rst
زبان Rust در حال حاضر یکی از محبوبترین زبان های برنامه نویسی است و توسط شرکت Mozilla توسعه داده میشود.
شرکت Mozilla که بیشتر با مرورگر FireFox شناخته میشود به دلیل ساختار متن باز خود همیشه با مشکلات مالی روبرو بوده و در حال حاضر سهم کمی از بازار مرورگرها را در اختیار دارد. این موضوع یکی از دلایل کند بودن رشد زبان برنامه نویسی Rust است.
با توجه به اینکه Rust می تواند خیلی از مشکلات امنیتی زبانهایی مثل ++C را حل کند می تواند راهکار خوبی برای توسعه سیستم عامل ها و سیستم های Embed باشد. حالا مایکروسافت به جمع حامیان مالی این زبان پیوسته تا در پیشرفت آن کمک کند.
فریم ورک تحت وب Rust به نام Actix که همیشه جزو سریعترین فریم ورکهای وب است که توسط یکی از کارمندان مایکروسافت پیاده شده و به صورت متن باز توسعه داده میشود.
https://codehaks.com/go/Rst
آشنایی با Mapster
کتابخانه Maspter میتواند جایگزین خوبی برای AutoMapper باشد.
https://youtu.be/v8gOaIstOvc
کتابخانه Maspter میتواند جایگزین خوبی برای AutoMapper باشد.
https://youtu.be/v8gOaIstOvc
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
✅ آموزش gRPC در ASP.NET Core - قسمت دوم
در قسمت قبل با gRPC آشنا شدیم و یک پروژه سمپل با اون طراحی کردیم. در این قسمت میخواهیم به صورت عمیق تر مفاهیم gRPC از جمله Message و Service و انواع Data Type ها در Protocol Buffer و نیز تعریف Enum در آن را بررسی کنیم
#آرمین_شعیبی_نژاد
https://vrgl.ir/wvOn6
____________________
@DotNetZoom
در قسمت قبل با gRPC آشنا شدیم و یک پروژه سمپل با اون طراحی کردیم. در این قسمت میخواهیم به صورت عمیق تر مفاهیم gRPC از جمله Message و Service و انواع Data Type ها در Protocol Buffer و نیز تعریف Enum در آن را بررسی کنیم
#آرمین_شعیبی_نژاد
https://vrgl.ir/wvOn6
____________________
@DotNetZoom
Forwarded from کدهک
کار با ajax در Razor Pages
در Razor Page هدف نهایی نمایش View است که شامل محتوای HTML باشد. اما گاهی نیاز داریم داده های JSON یا فایل استفاده کنیم. در این ویدیو نحوه ی بارگذاری اطلاعات JSON در Razor Page از طریق AJAX آموزش داده میشود.
https://codehaks.com/go/ajx
در Razor Page هدف نهایی نمایش View است که شامل محتوای HTML باشد. اما گاهی نیاز داریم داده های JSON یا فایل استفاده کنیم. در این ویدیو نحوه ی بارگذاری اطلاعات JSON در Razor Page از طریق AJAX آموزش داده میشود.
https://codehaks.com/go/ajx
Forwarded from کدهک
اضافه کردن کامپوننت Blazor به پروژه ASP NET Core
در این ویدیو ابتدا یک پروژه ی خالی ASP NET Core 3.0 ایجاد می کنیم و سپس به آن Razor Pages را اضافه می کنیم. در آخر یک کامپوننت Blazor را درون صفحه اصلی سایت نمایش میدهیم.
با استفاده از این تکنیک می توانید به پروژه های جاری خود کامپوننت Blazor اضافه کنید و از آخرین تکنولوژی های ارائه شده بهره ببرید.
https://tinyurl.com/cdhk-blazor-rp
در این ویدیو ابتدا یک پروژه ی خالی ASP NET Core 3.0 ایجاد می کنیم و سپس به آن Razor Pages را اضافه می کنیم. در آخر یک کامپوننت Blazor را درون صفحه اصلی سایت نمایش میدهیم.
با استفاده از این تکنیک می توانید به پروژه های جاری خود کامپوننت Blazor اضافه کنید و از آخرین تکنولوژی های ارائه شده بهره ببرید.
https://tinyurl.com/cdhk-blazor-rp
دوره آموزشی مبانی برنامه نویسی میکروسرویس در ASP NET Core
فصل اول - معرفی و مقدمه
فصل دوم - آموزش gRPC
فصل سوم - آموزش Redis
فصل چهارم - آموزش RabbitMQ
فصل پنجم - آموزش ابزار ASP NET Core
فصل ششم - پروژه دمو
کد تخفیف 50 درصد : codhak
https://codehaks.com/go/dsd
فصل اول - معرفی و مقدمه
فصل دوم - آموزش gRPC
فصل سوم - آموزش Redis
فصل چهارم - آموزش RabbitMQ
فصل پنجم - آموزش ابزار ASP NET Core
فصل ششم - پروژه دمو
کد تخفیف 50 درصد : codhak
https://codehaks.com/go/dsd
تست RazorPage با WebApplicationFactory
با کمک WebApplicationFactory می توانید یک سرور در حافظه راه اندازی کنید و قابلیت های مختلف پروژه وب خود را تست کنید.
https://youtu.be/_A2UvXRvOgU
با کمک WebApplicationFactory می توانید یک سرور در حافظه راه اندازی کنید و قابلیت های مختلف پروژه وب خود را تست کنید.
https://youtu.be/_A2UvXRvOgU
Forwarded from کدهک
ویدیو : آشنایی با Esquio
با استفاده از این کتابخانه می توانید در ASP NET Core قابلیت Feature Toggling و A/B Testing اضافه کنید. روشن یا خاموش کردن قابلیت های سایت یا Feature Toggling روشی است که بتوانید پروژه را به صورت مداوم توسعه دهید و در حالت زنده تست کنید.
https://tinyurl.com/cdhk-esqui
با استفاده از این کتابخانه می توانید در ASP NET Core قابلیت Feature Toggling و A/B Testing اضافه کنید. روشن یا خاموش کردن قابلیت های سایت یا Feature Toggling روشی است که بتوانید پروژه را به صورت مداوم توسعه دهید و در حالت زنده تست کنید.
https://tinyurl.com/cdhk-esqui
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
✅بررسی عملی CQRS- بخش سوم: پروژه عملی با SQL Server و MongoDB
تا اینجای کار به صورت اجمالی با الگوی CQRS و همچنین به طور کامل با کتابخانه MediatR آشنا شدیم. در این قسمت قرار است که در یک پروژه عملی CQRS را در سطح دیتابیس با استفاده از SQL Server و Mongo DB پیاده سازی کنیم. همچین به مسئله Eventual Consistency میپردازیم و این تکنینک را با استفاده از Channel ها و Background Service ها در ASP Net Core پیاده سازی میکنیم
#بابک_طارمی
https://vrgl.ir/cibRC
____________________
@DotNetZoom
تا اینجای کار به صورت اجمالی با الگوی CQRS و همچنین به طور کامل با کتابخانه MediatR آشنا شدیم. در این قسمت قرار است که در یک پروژه عملی CQRS را در سطح دیتابیس با استفاده از SQL Server و Mongo DB پیاده سازی کنیم. همچین به مسئله Eventual Consistency میپردازیم و این تکنینک را با استفاده از Channel ها و Background Service ها در ASP Net Core پیاده سازی میکنیم
#بابک_طارمی
https://vrgl.ir/cibRC
____________________
@DotNetZoom
ویرگول
بررسی عملی CQRS- بخش سوم: پروژه عملی
در این بخش به بررسی و پیاده سازی یک پروژه عملی ساده با CQRS و SQL Server و Mongo DB می پردازیم
Forwarded from کدهک
در سی شارپ 8.0 سینتکس جدیدی برای استفاده از Using اضافه شده است که می تواند کار با آن را ساده تر کند.
https://codehaks.com/go/pqt
https://codehaks.com/go/pqt
معماری WSL2
از نسخه 18917 ویندوز به بعد می توانید از قابلیت Windows Subsystem For Linux نسخه 2 استفاده کنید. معماری این نسخه تغییرات اساسی داشته و پرفورمنس محیط لینوکس را به طول قابل توجهی افزایش میدهد.
به طور کلی WSL به شما امکان میدهد روی ویندوز یک نسخه از لینوکس مثل Ubuntu یا CentOs نصب و اجرا کنید. در مقایسه با استفاده از ابزاری مثل Virtual Box کار راحت تر است و به منابع کمتری هم نیاز دارید.
در WSL1 دستورات Linux باید به Windows ترجمه میشد و بعد اجرا میشد اما در WSL2 هسته لینکوس به طور مجزا روی ویندوز نصب میشود و تنها نیاز به Hypervisor جهت اجرا دارد که سربار به مراتب کمتری مصرف میکند.
با WSL2 می توانید عملا هر نرم افزار Linux را روی ویندوز اجرا کنید (بدون رابط کاربری) و این گزینه برای توسعه دهندگان نرم افزار میتواند ابزار خوبی باشد.
نسخه جدید Docker ویندوز هم روی WSL2 اجرا میشود.
از نسخه 18917 ویندوز به بعد می توانید از قابلیت Windows Subsystem For Linux نسخه 2 استفاده کنید. معماری این نسخه تغییرات اساسی داشته و پرفورمنس محیط لینوکس را به طول قابل توجهی افزایش میدهد.
به طور کلی WSL به شما امکان میدهد روی ویندوز یک نسخه از لینوکس مثل Ubuntu یا CentOs نصب و اجرا کنید. در مقایسه با استفاده از ابزاری مثل Virtual Box کار راحت تر است و به منابع کمتری هم نیاز دارید.
در WSL1 دستورات Linux باید به Windows ترجمه میشد و بعد اجرا میشد اما در WSL2 هسته لینکوس به طور مجزا روی ویندوز نصب میشود و تنها نیاز به Hypervisor جهت اجرا دارد که سربار به مراتب کمتری مصرف میکند.
با WSL2 می توانید عملا هر نرم افزار Linux را روی ویندوز اجرا کنید (بدون رابط کاربری) و این گزینه برای توسعه دهندگان نرم افزار میتواند ابزار خوبی باشد.
نسخه جدید Docker ویندوز هم روی WSL2 اجرا میشود.
Forwarded from کدهک
آشنایی با قابلیت های Blazor
در این ویدیو یک اپ CRUD پیاده شده با Blazor در حالت Server-side را بررسی می کنیم.
https://youtu.be/Px9WedDTjQg
در این ویدیو یک اپ CRUD پیاده شده با Blazor در حالت Server-side را بررسی می کنیم.
https://youtu.be/Px9WedDTjQg
با ADO.NET می توایند با دیتابیس ارتباط برقرار کنید و دیتای آن را بخوانید یا تغییر دهید. در این ویدیو نحوه استفاده از ADO.NET در یک پروژه ASP.NET Core آموزش داده میشود و سپس به مقایسه آن با EF Core 5.0 می پردازیم.
https://youtu.be/ik5rTMDsP_c
https://youtu.be/ik5rTMDsP_c
Forwarded from کدهک
استفاده از await در Task
چرا بهتر است در Task های دات نت از کلمه ی کلیدی await استفاده کنیم؟ در این ویدیو نگاهی به مکانیزم های async/await در دات نت می اندازیم و درباره ی کدهای ساخته شده در پس زمینه صحبت می کنیم.
https://codehaks.com/go/lxt
چرا بهتر است در Task های دات نت از کلمه ی کلیدی await استفاده کنیم؟ در این ویدیو نگاهی به مکانیزم های async/await در دات نت می اندازیم و درباره ی کدهای ساخته شده در پس زمینه صحبت می کنیم.
https://codehaks.com/go/lxt
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
✅ برترین افزونه های رایگان Visual Studio که هر کسی باید داشته باشه
🔰بهترین افزونه های Code Analyzer سی شارپ
این افزونه ها کد های شما رو آنالیز میکنن و اشتباهات رایج هنگام کدنویسی سی شارپب رو به همراه اصلاحات لازم رو بهتون پیشنهاد میده
از جمله موارد مهمی که توسط این کد آنالیزر ها میشه تشخیص داد:
✔️ کد هایی که Naming Convention و Coding Style استاندارد رو رعایت نکردن
✔️ کد های کثیف و Code Smell ها
✔️ کد هایی که به لحاظ ساختاری bug دارند یا مستعد bug هستند
✔️ کد هایی که به لحاظ آسیب پذیری دارند یا منسوخ شدند
✔️ پیشنهاداتی برای تمیز تر کردن کدتون و استفاده از ویژگی های جدید سی شارپ
✔️ پیشنهاداتی که باعث بهبود Performance میشه
🔸SonarLint - Nuget
🔹Roslynator - Nuget
🔸CodeCracker - Nuget
🔹CodeMaid
🔸Sharpen
🔰بهترین افزونه های Code Analyzer مخصوص Async/Await
این دو کد آنالیزر اشتباهات رایج هنگام کدنویسی async رو به همراه اصلاحات لازم بهتون پیشنهاد میدن
🔸AsyncFixer - Nuget
🔹AsyncMethodNameFixer - Nuget
🔰نمایش بهتر خطا ها و هشدار ها
یه افزونه باحال و کاربردی که خطا ها و هشدار های هر فایل رو داخل Solution Explorer کنار اون فایل نشون میده
🔸ErrorVisualizer
🔰فرمت خودکار کد ها به هنگام Save
افزونه محبوب من که کد ها رو موقع ذخیره، به صورت اتوماتیک Format میکنه (معادل میانبر Ctrl+K+D) در نتیجه همیشه کد هاتون فرمت شده و تمیز باقی میمونه بدون اینکه دغدغه اش رو داشته باشین یا یادتون بره
🔹FormatDocumentOnSave
🔰هایلایت متون پنجره Output
یه افزون کاربردی که متون پنجره Output رو highlight میکنه. خیلی وقتا جزئیات و اطلاعاتی از خطا ها داخل پنجره Output نمایش داده میشه که خوندنش خیلی بهتون کمک میکنه
🔸OutputEnhancer
🔰نکته:
بعضی از Code Analyzer ها پکیج Nuget هم دارند کنارشون که این امکان رو میده که بتونید ازش هرجا که NET CLI. هست استفاده کنین. مثلا توی VSCode و مهم تر از اون برای CI/CD، به این صورت که میتونین جز pipeline CD/DI تنظیمش کنین که اگر کدی خطا های Naming Convention یا Coding Style داشت متوجه بشین یا حتی اجازه ندین Pull Request اش Merge بشه
________________
@DotNetZoom
🔰بهترین افزونه های Code Analyzer سی شارپ
این افزونه ها کد های شما رو آنالیز میکنن و اشتباهات رایج هنگام کدنویسی سی شارپب رو به همراه اصلاحات لازم رو بهتون پیشنهاد میده
از جمله موارد مهمی که توسط این کد آنالیزر ها میشه تشخیص داد:
✔️ کد هایی که Naming Convention و Coding Style استاندارد رو رعایت نکردن
✔️ کد های کثیف و Code Smell ها
✔️ کد هایی که به لحاظ ساختاری bug دارند یا مستعد bug هستند
✔️ کد هایی که به لحاظ آسیب پذیری دارند یا منسوخ شدند
✔️ پیشنهاداتی برای تمیز تر کردن کدتون و استفاده از ویژگی های جدید سی شارپ
✔️ پیشنهاداتی که باعث بهبود Performance میشه
🔸SonarLint - Nuget
🔹Roslynator - Nuget
🔸CodeCracker - Nuget
🔹CodeMaid
🔸Sharpen
🔰بهترین افزونه های Code Analyzer مخصوص Async/Await
این دو کد آنالیزر اشتباهات رایج هنگام کدنویسی async رو به همراه اصلاحات لازم بهتون پیشنهاد میدن
🔸AsyncFixer - Nuget
🔹AsyncMethodNameFixer - Nuget
🔰نمایش بهتر خطا ها و هشدار ها
یه افزونه باحال و کاربردی که خطا ها و هشدار های هر فایل رو داخل Solution Explorer کنار اون فایل نشون میده
🔸ErrorVisualizer
🔰فرمت خودکار کد ها به هنگام Save
افزونه محبوب من که کد ها رو موقع ذخیره، به صورت اتوماتیک Format میکنه (معادل میانبر Ctrl+K+D) در نتیجه همیشه کد هاتون فرمت شده و تمیز باقی میمونه بدون اینکه دغدغه اش رو داشته باشین یا یادتون بره
🔹FormatDocumentOnSave
🔰هایلایت متون پنجره Output
یه افزون کاربردی که متون پنجره Output رو highlight میکنه. خیلی وقتا جزئیات و اطلاعاتی از خطا ها داخل پنجره Output نمایش داده میشه که خوندنش خیلی بهتون کمک میکنه
🔸OutputEnhancer
🔰نکته:
بعضی از Code Analyzer ها پکیج Nuget هم دارند کنارشون که این امکان رو میده که بتونید ازش هرجا که NET CLI. هست استفاده کنین. مثلا توی VSCode و مهم تر از اون برای CI/CD، به این صورت که میتونین جز pipeline CD/DI تنظیمش کنین که اگر کدی خطا های Naming Convention یا Coding Style داشت متوجه بشین یا حتی اجازه ندین Pull Request اش Merge بشه
________________
@DotNetZoom
Forwarded from کدهک
آشنایی با InfluxDb
دیتابیس InfluxDb یک دیتابیس از نوع سری زمانی است که اطلاعات را درون کلیدی از جنس زمان با دقت نانو ثانیه ذخیره میکند.
در این ویدیو با استفاده از ASP NET Core اطلاعاتی را درون این دیتابیس ذخیره می کنیم و سپس با استفاده از Grafana به صورت گراف نمایش میدهیم.
https://tinyurl.com/cdhk-influx
دیتابیس InfluxDb یک دیتابیس از نوع سری زمانی است که اطلاعات را درون کلیدی از جنس زمان با دقت نانو ثانیه ذخیره میکند.
در این ویدیو با استفاده از ASP NET Core اطلاعاتی را درون این دیتابیس ذخیره می کنیم و سپس با استفاده از Grafana به صورت گراف نمایش میدهیم.
https://tinyurl.com/cdhk-influx
Forwarded from DotNetZoom (Ali Abdolmaleki)
❇️ نکاتی در مورد کار با PDF در دات نت و برترین کتابخانه های آن
کتابخونه های کار با pdf به 2 دسته کلی تقسیم میشن
🔸دسته اول کتابخونه هایی هستند که باهاشون میشه فایل های PDF رو خوند، محتواشو Extract کرد، Edit کرد و یا فایل جدید ساخت
از معروف ترین این کتابخونه ها میشه به ترتیب به موارد زیر اشاره کرد
✔️iTextSharp
✔️iTextSharp.LGPLv2.Core
✔️itext7
✔️PdfSharpCore
معروف ترین شون iTextSharp هست که فقط NET Framework Full. رو پشتیبانی میکنه اما وحید نصیری یه نسخه port شده ازش رو برای NET Core. رو براش درست کرده به نام iTextSharp.LGPLv2.Core
همچنین کتابخونه itext7 که توسط سازنده iTextSharp توسعه داده شده و به عنوان نسخه بعدی iTextSharp و با پشتیبانی از NET Core. اون رو توسعه داده و توصیه میکنه از itext7 استفاده کنین.
🔹دسته دوم کتابخونه هایی هستند که میتونن محتوای یه صفحه html (شامل المان ها و css ها و ...) رو به صورت PDF رندر کنن و خروجی PDF ازشون بگیرن
از جمله معروف ترین این کتابخونه ها میشه به ترتیب به موارد زیر اشاره کرد
✔️DinkToPdf
✔️itext7.pdfhtml
✔️Rotativa.AspNetCore
✔️Wkhtmltopdf.NetCore
طرز کار همشونم به این صورته که اینا معمولا wrapper ایی بر روی کتابخانه wkhtmltopdf هستند که کارش Render کردن خروجی html به pdf هست و پشت صحنه هم از موتور Qt WebKit استفاده میکنن که یک Browser Engine سورس باز هست
🔸اکثر مواقع نیاز برنامه نویسا همین دسته دوم هست. معمولا میخوان از گزارشاتشون خروجی pdf بگیرن که دسته دوم گزینه راحت تری هست چرا که اینجا ما دیگه با یه صفحه html+css سرو کار داریم و خیلی راحت میتونیم هر فرم و جدولی رو که بخوایم طراحی کنیم و وقتی از خروجی html ایی اون مطمئن شدیم اون رو به pdf تبدیل کنیم
دسته اول معمولا کاربرد خاص تری دارند. مثلا اگه بخواین فایل pdf تون رو بخونین، محتواش رو پردازش یا ویرایش کنین یا مثلا ساخت صفحاتتون رو خیلی سفارشی سازی کنین باید از کتابخونه های دسته اول استفاده کنین
یه سری کتابخونه قدرتمند دیگه هم هستند مثل Aspose و Syncfusion ولی چون اونا پولی هستند و نسخه رایگانشون محدودیت داره تو لیست نیاوردمشون
_______________
@DotNetZoom
کتابخونه های کار با pdf به 2 دسته کلی تقسیم میشن
🔸دسته اول کتابخونه هایی هستند که باهاشون میشه فایل های PDF رو خوند، محتواشو Extract کرد، Edit کرد و یا فایل جدید ساخت
از معروف ترین این کتابخونه ها میشه به ترتیب به موارد زیر اشاره کرد
✔️iTextSharp
✔️iTextSharp.LGPLv2.Core
✔️itext7
✔️PdfSharpCore
معروف ترین شون iTextSharp هست که فقط NET Framework Full. رو پشتیبانی میکنه اما وحید نصیری یه نسخه port شده ازش رو برای NET Core. رو براش درست کرده به نام iTextSharp.LGPLv2.Core
همچنین کتابخونه itext7 که توسط سازنده iTextSharp توسعه داده شده و به عنوان نسخه بعدی iTextSharp و با پشتیبانی از NET Core. اون رو توسعه داده و توصیه میکنه از itext7 استفاده کنین.
🔹دسته دوم کتابخونه هایی هستند که میتونن محتوای یه صفحه html (شامل المان ها و css ها و ...) رو به صورت PDF رندر کنن و خروجی PDF ازشون بگیرن
از جمله معروف ترین این کتابخونه ها میشه به ترتیب به موارد زیر اشاره کرد
✔️DinkToPdf
✔️itext7.pdfhtml
✔️Rotativa.AspNetCore
✔️Wkhtmltopdf.NetCore
طرز کار همشونم به این صورته که اینا معمولا wrapper ایی بر روی کتابخانه wkhtmltopdf هستند که کارش Render کردن خروجی html به pdf هست و پشت صحنه هم از موتور Qt WebKit استفاده میکنن که یک Browser Engine سورس باز هست
🔸اکثر مواقع نیاز برنامه نویسا همین دسته دوم هست. معمولا میخوان از گزارشاتشون خروجی pdf بگیرن که دسته دوم گزینه راحت تری هست چرا که اینجا ما دیگه با یه صفحه html+css سرو کار داریم و خیلی راحت میتونیم هر فرم و جدولی رو که بخوایم طراحی کنیم و وقتی از خروجی html ایی اون مطمئن شدیم اون رو به pdf تبدیل کنیم
دسته اول معمولا کاربرد خاص تری دارند. مثلا اگه بخواین فایل pdf تون رو بخونین، محتواش رو پردازش یا ویرایش کنین یا مثلا ساخت صفحاتتون رو خیلی سفارشی سازی کنین باید از کتابخونه های دسته اول استفاده کنین
یه سری کتابخونه قدرتمند دیگه هم هستند مثل Aspose و Syncfusion ولی چون اونا پولی هستند و نسخه رایگانشون محدودیت داره تو لیست نیاوردمشون
_______________
@DotNetZoom
Telegram
Attach Files