[031] 实战:书大师网站开发准备
.NET大牛之路 ? 王亮@精致碼農 ? 2021.10.19
前面我們花了二十篇左右的文章講 C# 基礎和高級知識點。由于后面要講的東西還有很多,所以 C# 的內容沒辦法做到講得細而全,只能走馬觀花一掃而過。在后面的內容中如果有遇到 C# 高級知識點,我們再稍帶講一下。
從今天開始我們進入 ASP.NET Core 知識的學習階段。介于羅列知識點教科書式的講解有些枯燥,所以本階段使用實戰示例的方式進行講解,即在開發實際 Web 應用的時候把用到的知識點展開講解。
1最小化可行產品
在《精益創業》一書中,作者提出了 MVP(Minimum Viable Product,最小化可行產品)理念,得到了很多人認可。MVP 理念核心就是通過不斷挖掘用戶的需求,不斷做迭代增量開發,逐步將一個原型產品演變成滿足用戶需求的產品。
圖片來源:bit.ly/3DKyY6W我們也踐行 MVP 這個理念,先開發并發布一個最小化可行的網站,后面會隨著課程的推進而不斷迭代和增量開發。也就是說后面每節課程都會完成此網站的一個或多個功能模塊,或者完成一次優化或重構。
本階段課程實戰項目選的是一個電子書分享網站。該網站取名為Bookist,中文可以叫書大師,域名為 bookist.cc。在學習過程中,大家可以通過訪問該域名查看示例效果,與自己完成的成果進行對比。
在我們邊學習邊實戰的過程中,有時候為了補充知識點的講解和演示,可能會在項目中穿插一些產品不需要的臨時功能。
我們知道在軟件開發方法中有原型法開發方法,原型法又分為拋棄式和演化式。由于我們現在并不知道最終的網站要做成什么樣子,所以整個過程我們將采用演化式原型開發方法。
2環境準備
在本文編寫時,.NET 6 RC2 剛發布,RC 版本是官方認為可以在生產環境運行的版本,而且 .NET 6 正式版也即將發布了,所以我們也改用 .NET 6 來開發。我的 VS 版本是 2022,安裝時默認安裝了 .NET 6 SDK。如果你用的是 VS 2019 或 VS Code,則可能要單獨安裝一下 .NET 6 SDK,請根據自己的需要到官網下載并安裝:
https://dotnet.microsoft.com/download/dotnet/6.0除了使用 .NET 6 這一要求,對于開發環境的其它工具方面大家根據自己喜好選擇就行。為了照顧到使用非 Windows 操作系統的同學,我在課程中選用 VSC (Visaul Studio Code)作為代碼編寫工具。關于如何使用 VSC 開發 .NET 應用請參閱第 009 篇文章。
3開始開發
先創建一個名為 bookist 的項目文件夾,并用 VSC 打開該文件夾。
通過快捷捷 ctrl+` 打開 VSC 的命令行面板。用命令行創建一個解決方案(sln)文件,取名為 Bookist.sln:
# 創建一個名為 Bookist 的解決方案 $ dotnet new sln -n Bookist 已成功創建模板“解決方案文件”。注意:在本課程中,以 $ 開頭的表示手動在終端輸入的命令行,以 # 開關的代表注釋,其它是運行命令后的輸出。終端我用的是 Windows 中的 PowerShell,如果你用的是 Bash,注意目錄操作的區別。
你可以到官方文檔了解所有 dotnet 命令行工具的介紹:
https://docs.microsoft.com/en-us/dotnet/core/tools/然后使用 ASP.NET Core 空模板(代號為 web)創建一個 Web 項目,取名為 Bookist.Web,并將該項目添加到解決方案:
# 創建一個空的 Web 項目 $ dotnet new web -o Bookist.Web 在 D:\bookist\Bookist.Web\Bookist.Web.csproj 上運行 “dotnet restore”...正在確定要還原的項目…已還原 D:\bookist\Bookist.Web\Bookist.Web.csproj (用時 69 ms)。 已成功還原。# 將 Bookist.Web 項目添加到當前解決方案 $ dotnet sln add Bookist.Web 已將項目“Bookist.Web\Bookist.Web.csproj”添加到解決方案中。命令執行后,項目的目錄結構如下:
這里暫且不介紹各個目錄和文件,后面講到相關知識點的時候再介紹。
現在,切換到 Bookist.Web 目錄,使用下面命令運行項目:
$?cd .\Bookist.Web\ $ dotnet run 正在生成... info: Microsoft.Hosting.Lifetime[14]Now listening on: https://localhost:7269 info: Microsoft.Hosting.Lifetime[14]Now listening on: http://localhost:5296 info: Microsoft.Hosting.Lifetime[0]Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0]Hosting environment: Development info: Microsoft.Hosting.Lifetime[0]Content root path: D:\MyGitHub\bookist\Bookist.Web打開瀏覽器訪問命令行提示的任意一個網址(比如這里的 http://localhost:5296,你的端口號可能和我的不一樣,你也可以使用 ctrl + 鼠標單擊 直接打開)。看到如下頁面說明一切正常:
如果你使用的是 VS 開發,則直接通過可視化窗口即可完成上面的命令行操作。
4小結
這節課主要讓大家了解 MVP 迭代增量開發的理念,并準備好 .NET 6 開發環境,和了解基本的 dotnet 命令行工具的使用。
一個電子書分享網站,最重要的功能就是電子書的展示并能夠讓用戶下載。為了快速上線,我們的網站第一個版本將只展現一本電子書的分享,前期不考慮架構設計和數據庫設計,首要目的先把從開發到上線的流程走通。
所以,下一篇我們將實現書大師網站的最小基礎功能,并部署到生產環境,快速完成第一個版本的上線。
總結
以上是生活随笔為你收集整理的[031] 实战:书大师网站开发准备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何让组织的KPI成为敏捷转型的推手而不
- 下一篇: .NET网站国际化策略