[Asp.Net Core] Blazor Server Side 開發教程 - 進度, 計劃, 安排

来源:https://www.cnblogs.com/zhgangxuan/archive/2020/04/24/12765146.html
-Advertisement-
Play Games

前言: 在寫了上一篇文章之後, 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也是在... 在爆發之中,  需要飛一會兒, 時間上剛好搭上. 

現在不建議新手開發者立刻上馬. (老手開發者可以) 

但是值得平時花多一點時間, 慢慢學習, 慢慢積累經驗. 

 

教程方面, 會有一系列的文章推薦.  

除了自己寫的 ,  還會推薦其他人寫的值得一看的文章.  

當然是考慮到開發者的能力程度, 為開發者省時咯. 

雖然很多文章內容都很好.  但是網上的文章缺少整理. 

什麼程度的人需要看哪些文章, 文章與文章之間是什麼前後關係, 

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

都需要整理, 排序, 歸類, 等等. 

也是不少工作量. 

 

樣板項目:

上次提及過, 要寫一個樣板工程.  

這次樣板工程的類型也基本上定了下來. 

 

那便是 中小型軟體公司快速開發模板 

包含後臺管理, 包含微信整合, 桌面/手機消息推送等等東西. 

裡面大概做的是 : 

  1. 統一用戶管理 , 微信公眾號綁定
  2. OA/CRM/項目管理/工作流/.... 等比較基本的可選的功能. 
  3. 企業私有網盤 , (解決小企業'隱私地'分享文件問題, 而不是依靠雲或郵件, 並且支持使用量審計, 操作紀錄)
  4. 基於這個, 慢慢做一些典型行業的模板.

很多中小型企業, 他們根本不願意上雲. 也拒絕使用各種雲OA....  

已經很多年不做OA了, 互聯網OA拼殺太殘酷. 給中小企業做定製OA, 沒什麼肉吃. 

但是這次藉助這麼一個機會, 把OA重新搞起來, 還是值得的. 畢竟不願意使用公共OA的市場還有..

 

這次做這個項目, 打算全程錄播

從新建項目開始, 一步一步的, 如何慢慢增加功能, 都錄屏下來, 然後拖時間的部分剪掉. 

讓開發者可以自己感受一下Blazor的開發方式. 建立一套第一目標為省時省力的開發方式. 

考慮使用的技術方案, 越簡單越好. 不要有太多的依賴, 讓項目換人變得更容易. 

 

暫時這樣

需要加入新手問答群的, 請進QQ群 934608703 ,  現在沒什麼人, 歡迎來占坑.  我們要做的就是等待 Blazor 爆發. 

另外我的 B 站 : https://space.bilibili.com/540073960 , 用於投放視頻.  有價值的視頻都會在博客園發表文章解說. 

我自己是極為看重 Blazor 的, 它將會大大地提高工作效率,  基於統一的開發方式, 至少能用上10年, 或者更長...

現在要做的, 就是準備, 早一點準備, 早上車早享受. 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 第三方存儲媒介 前面我們介紹了基於 Swoole 的 Process 及 Process\Pool 模塊在 PHP 中實現多進程管理,但是多進程模式下進程間是相互隔離的,無法共用數據和變數,即便是通過 global 定義的全局或超全局變數,也只是在所屬進程中有效,如果要在 Swoole 實現的多進程 ...
  • 0. 前言 每篇一個前言,介紹一下這一篇的內容。之前的內容都是針對某些知識點進行的介紹,這篇內容介紹一下實際開發中常用的一些類和命名空間。這一篇是個連續劇,大概有個三四集。嗯,就是這樣。 1. System 命名空間 System空間,是C 的基礎命名空間,裡面定義了常用值和數據類型以及各種類型的基 ...
  • 題目描述 輸入一個鏈表,輸出該鏈表中倒數第k個結點。 解法 基本思路是使用兩個輔助指針p, q,讓p先走k 1步後,p, q兩個指針再一起走 這樣當p指針走到鏈表的末尾時,q指針剛好走到的就是倒數第k個結點 如下圖所示 實現代碼 更多演算法題目的完整描述,AC代碼,以及解題思路可以查看GitHub倉庫 ...
  • 參考資料:https://www.cnblogs.com/mrma/p/5404584.html 報錯信息 The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFram ...
  • 為水晶報表傳遞參數。 在水晶報表中,有從資料庫的存儲過程作為數據源。 當然存儲過程是帶有參數的。 在ASP.NET ASPX 網頁或是在ASP.NET MVC呈現報表時,我們得為存儲過程的參數傳值至水晶報表中。 如下: 以上為報表佈局。除了高亮的區塊為主報表,其餘的均為子報表。 不管是主報表,還是子 ...
  • 0. 前言 照例一份前言,在介紹任務和多線程之前,先介紹一下非同步和同步的概念。我們之間介紹的知識點都是在同步執行,所謂的同步就是一行代碼一行代碼的執行,就像是我們日常乘坐地鐵通過安檢通道一樣,想象我們每個人都是一行代碼,我們依次通過安檢儀器的時候就是同步。 那麼,什麼是非同步呢?有一個時間利用率的故事 ...
  • 前一段時間說過一篇繪製極坐標的,這段時間對它進行了改造已經今非昔比了,功能實現了很多,我目的是讓Marker動起來,然後還會繪製Route,上篇也就是簡單的繪製了Route,沒有關於Marker的相關知識。那個Circle有一定的改造,原來的純色改成了漸變,這個你可以提前想好,不過在代碼中你要做好適... ...
  • 外部字體文件 1.後臺代碼引用字體 將一個名為“ChineseCharacterSpecialFont.ttf”的ttf文件,放在桌面路徑,後臺引用方式如下: 1 var ttfFilePath = @"C:\Users\user\Desktop\"; 2 HanziTextBlock.FontFa ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...