前言: 在寫了上一篇文章之後, Blazor Server Side 開發教程 - 安裝環境與運行第一個程式 還寫了一個較遠的東西 : 視頻圖文教學 - 用最快的速度把 DotNet Core Blazor 程式安裝到 樹莓派中 並且用網頁控制 GPIO 閃燈 到現在, 居然已經過了一個多星期了. ...
前言:
在寫了上一篇文章之後,
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年, 或者更長...
現在要做的, 就是準備, 早一點準備, 早上車早享受.