转载

Ooui:在浏览器中运行.NET应用

看新闻很累?看技术新闻更累?试试 下载InfoQ手机客户端 ,每天上下班路上听新闻,有趣还有料!

在过去数年中,桌面应用开发人员一直处境艰难,因为人们的主要关注点聚焦于Web和移动应用。由于Microsoft未来Windows平台的计划未定,并且UWP应用也没有突破性进展,因此技术落伍的责任也不应由.NET开发人员来承担。当前迫切需要解决的挑战,是提供一种可运用这些开发人员在C#上知识积累的新方式。

这正是近期一些在浏览器上使用C#的工作吸引关注之处。今年早期,Microsoft宣布他们对Blazor的支持。最近,Frank A. Krueger宣布开发完成Ooui软件库。Ooui支持将C#或F#用于编写可运行在浏览器中的应用。Ooui支持以 WASM 为编译目标,这样 Xamarin.Forms 应用就可以部署到WebAssemly中,无需应用服务器即可完全运行在浏览器中。

据Krueger介绍,WASM并非唯一受支持的平台,其它可用的编译目标还包括使用ASP.NET Core的Web DOM、WebAssembly以及Ooui内建的Web服务器。技术的底层工作机制如下:对于WebAssembly项目,所有的Web浏览器与应用间通信发生在进程内。对于其它项目,则使用WebSockets进行“浏览器-应用”间通信,以保持UI和应用状态的同步。

Krueger还给出了一些概念验证演示,有效地展示了上述理念。其中包括一个基本的 XAML编辑器 ,演示了如何实现浏览器内的XAML编辑,并实时显示更改情况。此外,演示中还提供了一组 样例代码 ,展示了 Xamarin.Forms 和基本Web控件的使用。

上手Ooui开发非常简单。你首先需要在.NET Core中新建一个Console应用,并将引用添加到 Ooui.WasmOoui.Forms 中。然后使用通常使用的dotnet去构建应用,就可以部署应用了。进而,通过使用 dotnet-server ,或是将 dist 目录中的文件拷贝到任何一种可提供静态文件的Web服务器,你就可以测试所用的代码。

查看英文原文: Running .NET in the Browser with Ooui

原文  http://www.infoq.com/cn/news/2018/04/net-browser-ooui
正文到此结束
Loading...