.NET 帮助

Blazor 混合应用(它如何为开发人员工作)

发布 2024年四月29日
分享:

介绍

A.NET MAUI Blazor HybridApp将.NET MAUI的跨平台功能与Blazor的网络开发技能/能力相结合,创建可在多个平台上原生运行的应用程序,同时跨平台共享代码和逻辑。 这种 Blazor 混合方法为开发人员提供了灵活性、生产率,并使他们的应用程序能够接触到更广泛的受众。 网络开发人员可以使用网络用户界面组件轻松无缝地创建模拟移动设备应用程序。 在本文中,我们将使用 Visual Studio 构建一个简单的 .NET MAUI Blazor 混合应用程序,稍后还将看到IronPDF 库概述Iron Software 的 PDF 解决方案生成 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 多平台应用程序用户界面构建的应用程序(毛伊岛)和 Blazor 技术。 让我们来分析一下这些组成部分:

.NET MAUI(多平台应用程序用户界面)

.NET MAUI.NET Framework 是一个使用 .NET 技术和 C# 构建跨平台应用程序的框架。 它允许开发人员一次编写代码并将其部署到多个平台上,包括 Windows、macOS、iOS 移动应用程序和 Android。 .NET MAUI 为跨不同平台开发应用程序提供了单一的项目结构和统一的 API 表面。 它支持各种 UI 组件/元素,包括控件、布局和导航模式,可用于创建现代的响应式应用程序。

Blazor

Blazor.NET "是微软公司推出的一个网络框架,允许开发人员使用 C# 构建交互式网络开发应用程序。 Blazor 使开发人员能够编写在浏览器内客户端以及服务器端运行的代码。Blazor 应用程序可以使用 Razor 语法开发,该语法将 HTML 标记与 C# 代码相结合,它们可以利用 .NET 库和框架的强大功能。

混合应用程序

A混合应用译文必须结合本地应用程序和网络应用程序的元素。 在 .NET MAUI 和 Blazor 的语境中,混合应用程序通常是指在不同平台上原生运行的应用程序(如 Windows、macOS、iOS 和 Android)同时利用技术(如用于用户界面渲染和业务逻辑的 Blazor). 通过这种方法,开发人员可以利用他们现有的 .NET 和 C# 技能,构建既能利用本地功能又能利用网络技术的跨平台应用程序。

.NET MAUI Blazor 混合应用程序的功能

跨平台支持

您只需构建一次 MAUI Blazor 应用程序,即可将其部署到各种设备上,无需进行大量修改。 Blazor 应用程序可作为安卓和苹果设备的本地应用程序使用。

.NET MAUI 的设计旨在为使用 .NET 技术创建跨平台应用程序提供强大的支持,包括 Android、iOS、Windows 和 macOS。 这样,开发人员就可以创建在各种设备上无缝运行的应用程序,而无需进行重大修改。 使用 .NET MAUI 开发的 Blazor 移动应用程序在安卓和苹果设备上的表现与本地应用程序无异。

代码和组件共享

.NET MAUI 的主要优势之一是可以在不同平台上共享代码和用户界面组件。 该功能大大减少了开发时间和精力,无需为每个特定平台的功能重写代码。 通过共享代码和组件,开发人员可以简化开发流程并提高代码的可维护性。

本地用户界面控件

.NET MAUI Blazor 混合应用程序利用本地 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混合应用程序的优势

单一代码库

Blazor Hybrid Apps with .NET MAUI 使开发人员只需使用 C# 和 Blazor 编写一次应用程序的业务逻辑和 UI 元素。 这样,这个单一的代码库就可以部署到多个平台上,而无需针对特定平台进行大量调整,从而降低了开发的复杂性和工作量。

减少开发时间

通过跨平台共享代码和组件,开发人员可以大大减少开发时间。 在一个地方所做的更改会反映在所有支持的平台上,从而无需为每个平台编写和维护单独的代码库。 这种简化的开发流程可以加快产品上市速度并降低开发成本。

维护效率

有了适用于所有平台的单一代码库,维护工作将变得更加简单高效。 错误修复、更新和增强功能可统一应用于所有支持的平台,确保整个应用程序的一致性和可靠性。 这样可以简化维护流程,降低在不同版本的应用程序中引入不一致或错误的风险。

访问本地应用程序接口

