.Net与 WebAssembly 随笔

WebAssembly 是啥html

  • - WebAssembly 是一种浏览器支持的字节码格式,WebAssembly 字节码和底层机器码很类似可快速装载运行,所以性能相对于 JS 解释执行大大提高,须要放到 WebAssembly 虚拟机中才能运行, 浏览器厂商须要作的就是根据 WebAssembly 规范实现虚拟机。使用WebAssembly,咱们能够在浏览器中运行一些高性能、低级别的编程语言,可用它将大型的C和C++代码库好比游戏、物理引擎甚至是桌面应用程序导入Web平台。
  • - 能够认为, WebAssembly 是传统浏览器插件的妥协结果。覆盖率最广的flash本身做死,由于性能和安全问题被apple拿下,其它的activeX/silverlight/javaApplet/ 又因浏览器或其它限制作不到全平台覆盖。那就用html5吧,但html5+js的性能又不行,那么你们就坐下来商量一个通用二进制插件,WebAssembly就横空出现了。
  • - WebAssembly如今限制还有不少,如不能用线程、无垃圾回收等。和html5同样,WebAssembly标准也会有一个耗时持久的扯皮过程。此外,WebAssembly 还有安全限制,它是运行在浏览器沙箱中的。另外,开发环境/调试等问题涵待慢慢解决。
  • - 现阶段 WebAssembly 适合作些依赖网络的应用(如视频播放、游戏、工具应用),不适合作操做系统相关的、操做硬件、并发线程的、体积庞大的相似的应用。
  • - WebAssembly的前世此生能够参考:https://blog.csdn.net/GarfieldEr007/article/details/68215694

 

 

.Net与 WebAssemblyhtml5

(1)https://github.com/aspnet/Blazor  java

  •     该项目支持在Web客户端运行.net代码,语法同razor。
  •     与silverlight不一样,它不涉及UI部分,全部的UI都由Html标签呈现
  •     Blazor引擎将C#程序编译成WebAssembly,能够用c#代码来操做页面元素
  •     理论上加一个封装器,很容易改形成各类平台的客户端,能够这种方式作到跨平台。

(2)Unity 3D 能够编译成WebAssemblygit

  这里有一个很酷的示例,原先Unity在web上是用UnityPlayer或flash插件实现的,如今用WebAssemblygithub

      https://webassembly.github.io/demoweb

相关文章
相关标签/搜索