[Asp.Net Core] Blazor Server Side 开发教程 - 进度, 计划, 安排
前言:
在写了上一篇文章之后,
Blazor Server Side 开发教程 - 安装环境与运行第一个程序
还写了一个较远的东西 :
视频图文教学 - 用最快的速度把 DotNet Core Blazor 程序安装到 树莓派中 并且用网页控制 GPIO 闪灯
到现在, 居然已经过了一个多星期了.
正如前面文中计划的, 本人写的一系列教程主要针对 中小企业开发者 , 包括新手
所以做事的方向也是如此.
组件:
这个星期我除了本职工作以外, 主要干的是创造 Blazor 所需要各种组件.
Blazor的确是一个很好的开发框架. 但是它太新了. 很多细节并没有提供直接的解决方案.
开发者如果需要手动去做, 某些事情需要花费大量的工作.
现在我做的这个组件, 就是要解决开发中难度与耗时问题.
当前已实现的东西有:
- Alert / Confirm / Prompt / Toast
- 模态对话框 Modal Dialog , 支持 ESC 键, 返回键, history.back() , 手机返回键等等.
- 文件上传 . 很容易定制自己的进度条.
- BlazorSession , 用于弥补 Blazor 没有自带 Session 的问题
- BlazorSession.Browser , 用于自动给浏览器存一个UniqueID , 与基于这个ID进行数据存取
- 更友好的脚本交互模式. 直接支持Eval , 而不需要提交一个函数名.
- DOM控件体系 (凌驾于Render体系) , 扩展界面的编写模式, 现在可以手动 Create/Append/Remove DOM元素了
- BlazorTreeView , BlazorListView , PlusGridView , 这些还未写例子和文档.
- js文件依赖关系与推送,缓存 - 解决js文件的动态加载问题, 在服务器按需推送脚本, 立刻推送立刻可用.
- 对SVG,Canvas提供简易的支持.
其他例子有:
- 常用信息获取 - 例如 IP, 客户端状态, 服务器各种情况
- 使用PlusControl来直接生成一棵自带状态的Tree
- 聊天室 - 按IP分配聊天室, 同一个IP的人可以互相聊天
- 验证码 - 参照 为什么选择 Blazor Server Side (一) 快速实现图片验证码
- Input未提交前立刻获取输入中的信息
演示地址 http://demo.blazorplus.com/ (硅谷服务器, 国内访问挺卡的)
演示代码 https://github.com/BlazorPlus/BlazorPlusDemo
Nuget : https://www.nuget.org/packages/BlazorPlus
MIT License , 完全免费无使用担忧.
相关项目:
https://github.com/BlazorPlus/BlazorLinuxAdmin
这是第一个基于这个组件开发的项目. 用于验证组件功能.
虽然它不是"中小型软件公司"所关注的类型.
但是里面已经包含了一些常见概念 :
- 全局登录
- 列表 (搜索) ,
- 树型目录
- 简单的Canvas动态折线图
需要尝鲜的网友可以试一下.
进度问题
目前这个东西还在积极的开发中, 文档也慢慢准备.
最终的目标, 就是Plus, Blazor缺的功能, 都给加上.
注意的是, 这套东西与现在很多 UI项目不一样, 它不是UI, 但兼容所有的 UI项目的.
其他UI项目
以下复制自张队的文章 : https://www.cnblogs.com/shanyou/p/12717318.html , 推荐的UI项目:
目前我们在开发一个开源项目 ant-design-blazor,目标是成为Ant Design官方认可的Blazor实现,并丰富Blazor生态。现在刚起步,需要有兴趣的同学一起参与。
Github:https://github.com/ElderJames/ant-design-blazor
Demo:
https://ant-design-blazor.gitee.io
开发文档:
https://github.com/ElderJames/ant-design-blazor/wiki
Blazor文档:https://docs.microsoft.com/zh-cn/aspnet/core/blazor/?view=aspnetcore-3.1欢迎任何形式的issue和PR
国内社区还有几个Blazor相关的库:
1、Bootstrap 是 Blazor 基于Bootstrap ,这个UI库目前只有服务器端,客户端wasm模式等正式版出来会搞, 仓库地址:https://gitee.com/LongbowEnterprise/BootstrapBlazor ,演示地址:blazor.sdgxgz.com
2、Blazui 是 Element UI 的 CSS 和 HTML 结构 仓库地址:https://github.com/wzxinchen/Blazui ,演示地址 http://blazui.com:9000
计划:
因为日常工作量还是很大, 而且还得空闲事件开发组件与文档教程
所以博客园的新手系列估计还是只能坚持一周一章.
不过没关系, 因为Blazor也是在... 在爆发之中, 需要飞一会儿, 时间上刚好搭上.
现在不建议新手开发者立刻上马. (老手开发者可以)
但是值得平时花多一点时间, 慢慢学习, 慢慢积累经验.
教程方面, 会有一系列的文章推荐.
除了自己写的 , 还会推荐其他人写的值得一看的文章.
这当然是考虑到开发者的能力程度, 为开发者省时咯.
虽然很多文章内容都很好. 但是网上的文章缺少整理.
什么程度的人需要看哪些文章, 文章与文章之间是什么前后关系,
有哪些文章值得看, 哪些文章不值得看,
都需要整理, 排序, 归类, 等等.
也是不少工作量.
样板项目:
上次提及过, 要写一个样板工程.
这次样板工程的类型也基本上定了下来.
那便是 中小型软件公司快速开发模板
包含后台管理, 包含微信整合, 桌面/手机消息推送等等东西.
里面大概做的是 :
- 统一用户管理 , 微信公众号绑定
- OA/CRM/项目管理/工作流/.... 等比较基本的可选的功能.
- 企业私有网盘 , (解决小企业'隐私地'分享文件问题, 而不是依靠云或邮件, 并且支持使用量审计, 操作纪录)
- 基于这个, 慢慢做一些典型行业的模板.
很多中小型企业, 他们根本不愿意上云. 也拒绝使用各种云OA....
已经很多年不做OA了, 互联网OA拼杀太残酷. 给中小企业做定制OA, 没什么肉吃.
但是这次借助这么一个机会, 把OA重新搞起来, 还是值得的. 毕竟不愿意使用公共OA的市场还有..
这次做这个项目, 打算全程录播
从新建项目开始, 一步一步的, 如何慢慢增加功能, 都录屏下来, 然后拖时间的部分剪掉.
让开发者可以自己感受一下Blazor的开发方式. 建立一套第一目标为省时省力的开发方式.
考虑使用的技术方案, 越简单越好. 不要有太多的依赖, 让项目换人变得更容易.
暂时这样
需要加入新手问答群的, 请进QQ群 934608703 , 现在没什么人, 欢迎来占坑. 我们要做的就是等待 Blazor 爆发.
另外我的 B 站 : https://space.bilibili.com/540073960 , 用于投放视频. 有价值的视频都会在博客园发表文章解说.
我自己是极为看重 Blazor 的, 它将会大大地提高工作效率, 基于统一的开发方式, 至少能用上10年, 或者更长...
现在要做的, 就是准备, 早一点准备, 早上车早享受.