Gradio.NET 支持 .NET 8,能简化 Web 应用开发到什么程度?

摘要:前言 Gradio.NET 是 Gradio 在 .NET 平台上的移植版本。Gradio 是一个开源的 Python 包,用于快速构建机器学习模型、API 或任意 Python 函数的演示或 Web 应用程序。 Gradio.NET 继承
前言 Gradio.NET 是 Gradio 在 .NET 平台上的移植版本。Gradio 是一个开源的 Python 包,用于快速构建机器学习模型、API 或任意 Python 函数的演示或 Web 应用程序。 Gradio.NET 继承了 Gradio 的核心理念,以.NET 开发习惯和熟悉的方式进行Web应用开发,其主要特点包括: 易用性:只需几行 .NET 代码即可创建功能完善的用户界面。 灵活性:支持多种类型的输入和输出,包括文本、图像、音频等。 一键分享:轻松生成访问链接,方便进行测试和使用。 集成支持:能够无缝集成到主流的 .NET 框架和库中,如 ASP.NET Core 和 Entity Framework,加速开发和部署流程。 总而言之,Gradio.NET 是一个强大的工具,极大地简化了创建和分享界面的过程,使我们能够专注于业务逻辑而无需担心复杂的前端开发工作。 Gradio.NET Gradio.NET 是一个基于 Gradio 的 .NET 实现,我们无需掌握任何前端技术(如 JavaScript、CSS 或 HTML),仅用几行 .NET 代码就能快速构建机器学习模型、API 或任意函数的演示或 Web 应用程序。 通过 Gradio.NET,可以轻松创建美观的交互式 Web 界面,无需前端开发经验。 Gradio.NET 使用 1、创建项目 创建一个新的 .NET 8 WebAPI 标准项目,选择启用 OpenAPI 支持和使用控制器; dotnet new webapi -n ManageCore.Api cd ManageCore.Api 2、安装 Gradio.Net 安装 NuGet 包Gradio.Net.AspNetCore这个包。 3、示例代码 在 Program.cs 中输入以下示例代码: App.Launch(await CreateBlocks()); ​ async Task<Blocks> CreateBlocks() { using (var blocks = gr.Blocks()) { gr.Markdown("开始在下面键入,然后点击**运行** 查看输出结果."); Textbox input, output; using (gr.Row()) { input = gr.Textbox(placeholder: "你叫什么名字?"); output = gr.Textbox(); } var btn = gr.Button("运行"); await btn.Click(fn: async (input) => gr.Output($"欢迎使用 Gradio.Net, {input.Data[0]}!"), inputs: new[] { input }, outputs: new[] { output }); ​ return blocks; } } 运行结果如下图所示: 如果想在现有项目中使用 Gradio.NET 可以使用AddGradio和 UseGradio扩展方法: var builder = WebApplication.CreateBuilder(args); builder.Services.AddGradio(); ​ var app = builder.Build(); ​ app.UseGradio(await CreateBlocks()); ​ app.Run(); Gradio.NET 示例 1、Layout Gradio.NET 常用的布局方式都包括:Row/Column、Tab、Group、Accordion等。
阅读全文