BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Jeff Martin 关注 16 他的粉丝 ,译者 盖磊 关注 2 他的粉丝 发布于 2018年4月24日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

看新闻很累?看技术新闻更累?试试下载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.Wasm和Ooui.Forms的引用。然后使用通常使用的dotnet去构建应用,就可以部署应用了。进而,通过使用dotnet-server,或是将dist目录中的文件拷贝到任何一种可提供静态文件的Web服务器,你就可以测试所用的代码。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

翻译有误 by eagle xiang

“并将引用添加到Ooui.Wasm和Ooui.Forms中。”此句应该是“并添加对Ooui.Wasm和Ooui.Forms的引用”。意思完全反了。

Re: 翻译有误 by Rays InfoQ

我是本文译者。

感谢你的指正。在Krueger给出的创建WebAssembly例子(praeclarum.org/)中,是这样使用的:

dotnet add package Ooui.Wasm

的确如你所指出,应该是添加对Ooui.Wasm的引用。我们将采用你的译句更新原文。

再次感谢!

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT