Blazor 快速體驗
$9.99
最低售價
$15.00
建議售價

Blazor 快速體驗

Hands-On Lab 動手練習

關於本書

關於本書

歡迎可以先來觀看 Blazor 快速體驗 之 線上操作教學影片,並且訂閱本 Youtube 頻道

這是一本帶領對於 Blazor 有興趣的新手開發者,可以快速體驗這個微軟最新的網頁開發框架技術的開發過程,在這本書中,將不會講解枯澀的相關技術內容,而是設計一個應用情境,也就是一般常用的 CRUD (新增 Create, 查詢 Retrive, 更新 Update, 刪除 Delete) 的記事應用程式需求開發,從無到有的帶領讀者透過 Visual Studio 2019 這個開發工具,設計出的 Blazor 伺服器端的這樣應用程式。

所以,購買本書的讀者,將會強烈建議讀者要跟著本書的內容,逐一進行專案的設計與練習,在每個練習階段,都會有不同要帶給讀者的學習方向;透過這樣的練習開發過程,就會明瞭 Blazor 這個開發框架技術究竟可以做到什麼樣的強大功能;不過,這本書中並不會詳盡說明各種 Blazor 開發技術內容,而是提供一個動手練習實作的說明操作步驟,體驗 Blazor 專案開發過程。因此,若您沒有這樣的興趣或者這樣的需求,請不要購買這本書。

因此,當讀者完成所有的專案練習開發,相信您對於 Blazor 這個優秀的開發框架必定有更清楚的認識,了解到不需要使用到繁雜的 JavaScript 程式語言,僅使用 Blazor 就可以做到那些網站設計上的功能。

這本書能提供什麼

在這本書裡面,將會提供 8 章的內容,分別是

建立 Blazor Server Side 伺服器端的專案

  

了解如何透過 Visual Studio 2019 開發工具,開始建立一個 伺服器端的 Blazor 專案。

開始設計CRUD 的新增與刪除功能

首先,這裡將會透過剛剛建立的  Blazor Server Side 伺服器端 專案,設計出一個使用記憶體作為儲存空間的 CRUD 應用程式,不過,在這裡將會先設計出新增與刪除的功能,在下一章內容才會介紹如何使用對話窗來強化新增與修改的功能;另外,在這兩章的內容裡,會將 CRUD 的各項程式碼,直接寫 Blazor Component 元件裡,還是那句話,這裡完全不會使用到任何 JavaScript 程式碼,僅僅使用到 C# 程式語言 與 HTML 宣告式標記語言而已。

增加 CRUD 的新增與修改對話窗功能

延續上一章的開發結果,將會繼續開發新增與修改功能,不過,對於要新增與修改的紀錄,可以透過 BootStrap 的對話窗功能來進行記錄輸入;不過,在這裡將不是透過呼叫 jQuery 的方式,而是透過 C# 資料綁定的處理機制來顯示這個對話窗。

建立記事服務並且使用相依性注入服務

為了要能夠設計出一個容易維護的專案程式碼,因此需要套用 SRP 原則,因此,在這裡將會設計一個抽象介面與實作該介面的具體服務類別,將相關記事紀錄處理用到的程式碼分離到這個具體服務類別內,並且透過 ASP.NET Core 提供的相依性注入 Dependency Injection 服務,把所需要的具體服務類別執行個體,注入到 Blazor Component 元件內,如此,便可以在 Blazor 元件內使用這個具體服務類別物件,來進行 CRUD 的存取。透過這樣的設計技巧,可以讓這個專案具有高度鬆散耦合關係。

使用資料庫來儲存記事服務相關紀錄

接下來將會使用 Entity Framework Core 套件,設計一個新的提供資料庫(這裡將會使用 SQLite 資料庫做為操作範例)具體服務類別;一旦完成這個資料庫存取的具體服務類別,只需要在 Startup 類別內(在專案根目錄下,可以找到 Startup.cs 這個檔案),註冊這個新建立的資料庫存取具體服務類別,這樣,在不修改原先 Blazor 元件的程式碼下,便可以直接讓這個原有 Blazor 專案,瞬間華麗變換成為不再使用記憶體作為存取目媒介,而是使用資料庫作為存取媒介的應用程式了。

