探究webassembly(1):初认识
来源:互联网 发布:js有集合吗 编辑:程序博客网 时间:2024/06/11 21:46
这是一篇总览文章,所以在用词方面尽量追求简短有力,我将在接下来的几篇文章中进行详细的解析
如果说集合了各种Web规范的编程语言是JavaScript,那么我会认为它更类似于一个 集合了各种Web规范的编译器,帮助你把各种语言编译成Web上执行的代码,官网称之为 format suitable for compilation- 一种合适的编译格式
2.优点
个人认为其有两个突出的优点:
(1):可以将各种语言编译成在web上执行的代码(目前好像只支持C和C++)
(2):逼近原生APP的性能(构想,目前来看还有一段距离)。
3.开发
目前我认识的有两种主要方式来进行webassembly开发:
(1):使用官方的webassembly文本开发,然后用编译成webassembly(类似于C++的源程序用编译器编译到C++的可执行程序?)
(2):
各种语言(例如TypeScript,C)
->LLVM bytecode (理论上所有强类型编程语言均可以生成的跨语言的底层虚拟机字节码)
->asm.js(本质还是JS,当浏览器不支持webassembly的时候,会回退使用asm.js获得一致的结果)
->webassembly
当然目前还是推荐使用emscripten进行开发,它可以直接生成wasm或者已经帮你完成胶结的JS文件
4.使用
从资料上来看,受限于目前的webassembly发展水平,目前大部分使用webassembly的场景都是基于JS,作为JS代码的补充,一种调用方式是设计成接口让JS去调用,实际上我发现这种方式消耗性能严重,比起jit并没有特别大的优势(在电脑版谷歌上测试只快了20%),所以建议用共享内存的方式来和JS进行交互
阅读全文
0 0
- 探究webassembly(1):初认识
- 探究webassembly(2):性能探究和实验分析
- WebAssembly
- Openstack Trove探究(1)- 从API认识trove
- WebAssembly基础
- Emscripten-WebAssembly
- 【1】HTML初认识
- 1_JVM_初认识
- bash初认识(1)
- Django-1初认识
- WebAssembly入门介绍书目录
- WebAssembly,开发者赢了
- PNaCl 再见,WebAssembly 你好!
- Python探究之旅—Python语言的基本认识
- Struts2初认识(1)
- WebAssembly,Web的新时代
- WebAssembly,Web的新时代
- WebAssembly,Web的新时代
- Team them up! UVA
- MySQL中的数据类型和Java中的对应
- Netty源码 Recycler 对象池全面解析
- hadoop执行mapreduce过程reduce不执行原因
- Samba文件共享
- 探究webassembly(1):初认识
- 文本文件与二进制文件的读写
- Faster-RCNN训练修改
- Java 六大时间类
- Linux系统查看系统是32位还是64位方法总结
- Java语言基础组成(下)
- hdu1068 Girls and Boys
- JAVA工程师面试笔试必问题目--包含JAVA 基础JVM操作系统网络架构设计分布式算法数据等
- 【浏览器】Firefox那些事——扩展、插件、脚本、附加组件