.NET 幫助

Blazor混合應用程式(如何為開發者工作)

發佈 2024年4月29日
分享:

介紹

A .NET MAUI Blazor 混合 應用程式結合了 .NET MAUI 的跨平台功能與 Blazor 的網頁開發技能/能力,以創建可在多個平台上原生運行並共享代碼和邏輯的應用程式。這種 Blazor 混合方法為開發人員提供了靈活性、生產力,以及用其應用程式觸及更廣泛受眾的能力。網頁開發人員可以輕鬆地使用網頁 UI 元件無縫地創建模擬的移動設備應用程式。在本文中,我們將使用 Visual Studio 構建一個簡單的 .NET MAUI Blazor Hybrid 應用程式,並稍後查看 IronPDF 圖書館由 Iron Software 生成 PDF 文件。

如何建立 .NET MAUI Blazor 應用程式從網站生成 PDF

  1. 在 Visual Studio 中建立一個新的 .NET MAUI Blazor 混合專案

  2. 添加 IronPDF 庫以從網站 URL 生成 PDF

  3. 添加代碼以使用 IronPDF 庫生成 PDF

什麼是 .NET MAUI Blazor 混合應用程式?

.NET MAUI Blazor 應用程式是指使用 .NET Multi-platform App UI 建立的應用程式 (MAUI) 和 Blazor 技術。我們來分解這些組件:

.NET MAUI (跨平台應用程式使用者介面)

.NET MAUI 是一個使用 .NET 技術和 C# 構建跨平台應用程式的框架。它允許開發人員一次編寫代碼並部署到多個平台,包括 Windows、macOS、iOS 行動應用程式和 Android。.NET MAUI 提供單一項目結構和統一的 API 表面來跨不同平台開發應用程式。它支援各種 UI 元件/元素,包括控件、佈局和導航模式,以創建現代且響應迅速的應用程式。

Blazor

Blazor 是 Microsoft 的一個網頁框架,允許開發人員使用 C# 構建交互式的網頁開發應用程式。Blazor 使開發人員可以編寫在瀏覽器客戶端和伺服器端運行的代碼。Blazor 應用程式可以使用 Razor 語法開發,Razor 語法結合了 HTML 標記和 C# 代碼,可以利用 .NET 庫和框架的強大功能。

混合應用程式

A 混合應用程式 結合了原生應用程式和網頁應用程式的元素。在 .NET MAUI 和 Blazor 的上下文中,混合應用程式通常指的是在各種平台上原生執行的應用程式。 (例如 Windows、macOS、iOS 和 Android) 同時利用技術 (例如用於介面渲染和業務邏輯的Blazor)這種方法允許開發人員利用其在 .NET 和 C# 中的現有技能來構建跨平台應用程式,從而可利用本機和網頁技術的優勢。

.NET MAUI Blazor 混合應用程式的功能

跨平台支持

您可以構建一次 MAUI Blazor 應用程序,並在各種設備上部署,而不需要進行重大修改。Blazor 應用程序作為 Android 和 Apple 設備的原生應用程序運行。

.NET MAUI 被設計用來提供強大的支持,以使用 .NET 技術創建跨平台應用程序,涵蓋 Android、iOS、Windows 和 macOS。這使得開發人員能夠創建無需重大修改即可在多種設備上無縫運行的應用程序。使用 .NET MAUI 開發的 Blazor 移動應用程序將在 Android 和 Apple 設備上像原生應用程序一樣運行。

代碼和組件共用

.NET MAUI 的其中一個主要優勢是其跨各個平台共用代碼和 UI 組件的能力。這個功能大幅減少了開發的時間和精力,消除了為每個平台專屬功能重寫代碼的必要性。通過共用代碼和組件,開發人員可以簡化開發流程並提高代碼的可維護性。

Native UI 控件

.NET MAUI Blazor Hybrid 應用程式利用原生 UI 控件,確保在不同平台上的一致且熟悉的使用者體驗。這允許開發人員可以訪問平台特定的 UI 元素,同時在所有支援的設備上保持統一的外觀和感覺。通過利用原生 UI 控件或 Web UI 元件,開發人員可以創建感覺像是各平台原生的應用程式,同時最大限度地重用代碼。

與 Visual Studio 整合

Visual Studio 提供了對 .NET MAUI 開發的全面工具支持,為開發者提供豐富的功能集來構建、調試和管理他們的應用程序。通過 Visual Studio,開發者可以利用諸如 IntelliSense、調試功能和項目管理功能等熟悉的工具,從而在開發過程的各個階段提高生產力和效率。

改善的效能

.NET MAUI Blazor 混合應用程式相比於其他一些跨平台解決方案提供了更佳的效能。Blazor 和 .NET MAUI 的結合保證了代碼的高效執行,從而使應用程式具有良好的響應性和高效能。利用 .NET 執行環境和內建平台功能,開發者可以創建在各種設備上提供順暢和流暢用戶體驗的應用程式。