尽管基于网络技术,Blazor 混合应用程序与 .NET MAUI 仍保留了在需要时访问本地 API 的功能。 这样,开发人员就可以在其应用程序中无缝利用特定平台的特性和功能,在基于网络的框架功能和每个平台的本地功能之间架起一座桥梁。 通过将 Blazor 的强大功能与对本地 API 的访问相结合,开发人员可以创建功能丰富、用途广泛的应用程序,满足每个平台的独特要求。

总之,.NET MAUI Blazor 混合应用程序提供了网络和本地功能的无缝融合,使其高效、易于维护并适合跨平台开发。

介绍IronPDF

探索 IronPDF 库Iron Software 的 PDF 解决方案PDF 是.NET 世界中生成、修改和读取 PDF 文档的通用库。 IronPDF是一个通用的跨平台库,允许开发人员从各种来源创建、编辑和签署PDF文档。 无论您是处理 HTML、图像还是其他文档格式,IronPDF 都能为您提供处理 PDF 的全面功能。 以下是有关 IronPDF 的一些要点:

  1. HTML 转换为 PDF**:

    IronPDF 可以转换 HTML 内容(包括 CSS、图像和 JavaScript)翻译成 PDF 文档。 您可以渲染网页、Razor 视图(Blazor 服务器), CSHTML(模型-视图-控制器 (MVC)), ASPX(网络表格)和 XAML(毛伊岛)作为 PDF 文件。

  2. 像素完美渲染

    IronPdf 可确保准确渲染,保持内容的视觉保真度。 它支持 UTF-8 字符编码、基础 URL、资产编码和 TLS 网站登录。

  3. 页面模板和设置

    通过添加页眉、页脚、页码和分页符自定义 PDF 文件。 设置响应式布局、自定义纸张尺寸、方向和颜色选项。

  4. 编辑和注释

    编辑 PDF 元数据、签署文档和应用数字签名。 在 PDF 文件中合并、拆分、添加、复制和删除页面。 添加注释和表单域。

  5. 跨平台支持

    IronPDF 可在各种平台上运行: .NET Core(8、7、6、5 和 3.1+), .NET 标准(2.0+), .NET Framework(4.6.2+). 兼容 Windows、Linux 和 macOS。

步骤 1:在 Visual Studio 中创建一个新的 .NET MAUI Blazor 混合项目

如下开始,在 Visual Studio 中选择创建新项目,然后选择 .NET MAUI Blazor 混合应用程序项目模板。

Blazor 混合应用程序(开发人员如何使用):图 1 - .NET MAUI Blazor 混合应用程序模板

提供项目名称和地点详情。

Blazor 混合应用程序(开发人员如何使用):图 2 - 项目配置

选择所需的 .NET 版本。 单击创建。

Blazor 混合应用程序(如何为开发人员工作):图 3 - 目标框架

第 2 步:添加 IronPDF 库,从网站 URL 生成 PDF

可以使用 Visual Studio 软件包管理器安装 IronPdf 库,如下所示。

Blazor 混合应用程序(如何为开发人员工作):图 4 - IronPDF

此外,还可以从 NuGet Gallery 安装。

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#

第 3 步:添加使用 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 生成器用户界面

输出

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 混合应用程序为希望利用 .NET MAUI 和 Blazor 技术的综合优势创建跨平台应用程序的开发人员提供了令人信服的解决方案。 .NET MAUI Blazor Hybrid 应用程序具有强大的跨平台支持、无缝代码和组件共享、本地 UI 控件访问、与 Visual Studio 集成以及更强的性能,为开发人员提供了所需的工具和功能,以构建可在各种设备上原生运行的现代化、响应式和功能丰富的应用程序。

另一方面,IronPDF 是一款量身定制的解决方案,用于跨多个平台生成 PDF 文档,如 .NET MAUI Blazor 混合应用程序。

总之,通过构建 .NET MAUI Blazor 混合应用程序和 IronPDF,开发人员可以交付高质量的应用程序,在不同平台上提供一致的用户体验,同时还能受益于 .NET 和 Blazor 生态系统的生产力和灵活性。

< 前一页
如何使用ASP.NET生成PDF报告
下一步 >
C#替换字符串中的字符(开发人员工作原理)

准备开始了吗? 版本: 2024.11 刚刚发布

免费NuGet下载 总下载量: 11,436,010 查看许可证 >