如何在MAUI应用中嵌入PicoServer实现本地HTTP服务?

摘要:PicoServer 跨平台 Web 架构实战系列

1️⃣ MAUI 中嵌入 PicoServer 入门
2️⃣ 路由机制与 API 设计
3️⃣ 构建轻量级本地 Web A
MAUI 嵌入式 Web 架构实战(一) 在 MAUI 应用中运行 PicoServer 本地 Web 服务 在传统移动或桌面应用中,客户端通常只是 调用远程 API 的消费者。 而随着 Hybrid App 与 Web 技术的发展,一种新的架构模式逐渐流行: 在本地应用中嵌入 Web Server。 这样应用本身就可以提供 HTTP 服务,例如: 本地 REST API Web Admin 管理后台 WebView Hybrid App 局域网设备控制 PWA 离线系统 在 .NET 生态中,我们可以利用 .NET MAUI + PicoServer 实现这一架构。 本系列将通过完整实战,构建一套 MAUI 嵌入式 Web 架构体系。 通过这个系列,你将学会: 在 MAUI 中运行本地 Web Server 构建 REST API 框架 开发 Web Admin 管理后台 构建 Hybrid App 架构 实现 PWA 离线系统 本篇作为系列第一篇,将首先完成最基础的一步: 在 MAUI 应用中运行 PicoServer 本地 HTTP 服务。 一、核心架构 在 MAUI 中嵌入 Web Server 后,应用架构会变成: Browser / WebView │ │ HTTP ▼ PicoServer │ Local REST API │ MAUI App 也就是说: MAUI 应用不仅是客户端,同时也是一个 Web 服务端。 这种架构的优势非常明显: 优势 说明 跨平台 Windows / Android / iOS 本地 API WebView 直接调用 开发简单 Web 技术构建 UI 扩展性强 可构建完整 Web Admin 后续章节中,我们会逐步扩展这一架构。 二、技术简介 1 .NET MAUI .NET MAUI(Multi-platform App UI)是微软推出的跨平台应用开发框架,用于构建: Windows Android iOS macOS 应用程序。 开发者可以使用: C# XAML 构建跨平台 UI,并共享大量业务代码。 .NET MAUI 的核心特点包括: 单一项目结构,多平台编译 原生性能 深度整合 .NET 生态 支持 WebView / Blazor / ASP.NET Core 官网: https://dotnet.microsoft.com/en-us/apps/maui PicoServer PicoServer 是一个基于 .NET 的轻量级嵌入式 Web 服务器组件。 它的设计目标是: 在应用程序内部快速启动 HTTP 服务。 PicoServer 基于 HttpListener 实现,具有以下特点: 轻量级嵌入式 Web Server 支持 HTTP 路由映射 适合本地 API 支持 Web Admin 支持局域网访问 典型应用场景包括: 本地设备控制接口 Web 管理后台 Hybrid App API 调试接口 官网: https://picoserver.cn 三、在 MAUI 中嵌入 PicoServer 下面我们通过一个简单示例,演示如何在 MAUI 应用中运行 PicoServer。 配套源码: https://github.com/densen2014/MauiPicoAdmin 四、创建 MAUI 项目 首先创建一个标准 MAUI 项目。 在 Visual Studio 中: File → New Project → .NET MAUI App 创建后会得到一个默认示例页面。 示例页面如下: 五、安装 PicoServer 接下来通过 NuGet 安装 PicoServer。 操作步骤: 1 右键项目 2 管理 NuGet 包 3 搜索 PicoServer 4 点击安装 六、启动 PicoServer 接下来我们在应用启动时运行 PicoServer。 打开文件: MauiProgram.cs 在 MauiApp.CreateBuilder() 之前加入: var picoAdmin = new PicoAdmin(); 这样在应用启动时就会运行 PicoServer。
阅读全文