在 Blazor 專案內呼叫 JavaScript 程式碼

在這一章中,將會展示如何透過 C# 來呼叫 JavaScript 的設計過程;這裡會先修改原先的 CRUD 元件中使用的對話窗功能,當要進行新增與修改的時候,將會透過 C# 來呼叫 jQuery 程式碼,讓這個對話窗顯示窗來;另外,將會使用已經包裝好的一個 Blazor NuGet 套件,該套件可以透過 C# 程式碼的呼叫,動態的顯示出一個對話窗,這裡將會針對 刪除 按鈕來進行重新設計,當使用點選 刪除 按鈕之後,將會透過 Blazored.Modal 元件來顯示一個對話窗,詢問使用者是否要刪除這筆紀錄,若回答是肯定的,將會立即刪除這筆紀錄。

在 Blazor 專案內設計 Web API 服務

在這之前,已經完成了一個 CRUD 應用程式,並且會將資料記錄存取到資料庫內的功能,現在,將可以在 Blazor 專案內啟用 RESTful Web API 服務功能,讓這個網站也可以提供 Web API 的服務;所以,透過這章的開發練習,將會知道如何在 Blazor 專案內來設計出 RESTful Web API 的服務。

使用 Web API 來儲存記事服務相關紀錄

最後,將會需要新設計一個存取 Web API 的具體服務類別,並且將這個服務註冊到 ASP.NET Core 內的 DI Container 容器中,當然,也無須修改原有 Blazor 專案內的元件設計程式碼,便可以讓這個 Blazor 專案,立即使用透過呼叫 Web API 服務,來進行記事紀錄之 CRUD 應用。

更多內容,可以參考作者 Vulcan Lee 部落格文章

C# .NET Blazor Research

Xamarin Research

關於作者

Vulcan Lee
Vulcan Lee

從 2012 年開始進行 .NET / C# 教育訓練課程之後,對於許多開發出來的課程,並不是隨便敷衍的設計出來,這其中我會不斷地針對已經開發出來的課程來進行修正、改版、追加內容,因此,相關的課程是不斷的在變化與強化的。

要完成這樣的一系列課程是一種自我挑戰,讓自己可以看得更高、看得更遠、讓抄襲者永遠無法模仿,因為,這些課程加入了許多巧思與技能在裡面,內行看門道、外行看熱鬧。

我所設計的教學課程,為了要能夠讓入門者、想要精通者都可以喜歡我設計的課程,將會把課程應該具有的特色,所提供的內容將會涵蓋到更多的層面、更多範例碼、更多觀念介紹、更多的動畫來理解艱澀技術應用、更多挑戰應用、更多的日常遇到問題與解決方法、更完整的開發設計指引。

因此,很期望到時候能夠與大家一起來進行這個課程的交流與互動,也希望大家可以從這些課程學到更多知識與經驗,應用在日常開發專案上。

若對於這些課程有興趣,或者有任何其他需求,可以到 Xamarin Blazor 實驗室 粉絲團來私訊給我

也歡迎來查看我寫的部落格文章 https://csharpkh.blogspot.com/

