继上一篇《[推荐]大量 Blazor 学习资源(一)》之后,社区反应不错,但因个人原因导致这篇文章姗姗来迟,不过最终还是来了!这篇文章主要收集一些常用组件、书籍和电子书。
资料来源:https://github.com/AdrienTorris/awesome-blazor/
并非完全翻译原文,会从所有资源里提取一些我认为好一点的资源,如有需要,从上面 Github 链接获取最新内容。
组件 / Components
-
(推荐)Ant Design Blazor - 一套企业级的UI组件基于Ant的设计和Blazor WebAssembly。(?1177)
https://github.com/ant-design-blazor/ant-design-blazor
Demo 演示
https://ant-design-blazor.github.io/
-
Bootstrap Blazor Component - Bootstrap 样式的 Blazor UI 组件库。(?575)
https://gitee.com/LongbowEnterprise/BootstrapBlazor
-
MatBlazor - Material Design 样式的 Blazor UI 组件库。(?1600)
-
Blazorise - Blazorise 基于 Blazor 和一些 CSS 框架(Bootstrap, Bulma, AntDesign 和 Material)的 Blazor UI 组件库。(?924)
https://github.com/stsrki/Blazorise
Blazorise 有两个原则:
-
保持简单
-
可扩展
Demo 演示:
Bootstrap Demo
https://bootstrapdemo.blazorise.com/ Bulma Demo
https://bulmademo.blazorise.com/ AntDesign Demo
https://antdesigndemo.blazorise.com/ Material Demo
https://materialdemo.blazorise.com/ eFrolic Demo
https://efrolicdemo.blazorise.com/
-
BlazorStrap - Bootstrap 4 样式的 Blazor UI 组件库。(?521)
https://github.com/chanan/BlazorStrap
Demo 演示
https://blazorstrap.io/
-
Radzen.Blazor - 原生 UI 样式的 Blazor UI 组件库,Blazor. DataGrid, DataList, Tabs, Dialog 等等。(?362)
https://github.com/akorchev/blazor.radzen.com
Demo 演示
https://blazor.radzen.com/
-
Canvas - HTML5 Canvas API 的 Blazor 实现 (?215)
https://github.com/BlazorExtensions/Canvas
-
ChartJs.Blazor - Blazor 实现的 ChartJs (?231)
https://github.com/mariusmuntean/ChartJs.Blazor
Demo 演示
https://www.iheartblazor.com/welcome
-
DevExpress Blazor UI Components - DevExpress 的 Blazor UI 组件库 (?191)
https://github.com/DevExpress/RazorComponents
Demo 演示
https://demos.devexpress.com/blazor/
-
BlazorContextMenu - Material Design 样式的 Blazor ContextMenu 组件 (?181)
https://github.com/stavroskasidis/BlazorContextMenu
Demo 演示
https://blazor-context-menu-demo.azurewebsites.net/
-
Blazored.Modal - Blazor 模态框组件 (?181)
https://github.com/Blazored/Modal
-
Blazor.FlexGrid - Blazor GridView 组件 (?181)
https://github.com/Mewriick/Blazor.FlexGrid
-
Grid.Blazor - 适用于 ASP.NET MVC Blazor 的 CRUD 表格组件,支持筛选、排序、搜索、分页、嵌套表格和其他 (?177)
https://github.com/gustavnavar/Grid.Blazor
Demo 演示
https://gridblazor.azurewebsites.net/
-
BlazorMaterial - Material 风格的 Blazor UI 组件库 (?131)
https://github.com/BlazorExtensions/BlazorMaterial
-
BlazorWebFormsComponents - WebForms 可用的 Blazor UI 组件库 (?142)
https://github.com/FritzAndFriends/BlazorWebFormsComponents
语法类似这样的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <asp:Button AccessKey="string" BackColor="color name|#dddddd" BorderColor="color name|#dddddd" BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|Inset|Outset" BorderWidth="size" CausesValidation="True|False" CommandArgument="string" CommandName="string" CssClass="string" Enabled="True|False" EnableTheming="True|False" EnableViewState="True|False" Font-Bold="True|False" Font-Italic="True|False" Font-Names="string" Font-Overline="True|False" Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|Large|X-Large|XX-Large" Font-Strikeout="True|False" Font-Underline="True|False" ForeColor="color name|#dddddd" Height="size" ID="string" OnClick="Click event handler" OnClientClick="string" OnCommand="Command event handler" OnDataBinding="DataBinding event handler" OnDisposed="Disposed event handler" OnInit="Init event handler" OnLoad="Load event handler" OnPreRender="PreRender event handler" OnUnload="Unload event handler" PostBackUrl="uri" runat="server" SkinID="string" Style="string" TabIndex="integer" Text="string" ToolTip="string" UseSubmitBehavior="True|False" ValidationGroup="string" Visible="True|False" Width="size" /> |
-
bUnit - Blazor 组件测试 (?181)
https://github.com/egil/bunit
举例,想要测试 Counter 组件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <h1>Counter</h1> <p> Current count: @currentCount </p> <button class="btn btn-primary" @οnclick="IncrementCount">Click me</button> @code { int currentCount = 0; void IncrementCount() { currentCount++; } } |
测试代码如下,使用 bUnit 和 xUnit:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [Fact] public void CounterShouldIncrementWhenClicked() { // Arrange: render the Counter.razor component var cut = RenderComponent<Counter>(); // Act: find and click the <button> element to increment // the counter in the <p> element cut.Find("button").Click(); // Assert: first find the <p> element, then verify its content cut.Find("p").MarkupMatches("<p>Current count: 1</p>"); } |
-
Blazored.Toast - Toast 提示组件,Blazor 应用和组件均可使用 (?147)
https://github.com/Blazored/Toast
-
BlazorInputFile - Blazor 文件上传组件 (?140)
https://github.com/SteveSandersonMS/BlazorInputFile
-
Syncfusion Blazor UI Components - Syncfusion UI 组件库 (?105)
https://github.com/syncfusion/ej2-aspnet-core-blazor-samples
Demo 演示
https://blazor.syncfusion.com/
-
Blazored.Typeahead - 自动完成提示的文本框,支持本地和远程数据,client-side 和 server-side 都支持 (?120)
https://github.com/Blazored/Typeahead
-
Sotsera.Blazor.Toaster - Toast 提示框组件 (?90)
https://github.com/sotsera/sotsera.blazor.toaster
Demo 演示
https://blazor-toaster.sotsera.com/
-
Blazored.Menu - 菜单组件 (?67)
https://github.com/Blazored/Menu
-
Blazor-DragDrop - 拖放组件 (?79)
https://github.com/Postlagerkarte/blazor-dragdrop
Demo 演示
https://blazordragdrop.azurewebsites.net/
-
BlazorTable - 带有排序、分页、筛选的表格组件 (?84)
https://github.com/IvanJosipovic/BlazorTable
Demo 演示
https://blazortable.netlify.app/
-
Blazor-Charts - SVG 表格组件 (?45)
https://github.com/Misfits-Rebels-Outcasts/Blazor-Charts
Demo 演示
https://www.webassemblyman.com/blazor/blazorcharts.html
-
NodaTimePicker - 时间选择器组件 (?39)
https://github.com/nheath99/NodaTimePicker
Demo 演示
https://nodatimepicker.z13.web.core.windows.net/
-
BlazorDateRangePicker - 范围日期选择组件 (?41)
https://github.com/jdtcn/BlazorDateRangePicker
Demo 演示
https://blazordaterangepicker.azurewebsites.net/
-
BlazorGoogleMaps - 谷歌地图组件 (?43)
https://github.com/rungwiroon/BlazorGoogleMaps
-
Blazor.SignaturePad - 签名面板(画图) (?22)
https://github.com/Mobsites/Blazor.SignaturePad
Demo 演示
https://signaturepad.mobsites.com/
-
BlazorQuery - Blazor 版 jQuery (?40)
https://github.com/kevinjpetersen/BlazorQuery
用 jQuery 的方式操作 DOM,ajax 请求等等。该项目还在紧急开发中
示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | @page "/" @inject BlazorQueryDOM DOM <h1>Hello, DOM!</h1> <h1>Hello, Blazor!</h1> @code { protected override async Task OnAfterRenderAsync() { await DOM.Select("h1").CSS("background-color", "red"); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | @page "/" @inject BlazorQueryDOM DOM <h1>Hello, DOM!</h1> <h1>Hello, Blazor!</h1> @code { protected override async Task OnAfterRenderAsync() { await DOM.Select("h1").Text("Now this text is changed"); } } |
-
Blazor-Dom-Confetti - 扔五彩纸屑 (?40)
https://github.com/ctrl-alt-d/blazor-dom-confetti
-
Telerik UI for Blazor - Telerik UI 组件库 (收费)
https://www.telerik.com/blazor-ui
-
TwitterShareButton - Twitter 分享按钮 (?2)
https://github.com/jsakamoto/Toolbelt.Blazor.TwitterShareButton
-
Blazor.LoadingIndicator - 加载指示器 (?44)
https://github.com/h3x4d3c1m4l/BlazorProgressIndicator
-
BlazorMonaco - 微软 Monaco Editor (VSCode 核心)组件 (?10)
https://github.com/serdarciplak/BlazorMonaco
Demo 演示
https://serdarciplak.github.io/BlazorMonaco/
书籍 / Books
-
Blazor Revealed (Blazor 揭秘)
Blazor Revealed, Building Web Applications in .NET(Published February, 2019).
国外:https://www.apress.com/gp/book/9781484243428
京东:https://item.jd.com/41737176374.html
当当:http://search.dangdang.com/?key=Blazor%20Revealed&act=input
电子书:
PDF:http://file.allitebooks.com/20190205/Blazor%20Revealed.pdf
ePub:http://file.allitebooks.com/20190205/Blazor%20Revealed.epub
-
Blazor Quick Start Guide: Build web applications using Blazor, EF Core, and SQL Server (Blazor 快速入门指南:使用Blazor、EF Core和SQL Server构建web应用程序)
亚马逊:https://www.amazon.in/gp/product/178934414X/ref=awesome_blazor
京东:https://item.jd.com/41499035732.html
电子书:
https://e.jd.com/30506217.html
电子书 / E-Books
-
Blazor Succinctly - 免费的从0开始学习 Blazor 框架的电子书。
https://www.syncfusion.com/ebooks/blazor-succinctly
-
Blazor, A Beginners Guide - Blazor 初学者指南。
https://www.telerik.com/campaigns/blazor/wp-beginners-guide-ebook
-
Blazor for ASP.NET Web Forms developers
一本来自微软的免费电子书。
https://dotnet.microsoft.com/learn/aspnet/architecture#blazor-for-web-forms-devs-ebook-swim
-
Using CSLA 5: Blazor and WebAssembly
本书介绍了新的Blazor UI框架,包括如何创建服务器端和客户端WebAssembly项目,如何实现身份验证和授权,以及如何使用数据绑定。然后介绍CSLA.NET如何支持Blazor,包括浏览完整的示例应用程序。
https://store.lhotka.net/using-csla-5-blazor-and-webassembly
-
An Introduction to Building Applications with Blazor
如何开始使用这个令人兴奋的易于使用的 Microsoft C# 框架创建应用程序