分享我做Dotnet9博客網(wǎng)站時(shí)積累的一些資料
從2019年使用WordPress搭建Dotnet9網(wǎng)站,到現(xiàn)在手?jǐn)]代碼開發(fā),介紹中間使用的一些資源,絕無保留,希望對(duì)大家有用。
1. 申請(qǐng)域名、搭建WordPress網(wǎng)站
時(shí)間點(diǎn):2019年11月
申請(qǐng)Dotnet9
域名,講個(gè)實(shí)話,站長是從Dotnet1試到Dotnet9的,前面8個(gè)都被注冊(cè)了,哈哈。
網(wǎng)站使用WordPress的第三方收費(fèi)主題JustNews主題搭建:
JustNews主題專為博客、自媒體、資訊類的網(wǎng)站設(shè)計(jì)開發(fā),自適應(yīng)兼容手機(jī)、平板設(shè)備,支持前端用戶中心,可以前端發(fā)布/投稿文章,同時(shí)主題支持專題功能,可以添加文章專題。
1.1 經(jīng)典風(fēng)格
演示地址:http://demo.wpcom.cn/justnews/
這種風(fēng)格挺適合技術(shù)類網(wǎng)站,內(nèi)容比較緊湊,一眼展示內(nèi)容較多。

1.2 風(fēng)格二
演示地址:http://demo.wpcom.cn/justnews2/
這種風(fēng)格是站長去年之前一直選用的風(fēng)格,用了將近2年,看著比較大氣,貌似沒有保留網(wǎng)站最后的截圖,還是上演示截圖吧。

2. 開始調(diào)研網(wǎng)站開發(fā)技術(shù)棧
時(shí)間點(diǎn):2021年10月
這是一個(gè)重要時(shí)間點(diǎn),前面兩年站長基本就是在維護(hù)上面的WordPress搭建的網(wǎng)站。
關(guān)注Dotnet9網(wǎng)站的網(wǎng)友也經(jīng)常問我,這個(gè)網(wǎng)站是用什么語言開發(fā)的,是否開源,想學(xué)習(xí)一下怎么開發(fā)網(wǎng)站。
陸陸續(xù)續(xù)站長也有自己開發(fā)網(wǎng)站的想法,但一直未付諸行動(dòng),畢竟自己技術(shù)棧主要在C/S,B/S也只是偶爾客串。
所以這個(gè)時(shí)候就開始調(diào)研網(wǎng)站開發(fā)技術(shù)棧,這首先就選擇了Flutter Web,并參考油管一些視頻做了個(gè)首頁展示:
源碼:https://github.com/dotnet9/lequ/tree/main/src/flutter_blog
選擇Flutter Web,因?yàn)檎鹃L在公司也在調(diào)研Flutter開發(fā)Mac項(xiàng)目,另一個(gè)就是為了它的跨平臺(tái)特性,為了后面做桌面和App鋪路,但目前Flutter Web是還不太成熟的:
目前最不適合選用的技術(shù),首次加載2MB左右的Flutter js庫,2、30秒加載白屏等待,有做SEO的第三方插件,但不成熟,就和選Flutter做桌面一樣,需要再等等...
3. 使用ASP.NET Core MVC + Bootstrap開發(fā)網(wǎng)站
時(shí)間點(diǎn):2021年12月
源碼:https://github.com/dotnet9/lequ/tree/main/src/dotnet_blog
這應(yīng)該是最適宜做需要SEO類型的網(wǎng)站選用的技術(shù)棧,個(gè)人感覺單體就好。
站長以前做B/S,要么只做ASP.NET Core Web API,或者加上前端Vue(vue-element-admin),React(Ant Design Prop),ASP.NET Core MVC是還沒有接觸過的,所以全網(wǎng)找視頻學(xué)習(xí)。
懷著找有現(xiàn)成博客代碼的教學(xué)視頻目標(biāo),在百度、谷歌找了個(gè)遍,終于找到了一個(gè)視頻網(wǎng)址:udemy.com,這個(gè)網(wǎng)址有不少同學(xué)在上面學(xué)習(xí)過吧,全球的教學(xué)視頻都有,中文、英文、其他語言:

我找到了一個(gè)土耳其老師的視頻,正好是使用ASP.NET Core MVC 5
教授博客網(wǎng)站開發(fā),正好對(duì)我路子,當(dāng)時(shí)花了19.9$來著,還是有點(diǎn)小貴,不過學(xué)到了真東西,他基本使用的三層架構(gòu)開發(fā)的,建議初學(xué)MVC的同學(xué)可以看看,這里發(fā)截圖和鏈接不是推薦買哈,后面我接著講。
視頻鏈接:https://www.udemy.com/course/kurumsal-mimaride-mvc5-ile-blog-projesi-gelistirelim/

當(dāng)然站長不全是按他的教學(xué)視頻做,有些代碼也參考了老張的Blog.Core開發(fā)的,建議收藏老張的博客園,有興趣的同學(xué)可以看看他的博客,站長18年底開始看的老張博客入門的B/S開發(fā),這應(yīng)該是全網(wǎng)最全的B/S入門系列教程了:.NET CORE Web API + Vue:
博客園 [老張的哲學(xué)]:?https://www.cnblogs.com/laozhang-is-phi/

站長在看土耳其老師的視頻和參考老張的Blog.Core做了一個(gè)版本的博客前臺(tái)展示后,在油管發(fā)現(xiàn)了土耳其老師的賬號(hào),他新開了一個(gè)視頻系列,也是講解ASP.NET CORE MVC 5.0開發(fā)博客系統(tǒng),只是主題不同,使用的技術(shù)可能更新了,有150集,站長追了80幾集,后面沒看了,和前面收費(fèi)的類似,有需求的朋友可不用買收費(fèi)視頻(當(dāng)然支持是可以的),直接看他最新的博客開發(fā)視頻學(xué)習(xí)吧。
視頻地址:https://www.youtube.com/watch?v=HXKnDUb06iw&list=PLKnjBHu2xXNNkinaVhPqPZG0ubaLN63ci

