Ooui:在浏览器中运行.NET应用 Ooui.Wasm:浏览器中的.NET
在过去数年中,桌面应用开发人员一直处境艰难,因为人们的主要关注点聚焦于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
本文永久更新链接地址:https://www.linuxidc.com/Linux/2018-04/152024.htm
Ooui.Wasm:浏览器中的.NET
小型.NET Web框架Ooui作为Web程序集(WASM)在浏览器中完全运行 – 不需要服务器端的交互,涉及的所有文件都直接从浏览器执行,.NET Web框架Ooui可以作为其开发人员Frank A. Krueger承诺Xamarin.Forms应用程序在浏览器中完全运行。.NET开发人员获得更多选择来交付他们的应用 作为一个小型的演示,Krueger将XAML编辑器在线,这是使用Xamarin.Forms创建的
基于mono团队的工作,OOui可以使用.NET Standard 2.0的库进行编程,并且完成的应用程序可以在所有现代浏览器中运行,包括移动设备中的浏览器。OOui开发人员Frank A. Krueger 在这篇博文中了解更多信息
Ooui:在浏览器中运行.NET应用 Ooui.Wasm:浏览器中的.NET的更多相关文章
- 应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户
这是安装biztalk server 2013出现的问题,很多天了没解决,下边这个解决办法也搜到过类似的,但上次实验时出现设置组件权限时发现都是按钮都是灰的,无法操作. 这次设置好了.谢谢ibg. 文 ...
- 程序日志-应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为 {D63B10C5-BB46-4990-A94F-E40B9D520
应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-1 ...
- 应用程序-特定 权限设置并未向在应用程序容器不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户...的 COM 服务器应用程序的 本地 激活 权限。此安全权限可以使用组件服务管理工具进行修改。
很久以前发现我们的业务服务器上出现一个System的系统严重错误,查找很久都没有找到解决办法,今日再次查看服务器发现报错更频繁,于是就搜集各种资料进行查找解决办法,终于找到了一个解决办法. 错误截图介 ...
- Nodejs的安装配置及如何在sublimetext2中运行js
Nodejs的安装配置及如何在sublimetext2中运行js听语音 | 浏览:4554 | 更新:2015-06-16 11:29 Nodejs的安装配置及如何在sublimetext2中运行js ...
- 下载uboot的调试版本到开发板的sdram中运行
开发环境:开发板:FriendlyARM Tiny6410 主机:CentOS release 6.4 (Final) 开发板与主机通过串口线连接 调试用的uboot源码为开发板光盘提供的u-boot ...
- sqlmap文件在tomcat7中运行报错原因及<![CDATA[ ]]>
sqlmap在eclipse中运行,好好的.放到tomcat7中抛出如下异常: Caused by: java.lang.RuntimeException: Error occurred. Cause ...
- iOS-C文件添加到iOS项目中,运行报错
iOS-C文件添加到iOS项目中,运行报错 问题: 往项目中添加一个空的c文件, 编译运行; 出现2,30个编译错误. 原因: 由于在项目中添加了Pch文件,在文件中所有代码还没有开始运行之前, pc ...
- Windows10下的docker安装与入门 (三) 创建自己的docker镜像并且在容器中运行它
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- 在Docker中运行EOS(MAC版)
在Docker中运行EOS(MAC版) 在Docker中也可以简单快速的构建EOS.IO.笔者在Mac平台下参考官方文档躺了一次河.记录如下: 安装依赖 Docker 版本 17.05或者更高 tes ...
随机推荐
- iOS 带箭头菜单选项弹窗LFPopupMenu
一.效果图 由于是模拟器缩得比较小,一些细线可能显示不出来,不是bug哈. 二.用法 LFPopupMenuItem *item1 = [LFPopupMenuItem createWithTitle ...
- bcp功能
#include "MyBCP.h" #include "odbcss.h" //1,Allocate an environment handle and a ...
- iOS-Runtime、对象模型、消息转发
Objective-C只是在C语言层面上加了些关键字和语法.真正让Objective-C如此强大的是它的运行时.它很小但却很强大.它的核心是消息分发. Message 执行一个方法,有些语言.编译器会 ...
- C#读取Windows日志
管理-->事件查看器 可以查看[应用程序].[安全].[系统]等分类的日志 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 ...
- SDK里报错[NSConcreteMutableData wbsdk_base64EncodedString]
百度一大堆都说在这个里加个-ObjC,然后加了还是有问题 最近谷歌了下才要加入这个才正常了,国内的开发者只是一知半解的………… 如果错误还没有解决, 下面这个可以帮到你:
- python2和python3的编码问题
python2中有两种类型 str字符串和unicode字符串 python3则改成了 bytes和str字符串 在python2中‘xxx’和b‘xxx’都是str字符串,u‘xxx’是unicod ...
- http://www.blogjava.net/xylz/archive/2010/07/08/325587.html
http://www.blogjava.net/xylz/archive/2010/07/08/325587.html
- Cocos2d-x3.0游戏实例之《别救我》第七篇——物理世界的碰撞检測
事实上我也非常吃惊-居然写到第七篇了,我估计也就是四篇的内容,感觉非常奇妙,我也不会非常唠叨什么吖); // 0001 ); // 0001 ); // 0001 这样我们才干监听到它们的碰 ...
- datagrid MAC和VPNIP显示不出来,Time显示错误的问题
之前出错时也没截图,大致说一下. 这是现在运行成功的界面: 开始时间界面出现的是时间是原始值,即1970年1月1日午夜以来的毫秒数,类似于这样:1523786314827 因为我这里是调用的函数读取m ...
- 可以ping通虚拟机但不能telnet 9000端口
突然发现eclipse不能连上虚拟机了,报错是本机连接不上9000的端口. 觉得有点奇怪,就在命令行里试图ping通虚拟机,成功:但尝试这telnet 9000端口的时候,却报错连接不上. 上网查了这 ...