WASM·技术趋势

2021年9月22日 270点热度 0人点赞 0条评论
图片

今天看到一则故事,一名程序员@Andreas Kling 辞掉工作,全职开发操作系统。正如其签名档一样:I like computers!

对技术的热爱已经超越了工作本身,完全是兴趣所在图片

图片

shadow

图片

Andreas

Kling

I quit my job to focus on SerenityOS full time

图片

ace

图片作为无边界学习爱好者,我们需要时刻留意技术的发展趋势~~


图片


图片
图片

Adrian

Mouat

hi~大家好,我是Container Solutions的Chief Scientist,给大家分享一些关于云计算未来的观点:

WASM将无所不在:编译、部署、IoT、插件生态系统;
Rust 编程语言的将流行,未来几年有望在 RedMonk 排行榜上超过 Go;
有可能会出现百亿级、利用智能合约奴役全人类的 AI 公司;
AI 的发展有可能在多个行业中造成大规模的破坏,会导致大量工作岗位消失(如卡车司机);
GPT3 类的助手将广泛被使用,艺术家、作曲家、作家、程序员、设计师都会使用,AI帮助我们高效地自动完成所有事情;

有点意思,今天我重点解读下WASM~~

图片

shadow

WebAssembly

2021.9.22

WASM

图片

简称 Wasm,是一种为栈式虚拟机设计的二进制指令集。Wasm 被设计为可供类似C/C++/Rust等高级语言的平台编译目标,最初设计目的是解决 JavaScript 的性能问题。webassembly.org

#增强web应用
WebAssembly是一种新的编码方式,可以在现代的网络浏览器中运行,它是一种低级的类汇编语言,一种二进制格式,可以接近原生的性能运行。
WASM 的启动时间比 V8 快,并且能够在具有少量内存和存储(可能低于 1GB 内存和 50MB 存储)的物联网设备上运行。
对于web而言,WebAssembly具有巨大的意义:使得以各种语言编写的代码都可以以接近原生的速度在Web中运行。以前无法以此方式运行的客户端软件都将可以运行在Web中。列举两个案例:
图片
TensorFlow.js
官方团队实现了在 WebAssembly 中使用 SIMD 和多线程来增强 TensorFlow.js
 
图片
FFMPEG
著名的音视频库。使用C写的 FFMPEG 导出了 WebAssembly 格式,从而使 FFMPEG 可以在浏览器中运行。
 
 
#走出浏览器,进入云端
最初WebAssembly仅支持在浏览器内部使用。近些年,已经逐步扩展,在浏览器之外,通过WASI(系统接口)来实现,从而在服务器也可以使用WASM。
 
引用Docker联合创始人Solomon Hykes(2019年3月27日)在宣布 WASI 时发推文所说的一句感想。
 
图片

Solomon

Hykes

如果2008年存在WASM+WASI,我们就不需要创建Docker。

可以大胆地说,服务器上的 Webassembly 是计算的未来。

图片

shadow

 
#跨语言支持
WebAssembly可以从以下语言编译而成:C/C++、Rust、AssemblyScript、C#、F#、Go、Kotlin、Swift、D、Pascal、Zig、Grain。
 
图片

无界

引用我超喜欢程序猿的一句diss用语:

Talk is cheap ,    
show me the code

个人比较推荐学习rust来上手wasm ,@无界 看完以下的项目,你会喜欢上rust吗?

图片

shadow

# Rust
这是知乎上的一个问题:写wasm项目选C++还是Rust?
一般我会查找awesome来全面了解某个topic,比如awesome-rust。经过一番查找,挑选一些rust非常好玩的开源项目分享给大家~~
 
Veloren
使用Rust写的多人RPG游戏
It is inspired by games such as Cube World, Legend of Zelda: Breath of the Wild, Dwarf Fortress and Minecraft.
图片
veloren.net
 
citybound
这是一个城市建设游戏,使用微观模型生动地模拟城市中数百万人相互作用产生的有机体。
A city building game that uses microscopic models to vividly simulate the organism of a city arising from the interactions of millions of individuals.

图片

图片

aeplay.org/citybound

 
 
valora
rust开发的生成艺术代码库
A brush for generative fine art.

图片

github.com/turnage/valora

 

 

Linfa
机器学习库,这个我非常喜欢
A comprehensive toolkit for Statistical Learning in Rust.

图片

rust-ml.github.io/linfa

 

 
AmethystGame Engine
使用rust写的游戏引擎
Data-driven game engine written in Rust

图片

amethyst.rs

 
 
bevy
另一款游戏引擎
A refreshingly simple data-driven game engine built in Rust
Free and Open Source Forever!

图片

bevyengine.org

github.com/bevyengine/bevy

 


 
img_hash
感知哈希算法(perceptual hash algorithm),它的作用是对每张图像生成一个“指纹”(fingerprint)字符串,然后比较不同图像的指纹。结果越接近,就说明图像越相似。
A Rust library for calculating perceptual hash values of images
github.com/abonander/img_hash
 
tesseract.js
著名的OCR库,通过rust实现了js版本~
Pure Javascript OCR for more than 100 Languages

图片

github.com/naptha/tesseract.js

 

图片

opus

感谢今天的#趋势 分享
?✖️❤️

我来总结下本次分享的重点:

- 增强web应用

- wasm走出浏览器,进入云端

- 跨语言支持,重点推荐学习rust

如果对以上话题感兴趣

??‍?????‍??????‍?

欢迎加入社群,当然还有设计方向的活动:

超越“门票”的门票-设计挑战赛

关注后回复:群聊   ⤵️

图片

40930WASM·技术趋势

这个人很懒,什么都没留下

文章评论