zoukankan      html  css  js  c++  java
  • [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也是在... 在爆发之中,  需要飞一会儿, 时间上刚好搭上. 

    现在不建议新手开发者立刻上马. (老手开发者可以) 

    但是值得平时花多一点时间, 慢慢学习, 慢慢积累经验. 

    教程方面, 会有一系列的文章推荐.  

    除了自己写的 ,  还会推荐其他人写的值得一看的文章.  

    当然是考虑到开发者的能力程度, 为开发者省时咯. 

    虽然很多文章内容都很好.  但是网上的文章缺少整理. 

    什么程度的人需要看哪些文章, 文章与文章之间是什么前后关系, 

    有哪些文章值得看, 哪些文章不值得看, 

    都需要整理, 排序, 归类, 等等. 

    也是不少工作量. 

    样板项目:

    上次提及过, 要写一个样板工程.  

    这次样板工程的类型也基本上定了下来. 

    那便是 中小型软件公司快速开发模板 

    包含后台管理, 包含微信整合, 桌面/手机消息推送等等东西. 

    里面大概做的是 : 

    1. 统一用户管理 , 微信公众号绑定
    2. OA/CRM/项目管理/工作流/.... 等比较基本的可选的功能. 
    3. 企业私有网盘 , (解决小企业'隐私地'分享文件问题, 而不是依靠云或邮件, 并且支持使用量审计, 操作纪录)
    4. 基于这个, 慢慢做一些典型行业的模板.

    很多中小型企业, 他们根本不愿意上云. 也拒绝使用各种云OA....  

    已经很多年不做OA了, 互联网OA拼杀太残酷. 给中小企业做定制OA, 没什么肉吃. 

    但是这次借助这么一个机会, 把OA重新搞起来, 还是值得的. 毕竟不愿意使用公共OA的市场还有..

    这次做这个项目, 打算全程录播

    从新建项目开始, 一步一步的, 如何慢慢增加功能, 都录屏下来, 然后拖时间的部分剪掉. 

    让开发者可以自己感受一下Blazor的开发方式. 建立一套第一目标为省时省力的开发方式. 

    考虑使用的技术方案, 越简单越好. 不要有太多的依赖, 让项目换人变得更容易. 

    暂时这样

    需要加入新手问答群的, 请进QQ群 934608703 ,  现在没什么人, 欢迎来占坑.  我们要做的就是等待 Blazor 爆发. 

    另外我的 B 站 : https://space.bilibili.com/540073960 , 用于投放视频.  有价值的视频都会在博客园发表文章解说. 

    我自己是极为看重 Blazor 的, 它将会大大地提高工作效率,  基于统一的开发方式, 至少能用上10年, 或者更长...

    现在要做的, 就是准备, 早一点准备, 早上车早享受. 

  • 相关阅读:
    【转载】SG定理
    P3235 [HNOI2014]江南乐(Multi-Nim)
    斐波那契数列
    WC2021游记
    线性基性质证明和应用
    「NOI2018」屠龙勇士
    XiaoMi Interview Log
    打靶训练
    八皇后问题
    Docker的一些常用
  • 原文地址:https://www.cnblogs.com/zhgangxuan/p/12765146.html
Copyright © 2011-2022 走看看