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等。
