最近翻Microsoft Doc文档时候,看到了dotnetcore 3.0新加的Blazor(官方传送门),初看觉得不错
- 使用 C# 代替 JavaScript 来创建丰富的交互式 UI。
- 共享使用 .NET 编写的服务器端和客户端应用逻辑
- 将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器。
使用 .NET 进行客户端 Web 开发可提供以下优势:
- 使用 C# 代替 JavaScript 来编写代码。
- 利用现有的 .NET 库生态系统。
- 在服务器和客户端之间共享应用逻辑。
- 受益于 .NET 的性能、可靠性和安全性。
- 始终高效支持 Windows、Linux 和 macOS 上的 Visual Studio。
- 以一组稳定、功能丰富且易用的通用语言、框架和工具为基础来进行生成。
有点感觉是vue的意思了,所以随便撸了几行代码,刚好也写了个成语接龙(github传送门)的小玩意儿,界面做得比较丑,将就一下。
目前Blazor还是预览版状态,使用下来有一些感受:
1. 基础的事件,组件,数据绑定还是不错的,基本可以不用写一行js就能实现不错的功能,但是如果要用于实际开发,还远远不够。
2.对比了nodejs的一些功能,对于sass,scss,less等一些新的css预处理语言还需要支持一下,不过还是可以用node-sass转成css,但是感觉太麻烦
3.在组件库开发的过程中,css文件还不是很清楚怎么在组件内部引用,也没有vue里scope的概念。
4.对于一个Web UI框架,调试过程中大部分时间可能是样式的调整,虽然也有dotnet watch可以检测到文件变更重新编译,静态css文件变更还是需要手动刷新浏览器,而不像vue一样变更可以立即反应到浏览器上。
总体用下来,基本上是入门到放弃的过程,Blazor还是和目前流行的一些前端框架有不小的差距。