·
日常教程 ·
103575
Blazor从诞生到现在也有一段时间了,之前一直在观望,从dotnet5中Blazor的进步以及即将到来的dotnet6中的规划来看,Blazor的前途还是光明的,所以WtmBlazor来了!
Blazor的优势
后端代码的高复用率。不论是server模式还是wasm模式,由于都是用C#编写,Blazor对后台代码的利用率相当的高
在React或者Vue下,前端不可避免的需要把后端写过的模型定义,字段验证,多语言文字等再写一遍,而使用Blazor则不需要
代码结构更清晰。告别动辄几百兆的js引用,很多js你可能自己都不知道是干啥的。。。调试代码的时候,你的笔记本终于不用嗡嗡作响了。
尤其是在前台编写复杂业务逻辑或复杂数据结构的时候,C#肯定要比js优雅一些,依赖注入,泛型,反射,Lambda表达式,以及你学过的那些设计模式都可以用在前端开发上。
应用已有类库。Blazor理论上可以使用任何.net5的类库,图片编辑,音频处理甚至AI相关的都可以直接拿来在Blazor上使用,这极大的丰富了Blazor的使用场景
Blazor的劣势
Blazor目前并不适合互联网场景的应用开发,它更适合ToB模式的应用。主要原因是Server模式使用SignalR,难以支持高并发,wasm模式虽然可以但首次下载量比较大。Blazor的后续版本应该会在这方面加以改善。
Blazor目前调试还不太行,Server模式好一些,wasm模式的调试体验还是不如调试后台代码,当然你要是跟调试js比那还是可以的。
一些重度依赖js的功能,比如在页面上拖拽控件,在Blazor里实现起来还是比较费劲。
总之,Blazor是值得你投入的技术,虽然现在还有一些问题,但是看微软后续的规划,这些短板也很快会被补齐。如果想使用和学习Blazor,WTM Blazor绝对是你目前最好的选择,Wtm Blazor可以帮你:
一键生成Blazor项目,使用jwt,自带常用的用户,角色,权限,菜单,日志等管理功能,同时支持Server和Wasm模式
代码生成器当然是标配,一键生成增删改查,导入导出,文件上传下载等代码,前后台的代码都有哦
很多Blazor现阶段的小问题都已经在框架层面替你避开了,使用起来更顺畅。
还等啥,来吧:
特别鸣谢BootstrapBlazor组件库作者,微软MVP,NCC成员,我的好友张广坡,为WTM Blazor版本投入了大量精力。
Wtm官网:https://wtmdoc.walkingtec.cn
BB官网:https://www.blazor.zone
——— WTM 是工具 更是生产力———
WTM Blazor,Blazor开发利器的相关教程结束。
asyncio+ProtocolBuffers是最稳的起点:复用protoc序列化,专注异步通信层;需手动处理长度头防粘包,禁用time.sleep(),gRPC必须用grpc.aio模块并显式设超时。 asyncio+ProtocolBuffers是最稳的起点 直接用asyncio搭配protob...
Flask路由默认只响应GET,因@app.route()不指定methods参数时仅注册GET方法;若用POST等其他方法访问会返回405错误,需显式声明methods=['GET','POST']或使用@app.post()等专用装饰器。 为什么Flask路由默认只响应GET Flask的@ap...
SQLAlchemy的execute()必须用params传参,不能字符串拼接;text()仅是包装器,防注入依赖占位符+驱动预编译,动态标识符(字段名、表名)须白名单校验。 SQLAlchemy的execute()必须用params传参,不能字符串拼接 很多人以为用了SQLAlchemy就自动免疫...
Django的startproject和startapp不能混用,因为前者创建完整项目容器(含settings.py、manage.py等),后者仅生成可插拔App;跳过startproject会导致manage.py缺失,后续命令报ModuleNotFoundError。 为什么Django的st...
Session写不进Redis的主因是未调用session.save()或框架自动保存被禁用;Django需确认SESSION_ENGINE和CACHES配置,Flask需显式设置session.permanent并配置连接池与序列化器。 Session写不进Redis,redis-py连上了但没反...
WSL2不是打通Windows和Linux的工具,而是让Linux在Windows内接近原生运行;真正打通依赖路径映射、进程互通和工具链协同。项目切勿放在/mnt/c下开发,因NTFS与ext4不兼容导致I/O延迟飙升3–5倍,Git误报、IDE卡顿频发;必须置于WSL2原生路径(如~/projec...
setup.cfg应统一用无BOM的UTF-8编码保存,因ConfigParser默认按系统locale解码,BOM或非UTF-8编码会导致MissingSectionHeaderError等跨平台解析错误。 setup.cfg本身不支持声明编码格式,强行在文件开头加encoding=utf-8或类...
Remote-SSH连接成功后Python解释器不识别、调试断点失效、终端python报错,90%因远程环境未正确加载:需手动sourceshell配置、在远程窗口重装Python扩展、并用绝对路径显式指定解释器。 能连上,但Python解释器不识别、调试断点不生效、终端里python命令报错——这...