語言不是障礙哈,油管可以做語言翻譯,站長有時(shí)是2倍速觀看,邊看邊敲代碼學(xué)習(xí),食用效果更佳。
4. Abp vNext + Blazor Server開發(fā)
時(shí)間點(diǎn):2022年01月
站長在前面學(xué)習(xí)MVC的過程中,已經(jīng)把前臺(tái)做了個(gè)大概了,有主題切換、多語言切換。
在2022年01月,站長公司有個(gè)項(xiàng)目,有使用Abp vNext + Blazor Server開發(fā)項(xiàng)目的需求,遂在公司學(xué)習(xí)技術(shù),晚上加班加點(diǎn)用新學(xué)的技術(shù)練手做Dotnet9網(wǎng)站前臺(tái),
源碼:https://github.com/dotnet9/dotnet9.com/tree/abp-blazor-server
學(xué)習(xí)地址:https://docs.abp.io/en/abp/latest/Tutorials/Part-1?UI=BlazorServer&DB=EF
總結(jié):
Abp vNext太重了,Hello World
運(yùn)行內(nèi)存400MB左右,個(gè)人手?jǐn)]CRUD比較費(fèi)時(shí),即使有代碼生成器,也不應(yīng)該選用這種方式做博客網(wǎng)站。
但不妨礙大家使用Abp vNext開發(fā)企業(yè)級(jí)項(xiàng)目哈,社區(qū)有不少Abp vNext的開源項(xiàng)目,大家可關(guān)注這個(gè)Github賬號(hào):?EasyAbp Team
EasyAbp Team:https://github.com/EasyAbp

5. 純用Blazor Server開發(fā)網(wǎng)站
時(shí)間點(diǎn):1月~2月

上面未再用Abp vNext做個(gè)人項(xiàng)目的原因已經(jīng)提了個(gè)人觀點(diǎn),所以從Blazor Server Hello Word開始又重新搭建網(wǎng)站了。
Blazor組件庫使用的 Masa Blazor:?https://masa-blazor-docs-dev.lonsid.cn/

與第4版Abp vNext集成的Blazor Server相比,當(dāng)時(shí)是工作需要練手選擇的。這次選原生的Blazor Server,對(duì)做.NET的我來說,應(yīng)該是僅次于MVC的選擇吧。
說實(shí)話,找工作靠Blazor可能性是很小的,但個(gè)人玩是非常爽的,這里學(xué)習(xí)Blazor可看下站長當(dāng)時(shí)翻譯的一個(gè)臺(tái)灣小哥的系列文章:學(xué)Blazor,站長用Blazor這個(gè)版本還寫了2個(gè)在線小工具,上線了一段時(shí)間,代碼可參考:
免費(fèi)開源Blazor在線Ico轉(zhuǎn)換工具

使用Blazor做個(gè)簡單的時(shí)間戳在線轉(zhuǎn)換工具

后面也沒有繼續(xù)堅(jiān)持選擇Blazor Server開發(fā)個(gè)人網(wǎng)站,站長主要有這個(gè)考量:Blazor使用的signalR做長連接,實(shí)時(shí)性較好,但對(duì)客戶端網(wǎng)絡(luò)要求較高,網(wǎng)絡(luò)稍差,可能就與服務(wù)器斷開了連接,對(duì)用戶使用體驗(yàn)影響較大,站長也不想繼續(xù)折騰下去,所以后面又選擇了MVC開發(fā)個(gè)人網(wǎng)站。
小插曲:當(dāng)時(shí)中間有用 .NET CORE Web API搭配Vue開發(fā)網(wǎng)站,因?yàn)槔蠌埖男聲鲜辛?,站長上手買了一本,跟著做了后端和前臺(tái)首頁,嘗了個(gè)鮮,前后端分離,前端Vue比較熟用起來也很爽,稍微有點(diǎn)麻煩,沒有MVC利索。
6. 現(xiàn)在的開發(fā)版本
時(shí)間點(diǎn):2022年03月至今(2022年05月03號(hào))
第一次上線時(shí)間:2022年04月01號(hào)
源碼:https://github.com/dotnet9/Dotnet9

折騰回MVC做網(wǎng)站,現(xiàn)在網(wǎng)站前臺(tái)基本成型了,前臺(tái)前端在網(wǎng)上扒的一個(gè)主題,后面考慮在淘寶付費(fèi)找個(gè)設(shè)計(jì)師美化一下:
首頁:

專輯之一:開源WPF

分類之一:Blazor

文章之一:ASP.NET Core可視化日志組件使用

前臺(tái)使用的ASP.NET Core MVC開發(fā),ORM使用的EF Core,MVC可以得到完美的SEO支持,再也不用擔(dān)心百度、谷歌的收錄問題了。
網(wǎng)站數(shù)據(jù)做了個(gè)數(shù)據(jù)種子,目前每次有更新需要?jiǎng)h庫、重新初始化,后臺(tái)正在開發(fā)中,參考的Panda這個(gè)項(xiàng)目正在做后臺(tái),后臺(tái)前端使用的Vue 3.0 + Element Plus:
Panda:https://github.com/coolqingcheng/Panda

最后來個(gè)后臺(tái)前端動(dòng)圖結(jié)束本文:

本文持續(xù)更新,歡迎關(guān)注。