目錄

  • 關於本書
    • 這本書能提供什麼
    • 誰適合閱讀這本書
    • 練習專案原始碼
  • 1. 建立 Blazor Server Side 伺服器端的專案
    • 1.1 執行這個專案
    • 1.2 結論
  • 2. 開始設計 CRUD 的新增與刪除功能
    • 2.1 建立專案會用到的資料模型
    • 2.2 建立與設計 Blazor 元件 - 顯示所有記事紀錄
    • 2.3 在 Blazor 專案首頁,加入此元件
    • 2.4 執行這個專案
    • 2.5 結論
  • 3. 增加 CRUD 的新增與修改對話窗功能
    • 3.1 修正資料模型具有內建驗證屬性
    • 3.2 修正 MyNotes 元件可以使用對話窗來新增與修改
    • 3.3 執行這個專案
    • 3.4 結論
  • 4. 建立記事服務並且使用相依性注入服務
    • 4.1 建立記事的抽象型別
    • 4.2 建立記事的具體實作類別
    • 4.3 設計完成後的完整 Startup.cs 內容
    • 4.4 修正 MyNotes.razor 元件,使用 MyNoteService 服務
    • 4.5 設計完成後的完整 MyNotes.razor 內容
    • 4.6 執行這個專案
    • 4.7 結論
  • 5. 使用資料庫來儲存記事服務相關紀錄
    • 5.1 安裝 Entity Framework Core 需要用到的套件
    • 5.2 建立使用資料庫用到 DbContext 類別
    • 5.3 修正記事資料模型類別
    • 5.4 註冊使用 SQLite 資料庫服務
    • 5.5 建立使用資料庫的記事服務具體實作類別
    • 5.6 註冊使用資料庫的記事服務具體實作類別
    • 5.7 設計完成後的完整 Startup.cs 內容
    • 5.8 啟用 EF Core 中的移轉功能
    • 5.9 執行這個專案
    • 5.10 結論
  • 6. 在 Blazor 專案內呼叫 JavaScript 程式碼
    • 6.1 加入 BootStrap 需要用到的 JavaScript
    • 6.2 修正 MyNotes.razor 元件,可以呼叫 JavaScript
    • 6.3 執行這個專案
    • 6.4 安裝與設定 Blazored.Modal 元件
    • 6.5 新增刪除要使用的對話窗元件
    • 6.6 使用 Blazored.Modal 元件來設計是否要刪除之對話窗功能
    • 6.7 執行這個專案
    • 6.8 結論
  • 7. 在 Blazor 專案加入 Web API 服務的功能
    • 7.1 修正記事資料模型
    • 7.2 在 Blazor 專案內設計 Web API 服務
    • 7.3 建立 Web API 要使用的控制器
    • 7.4 執行這個專案
    • 7.5 結論
  • 8. 使用 Web API 來儲存記事服務相關紀錄
    • 8.1 建立使用 Web API 的記事服務具體實作類別
    • 8.2 註冊 Web API 會用到的相關服務
    • 8.3 設計完成後的完整 Startup.cs 內容
    • 8.4 執行這個專案
    • 8.5 結論
  • 版權頁

Leanpub 100% 無風險的滿意保證

付款後的 60 天內,只要點擊兩下,你就可以退書並獲得全額退款。退書是手工操作的,所以可能需要幾天時間來完成整個過程。
查看完整條款.

在$10的購買中賺$8,在$20的購買中賺$16

我們在$7.99或以上的購買中支付80%的版稅,並在$0.99至$7.98的購買中支付80%的版稅減去50美分的固定費用在$10的銷售中賺$8,在$20的銷售中賺$16。因此,如果我們以$20銷售5000本未退款的書,您將賺取$80,000

(是的,一些作者已經在Leanpub上賺了很多錢。)

實際上,作者在Leanpub上賺取了超過1300萬美元通過寫作、出版和銷售。

了解更多關於Leanpub寫作的信息

免費更新。無 DRM 限制。

如果你購買了 Leanpub 的書,只要作者更新書籍,你就可以獲得免費更新!許多作者使用 Leanpub 來發布他們正在編寫的書籍。所有讀者都可以獲得免費更新,無論他們何時購買書籍或支付了多少費用(包括免費)。

大多數 Leanpub 書籍均提供 PDF(適用於電腦)、EPUB(適用於手機和平板電腦)和 MOBI(適用於 Kindle)格式。書籍包含的格式將顯示在此頁面的右上角。

最後,Leanpub 書籍沒有任何 DRM 複製保護的胡說,因此你可以輕鬆地在任何支持的設備上閱讀它們。

了解更多有關 Leanpub 電子書格式和閱讀位置的資訊

在 Leanpub 上寫作和出版

作家和出版社使用 Leanpub 來出版正在進行中和已完成的書籍,就像這本書一樣。您也可以使用 Leanpub 來撰寫、出版和銷售您的書籍!Leanpub 是一個強大的平台,適合嚴肅的作家。它結合了簡單、優雅的寫作和出版工作流程,以及一個可以銷售正在進行中的電子書的線上商店。對於作家來說,Leanpub 是一部神奇的打字機:您只需撰寫純文字,然後點擊一下按鈕就可以出版您的電子書。就是這麼簡單。

了解更多有關 Leanpub 上的寫作