熱重載支援

.NET MAUI 提供熱重載支援,使開發者在開發過程中可以立即看到變更,無需重新編譯或重新部署。這個功能加快了開發週期,使開發者能夠迅速且高效地進行反覆調整。借助熱重載支援,開發者可以對應用程式進行實時調整,加速開發進程並改善整體生產力。

使用 .NET MAUI 的 Blazor 混合應用程式的優勢

單一代碼庫

使用 .NET MAUI 的 Blazor 混合應用程式使開發人員能夠只使用 C# 和 Blazor 編寫一次應用程式的業務邏輯和 UI 元素。這個單一代碼庫可以部署到多個平台,而不需要進行大量的平臺特定調整,從而減少開發的複雜性和努力。

縮短開發時間

透過在各平台之間共享程式碼和元件,開發者可以大幅減少花在開發上的時間。在一個地方進行的更改將反映在所有支援的平台上,消除了為每個平台編寫和維護獨立程式碼的需求。這個精簡的開發過程轉化為更快的上市時間和降低的開發成本。

維護效率

使用單一代碼庫適用於所有平台,維護變得更簡單且更高效。錯誤修復、更新和增強功能可以統一應用於所有支援的平台,確保整個應用程序的一致性和可靠性。這簡化了維護流程,並降低了在不同版本的應用程序中引入不一致或錯誤的風險。

存取原生 API

儘管基於網頁技術,使用 .NET MAUI 的 Blazor Hybrid 應用程式仍然保持在需要時存取原生 API 的能力。這允許開發者在應用程式中無縫地利用平台特定的功能與特性,提供了網頁框架的能力與每個平台原生能力之間的橋樑。通過結合 Blazor 的強大功能與原生 API 的存取能力,開發者可以創建功能豐富且多用途的應用程式,以滿足每個平台的獨特需求。

總結來說,.NET MAUI Blazor Hybrid 應用程式提供了網頁和原生能力的無縫融合,使其高效、易於維護,並適合跨平台開發。

介紹 IronPDF

IronPDF 圖書館由 Iron Software 是一個在 .NET 世界中用於生成、修改和閱讀 PDF 文件的多功能庫。IronPDF 是一個多功能的跨平台庫,允許開發人員從各種來源創建、編輯和簽署 PDF 文件。無論您正在處理 HTML、圖像或其他文檔格式,IronPDF 都提供了一整套處理 PDF 的功能。以下是關於 IronPDF 的一些關鍵點:

  1. HTML 到 PDF 的轉換

    IronPDF 可以將 HTML 內容轉換 (包括 CSS、圖片和 JavaScript) 轉換成PDF文件。您可以渲染網頁、Razor視圖 (Blazor 伺服器), CSHTML (MVC), ASPX (網頁表單)和XAML (MAUI) 作為PDF。

  2. 完美像素渲染

    IronPDF確保準確渲染,維持內容的視覺保真度。它支持UTF-8字符編碼、基本URL、資產編碼和TLS網站登錄。

  3. 頁面模板和設置

    通過添加頁眉、頁腳、頁碼和分頁線來自定義您的PDF。設置響應佈局、自定義紙張尺寸、方向和顏色選項。

  4. 編輯和註釋

    編輯PDF元數據、簽署文件並應用數字簽名。合併、拆分、添加、複製和刪除PDF中的頁面。添加註釋和表單字段。

  5. 跨平台支持

    IronPDF可在各種平台上工作:.NET Core (8, 7, 6, 5, 和 3.1+).NET Standard (2.0+).NET 框架 (4.6.2+).** 兼容 Windows、Linux,以及 macOS。

第一步:在 Visual Studio 中建立新的 .NET MAUI Blazor Hybrid 專案

如以下步驟,選擇 Visual Studio 中的「建立新專案」,並選擇 .NET MAUI Blazor Hybrid App 專案範本。

適用於開發人員的 Blazor 混合應用程式(工作原理):圖 1 - .NET MAUI Blazor 混合應用程式範本

提供專案名稱和位置詳細資料。

Blazor 混合應用程式(開發人員如何運作):圖 2 - 專案配置

選擇所需的 .NET 版本。點擊建立。

Blazor 混合應用程式(開發人員的運作方式):圖 3 - 目標框架

步驟 2:添加 IronPDF 資料庫以從網站 URL 生成 PDF

IronPDF 資料庫可以使用 Visual Studio 套件管理器安裝,如下所示。

Blazor 混合應用程式(開發人員如何運作):圖 4 - IronPDF

此外,它也可以從NuGet畫廊安裝。

Blazor 混合應用程式(開發人員的工作方式):圖 5 - NuGet 資源庫

