Blazor预研与实战

背景

最近一直在搞一件事,就是熟悉Blazor,后期需要将Blazor真正运用到项目内。前期做了一些调研,包括但不限于

  • Blazor知识学习

  • 组件库生态预研

  • 与现有SPA框架做比对

  • 与WebForm做比对

  • 自己动手做个演示项目

最终的体验非常不错,功能全面。现有的一些SPA思想Blazor基本都有,现有的WebForm开发思想Blazor基本也包含,甚至提供了混合开发,可以开发PC/移动端应用。

Blazor真正做到了集技术大成于一体,如果我们再给予一些关注度,必成为下一个主流框架!

Blazor目前已经接近30K的star,关注度持续升高。大家也去star吧!

https://github.com/dotnet/aspnetcore  

Blazor知识学习

Blazor学习途径还是推荐官方文档,全而不乱,井井有条f,从基础到高级用法,层层递进。

https://docs.microsoft.com/zh-cn/aspnet/core/blazor/?view=aspnetcore-6.0

其次是Github,Github上各种组件库、项目模板,提供了充分的学习,借鉴渠道。可以看到Blazor真正在活跃。

https://github.com/search?q=Blazor

一个汇总库,提供了各个领域Blazor目前现有的一些模板、组件库,非常全面

https://github.com/AdrienTorris/awesome-blazor

组件库预研

Blazor组件库目前看来太多了,比较优秀,关注度比较高的有。

https://github.com/MudBlazor/MudBlazor

https://github.com/ant-design-blazor/ant-design-blazor

https://github.com/dotnetcore/BootstrapBlazor

https://github.com/BlazorComponent/MASA.Blazor

组件库现在还在持续变多,可供选择性越来越高

21b048e962d9c185efe2c1f6cea0e2b9.png

与现有SPA比对

8c9c4cc5e6b677a0d6249cadd4d85b71.png

Blazor作为一个SPA框架,现有SPA基本上理念一致,MVVM思想中有的Blazor全都有:双向绑定、路由、依赖注入、组件化、事件处理...

也有不少人做过对应分析,十分不错

https://devathon.com/blog/blazor-vs-angular-vs-react-vs-vue/

https://www.telerik.com/blogs/blazor-vs-vue-web-developers

我也做了个简单的翻译

https://www.cnblogs.com/chenyishi/p/16595037.html

与WebForm做比对

为啥要与WebForm做比对?Blazor从开发模式说与WebForm还是有一点相似的,包括页面生命周期,项目结构,中间件...

官方也给我们提供了迁移文档,减小从webform迁移到blazor的难度。

https://docs.microsoft.com/zh-cn/dotnet/architecture/blazor-for-web-forms-developers/introduction

动手实战

光学不练可不行,就用MudBlazor做个Demo,试试Blazor WebAssemebly端和Blazor hybrid混合开发有多爽。

特别是Blazor hybrid混合开发,用HTML思想开发Winform,但逻辑用C#写而不是JS,体验原生性能,大家赶紧动起来吧!

别再听一些人说Blazor不行.NETCore+不行了,自己尝试下就知道多棒了!大家去star吧!https://github.com/dotnet/aspnetcore

70d57b471b3d063461d81deedb775794.png9a678f5e294133bf7da0ab6809eb9bc7.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/283542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

并发编程10大坑,你踩过几个?

目录 前言 1. SimpleDateFormat线程不安全 2. 双重检查锁的漏洞 3. volatile的原子性 4. 死锁 4.1 缩小锁的范围 4.2 保证锁的顺序 5. 没释放锁 6. HashMap导致内存溢出 7. 使用默认线程池 8. Async注解的陷阱 9. 自旋锁浪费cpu资源 10. ThreadLocal用完没清空 前…

CAP理论与MongoDB一致性、可用性的一些思考

大约在五六年前,第一次接触到了当时已经是hot topic的NoSql。不过那个时候学的用的都是mysql,Nosql对于我而言还是新事物,并没有真正使用,只是不明觉厉。但是印象深刻的是这么一张图片(后来google到图片来自这里&#…

【开源】一个WPF开发的XML记事本

今天推荐一个WPF开源项目:XmlNotepad[1]。此仓库由 WPF开发者[2] 推荐,站长简单翻译分享。介绍XML Notepad[3] 是一个 Windows 程序,它为浏览和编辑 XML 文档提供了一个简单直观的用户界面。有四种安装方式:ClickOnce 安装程序[4]…

log4j2 mybatis 显示 sql 和 结果集

为什么80%的码农都做不了架构师?>>> 首先说明版本: log4j 版本是 第2版beta9,引用jar包 log4j-api-2.0-beta9.jar log4j-core-2.0-beta9.jar mybatis 是 mybatis-3.2.3 log4j2 配置 如下,命名为 log4j2.xml&#xff0…

深入解析volatile关键字

目录 1. 初步认识volatile 2. volatile的特性一:保证可见性 2.1 volatile关键字是如何保证可见性的? 2.2 从JMM来看可见性 2.3 从硬件层面了解可见性的本质 2.3.1 CPU高速缓存 2.3.2 缓存一致性 2.3.3 MESI 协议 2.3.4 缓存一致性小结 3. vola…

Nginx基础配置

一、主配置文件结构main block;#全局块配置全局生效event{#事件驱动相关配置 }http{#http/https协议相关配置段 server { ... }:#每个server用于定义一个虚拟主机; server { ... server_name root alias location [OPERATOR] URL { ... if CO…

上周面试回来后写的Java面试总结,想进BAT必看

上周陪同之前一起工作的同事去面试(乔治,小袁,鹏飞(面试人)),第一站是去深圳,第二站上海,第三站杭州。面试什么公司我在这里就不多说了,你们知道是一线公司就…

从贝叶斯方法谈到贝叶斯网络

从贝叶斯方法谈到贝叶斯网络0 引言其实。介绍贝叶斯定理、贝叶斯方法、贝叶斯判断的资料、书籍不少,比方《数理统计学简史》,以及《统计决策论及贝叶斯分析 James O.Berger著》等等,然介绍贝叶斯网络的中文资料则非常少。中文书籍总共也没几本…

k8s 读书笔记 - kubectl 命令行工具用法详解

kubectl 在 k8s 集群中作为 客户端 CLI 工具,可以让用户使用 kubectl 工具执行命令行,并通过使用 k8s API 与 k8s 集群的控制面(kube-controller-manager)进行通信。kubectl 语法格式kubectl 命令行的语法格式如下:kub…

初级必备:单例模式的7个问题

故事 实话实说,关于单例模式,网上有N多个版本。你估计也看过很多版本。但看完了又能怎样?我技术群里的一位小伙伴,上周面试,就因为一个单例模式,然后叫他回去等通知了。 下面是这位同学被问到的问题&…

Spring AOP源码解析——AOP动态代理原理和实现方式

2019独角兽企业重金招聘Python工程师标准>>> Spring介绍 Spring(http://spring.io/)是一个轻量级的Java 开发框架,同时也是轻量级的IoC和AOP的容器框架,主要是针对JavaBean的生命周期进行管理的轻量级容器,可以单独使用&#xff0…

使用.NET构建简单的高性能Redis(三)

译者注该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单、高性能兼容Redis协议的数据库的经历。首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启…

海尔联手软银机器人,进军服务机器人领域

海尔此次将正式全面进入到服务机器人。 据悉,3月6日海尔公布了未来对于家用机器人的最新战略,同时与软银展开战略合作,将软银的人形机器人引入中国市场,正式进军服务机器人领域。 在本次发布会上,海尔与软银将联手从软…

.NET 7 中的 EndpointFilter

ASP.NET 7 中的 EndpointFilterIntro.NET 6 开始微软引入了 Minimal API,但是相比成熟的控制器模型,还是有很多的不足,.NET 7 针对于 Minimal API 也做了一些改进来让 Minimal API 功能更加丰富,其中 Filter 就是其中的一个更新从…

越来越火的图数据库到底能做什么?

作者 | 俞方桦 随着大数据时代的到来,传统的关系型数据库由于其在数据建模和存储方面的限制,变得越来越难以满足大量频繁变化的需求。关系型数据库,尽管其名称中有“关系”这个词,却并不擅长处理复杂关系的查询和分析。另外&…

piwik抓取用户交互行为

2019独角兽企业重金招聘Python工程师标准>>> https://github.com/matomo-org/matomo-sdk-ios/tree/version-3 http://piwik.org 首先下载demo,把文件拖到项目中去,在AppDelegate.m文件填写piwik服务器的URL和编号; 例如&#xff1…

k8s 读书笔记 - kubernetes 基本概念和术语(下)

DevOps前言上一篇文章 中,我们介绍了 k8s 中的 Master、Node、Pod、Label、RC & RS、Deployment、HPA & VPA、DaemonSet 这些资源对象信息,接下来我们继续介绍 k8s 中常用的资源对象。StatefulSet在 k8s 系统中,Pod 的管理对象 RC、D…

java数据类型后加三个点...

2019独角兽企业重金招聘Python工程师标准>>> 从Java5开始,Java语言对方法参数支持一种新写法,varargs(可变长度参数列表),其语法就是类型后跟...,表示此处接受的参数为0到多个Object类型的对象&…

手把手教你用 Jenkins 自动部署 SpringBoot!

1. 什么是 CI/CD 1.1 CI(Continuous Integration) 1.2 CD(Continuous Delivery/Continuous Deployment) 2. 什么是 Jenkins 3. 准备工作 3.1 整体规划 3.2 准备代码 3.3 准备服务器 4. 搭建 Jenkins 5. 安装插件 6. 配置 …

bondat蠕虫传播与对抗

转载来自:http://www.mottoin.com/109730.html (1)可移动磁盘传播手段:隐藏U盘文件,创建快捷方式指向病毒bat文件。Bondat蠕虫主要通过可移动磁盘传播,并借助可移动磁盘中的文件隐蔽自身。Bondat蠕虫会检索…