WASM·技术趋势

今天看到一则故事,一名程序员@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

(0)

相关推荐

  • 解读 WebAssembly 的 2020:Web 以外的进展与计划

    来源 | bytecodealliance.org 整理 | 于航 策划 | 蔡芳芳 本文是 InfoQ"解读 2020"年终技术盘点系列文章之一. 大约一年前,"字节码 ...

  • 去中心化计算的未来:通过 RPC 从微服务过渡到 WASM

    在另外一篇文章<区块链.硬件与面向服务的架构,WASM 即将迎来大爆发?>,里面有绝佳的浏览器内的 WASM 应用程序示例,并辅以了对WebAssembly(Wasm)的详细解释. 但正如 ...

  • 诚之和:怎么快速实现命令行提示

    本篇内容介绍了"怎么快速实现命令行提示"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所 ...

  • 「技术分享」WebAssembly能否重新定义前端开发模式?

    如果提及近年来让人最为兴奋的新技术,非WebAssembly 莫属.作为一种低级的类汇编语言,WebAssembly以紧凑二进制的格式存储,为C/C++, Rust等拥有低级内存的模型语言提供了新的编 ...

  • Go1.17.2 发布暨 WebAssembly 入门教程

    昨天凌晨,Go 官方发布了 Go1.17.2 和 1.16.9,这是两个小版本,重要修复一个安全问题. 从使用 GOARCH=wasm GOOS=js 构建的 WASM 模块调用函数时,传递非常大的参 ...

  • WebAssembly 入门

    Wasm 是什么? MDN 官方文档[1]是这样给出定义 WebAssembly(为了书写方便,简称 Wasm)是一种新的编码方式,可以在现代的网络浏览器中运行 - 它是一种低级的类汇编语言,具有紧凑 ...

  • 2021十大技术趋势白皮书

    转载自:物联网报告中心

  • YES!数字新基建风口,这十大技术趋势必然要火!

    "十四五"规划,将建设数字中国作为了其中重要的发展方向. 数字化转型与升级,将加速融入到百行百业,未来5年正处于数字新基建风口,5G.云原生.人工智能.数字孪生等新兴技术使能,并且 ...

  • 2021十大技术趋势观点白皮书:洞察数字技术发展大势,35页pdf

    日前,紫光股份旗下新华三集团(以下简称:新华三)聚焦前沿技术发布了<新华三2021十大技术趋势观点白皮书>(以下简称:白皮书),新华三通过白皮书展现了其引领业界的前瞻洞察,并结合自身深厚的 ...

  • 青山遮不住——2020的10大技术趋势

    很多时候,对某种趋势的预测往往被归到了娱乐圈.但是,趋势是客观存在的,不论你看不看它,知不知道它,它都在那里.有时候,我们赢得了竞争,却输给了整个时代. Gartner每年一度的技术趋势预测有一定的代 ...

  • 12个颠覆性技术趋势对营销策略的影响

    哈佛大学教授James Culliton在1948年发表的一篇文章中描述了营销领导者,这篇文章为经典4P(价格.产品.促销和场所)营销模式奠定了基础. 而2018年的市场领导者是一位现代化的炼金术士, ...

  • L4级自动驾驶系统的技术趋势及难点

    美国汽车工程师协会(SAE)根据系统对于车辆操控任务的把控程度,将自动驾驶技术分为L0-L5,系统在L1~L3级主要起辅助功能:当到达L4级,车辆驾驶将全部交给系统,而L4.L5的区别在于特定场景和全 ...

  • 2021最受关注十大商业技术趋势

    2021年的技术发展在某种程度上会是2020年的延续,我们的许多新行为在2021年将成为新常态的一部分.以下是<Inc.Magazine>发布的2021年十大商业技术趋势. 1.先进的测试 ...

  • 你不可不知的九大技术趋势,每条都会影响企业发展!

    市场研究机构Gartner每年都会公布企业需要为之做好准备的顶级战略性技术发展趋势.今年Gartner认为,企业需要接受颠覆性变革将成为常态这一事实,并将重点放在架构弹性上. Gartner在IT论坛 ...

  • 浅谈C++技术趋势

    作为通用编程语言,C++很快就会从它们的语言中消失,但是C++仍然会被大量使用,尤其是在操作系统层和底层开发(如嵌入式设备和驱动开发).某些高性能应用程序以及那些用.NET或Java开发起来太过繁琐的 ...