dotnet add package IronPdf --version 2024.4.2
dotnet add package IronPdf --version 2024.4.2
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf --version 2024.4.2
VB   C#

第三步:使用 IronPDF 生成 PDF 的程式碼

在首頁添加以下程式碼,以修改現有的自動生成程式碼,接收用戶輸入的 URL 並生成 PDF 文件。

@page "/"
@using IronPdf
<h1>Welcome to PDF Generator from Website URL</h1>
<p>Enter the Website URL to Generate PDF</p>
<p>Click to Generate PDF</p>
<button class="btn btn-primary" @onclick="GeneratePdf">Generate</button>
@code {
    private string? inputValue;
    private string? InputValue { get; set; }
    private void GeneratePdf()
    {
        var r = HtmlToPdf.StaticRenderUrlAsPdf(@InputValue);
        r.SaveAs("C:\\temp\\output.pdf");
    }
}
@page "/"
@using IronPdf
<h1>Welcome to PDF Generator from Website URL</h1>
<p>Enter the Website URL to Generate PDF</p>
<p>Click to Generate PDF</p>
<button class="btn btn-primary" @onclick="GeneratePdf">Generate</button>
@code {
    private string? inputValue;
    private string? InputValue { get; set; }
    private void GeneratePdf()
    {
        var r = HtmlToPdf.StaticRenderUrlAsPdf(@InputValue);
        r.SaveAs("C:\\temp\\output.pdf");
    }
}
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: @page "/" using IronPdf <h1> Welcome to PDF Generator from Website URL</h1> <p> Enter the Website URL to Generate PDF</p> <p> Click to Generate PDF</p> <button class="btn btn-primary" onclick="GeneratePdf"> Generate</button> @code
"btn btn-primary" onclick="GeneratePdf"> Generate</button> code
Private Friend page "/" [using] IronPdf (Of h1) Welcome [to] PDF Generator from Website URL</h1> (Of p) Enter the Website URL [to] Generate PDF</p> (Of p) Click [to] Generate PDF</p> <button Class="btn btn-primary" onclick
'INSTANT VB WARNING: Nullable reference types have no equivalent in VB:
'ORIGINAL LINE: private string? inputValue;
'INSTANT VB NOTE: The field inputValue was renamed since Visual Basic does not allow fields to have the same name as other class members:
	Private inputValue_Conflict As String
'INSTANT VB WARNING: Nullable reference types have no equivalent in VB:
'ORIGINAL LINE: private string? InputValue {get;set;}
	Private Property InputValue() As String
	Private Sub GeneratePdf()
		Dim r = HtmlToPdf.StaticRenderUrlAsPdf(InputValue)
		r.SaveAs("C:\temp\output.pdf")
	End Sub
End Class
VB   C#

代碼說明

在這裡,我們使用文字輸入來接收用戶的輸入。他們有一個按鈕來觸發 PDF 的生成。HtmlToPdf.StaticRenderUrlAsPdf 靜態方法用於生成 PDF 文檔。

當我們運行應用程式時,我們可以看到下面的使用者介面。

Blazor 混合應用程式(開發人員如何使用):圖 6 - PDF 生成器 UI

輸出

Blazor 混合應用程式(對開發人員的運作方式):圖 7 - PDF 輸出

授權 (免費試用優惠)

有效的授權金鑰對於 IronPDF 是必要的,請將其放入 appsettings.json 文件,如下所示:

"IronPdf.LicenseKey": "your license key"
"IronPdf.LicenseKey": "your license key"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'"IronPdf.LicenseKey": "your license key"
VB   C#

您可以透過註冊試用版許可證來獲取免費試用版許可證金鑰,使用 IronPDF 的 試用許可頁面.

結論

構建 .NET MAUI Blazor Hybrid 應用程序為開發者提供了創建跨平台應用程序的吸引人解決方案,結合了 .NET MAUI 和 Blazor 技術的優勢。通過強大的跨平台支持、無縫的代碼和組件共享、對原生 UI 控件的訪問、與 Visual Studio 的集成以及性能提升,.NET MAUI Blazor Hybrid 應用程序為開發者提供了構建現代化、響應迅速且功能豐富、在各種設備上本地運行的應用程序所需的工具和能力。

另一方面,IronPDF 是一個為在多平台上生成 PDF 文檔而量身定制的解決方案,如 .NET MAUI Blazor Hybrid 應用程序。

總而言之,構建 .NET MAUI Blazor Hybrid 應用程序和 IronPDF,讓開發者能夠交付高質量的應用程序,在不同平台上提供一致的用戶體驗,同時受益於 .NET 和 Blazor 生態系統的生產力和靈活性。

< 上一頁
如何使用ASP.NET生成PDF報告
下一個 >
如何在 C# 字串中替換字符(適用於開發人員)

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >