2023年你有什么学习计划?我计划要学习一门新技术WebAssembly!为什么要学习WebAssembly? 2019年,Docker创始人SolomonHykes发布了一条推特在业界引起了轩然大波(见下面的推文),他说如果2008年WebAssembly和WASI就存在的话,他就没必要创建Docker。一时间,关于WebAssembly取代Docker的讨论此起彼伏。也是从那时起,WebAssembly正式进入我的视线。IfWASMWASIexistedin2008,wewouldnthaveneededtocreatedDocker。Thatshowimportantitis。Webassemblyontheserveristhefutureofcomputing。Astandardizedsysteminterfacewasthemissinglink。LetshopeWASIisuptothetask!https:t。cownXQg4kwa4 SolomonHykesshykeshachyderm。io〔1〕 (solomonstre) March27,2019 到了2021年,网上突然多了很多关于WebAssembly的炒作文章,包括我长期关注的Istio也在当年发布的1。12版本开始支持WebAssembly(见Istio1。12引入Wasm插件配置API用于扩展Istio生态〔2〕),通过引入WasmPlugin〔3〕API,使开发人员更方便扩展服务网格和网关。 最近我看到一篇介绍WebAssembly在2023年有哪些新趋势的文章〔4〕,文章的作者MattButcher颇有来头,他是WebAssemblyCloud公司Fermyon的联合创始人和CEO,也是Helm、Brigade、CNAB、OAM、Glide和Krustlet的原始创建者之一。通过他的介绍让我笃定,WebAssembly是一门颇有前景的技术,是时候学习它了。WebAssembly的市场前景 更何况WebAssembly的应用领域越来越广,像WasmEdge〔5〕这样的公司正在使用Tensorflow来突破可以使用Wasm运行的边界。Fermyon〔6〕正在构建用于微服务的WebAssembly工具,而Vercel〔7〕、Fastly〔8〕、Shopify〔9〕和Cloudflare〔10〕使用WebAssembly在边缘运行代码。Figma〔11〕(2022年以200亿美元被Adobe公司收购)正在使用WebAssembly为其应用程序在浏览器中提供更高的性能,而他们的新母公司Adobe〔12〕正在使用WebAssembly将他们的桌面应用程序带到Web。如何学习WebAssembly? 为了学习WebAssembly,我制定了以下学习目标: 1。了解WebAssembly的基本概念,包括它是什么、为什么要使用它、如何在浏览器中运行它; 2。学习WebAssembly的语言,这是一种类似于汇编语言的低级语言,可以编译成二进制文件; 3。使用工具将代码编译成WebAssembly格式; 4。在JavaScript中调用WebAssembly模块; 5。学习WebAssembly的其他特性,如内存管理、多线程和WebAssemblySystemInterface(WASI); 6。了解WebAssembly如何增强安全防护; 7。学习WebAssembly的最佳实践,如代码优化和调试; 8。在Istio中开发WebAssembly插件; 9。学习使用WebAssembly开发的开源项目;WebAssembly参考资料 下面列出了一些有助于学习WebAssembly的参考资料,包括网站和图书: WebAssembly官网〔13〕 WebAssembly教程〔14〕 WebAssembly在线编译器〔15〕 WebAssembly学习资源〔16〕 《WebAssembly:权威指南:安全、快速和可移植的代码,第1版,2022年1月》〔17〕 wazero:thezerodependencyWebAssemblyruntimeforGodevelopers〔18〕总结 WebAssembly不仅是用于浏览器端有效弥补JavaScript缺陷的一门技术,凭借它的小巧、高效和可移植性在后端也会有很广泛的应用。2023年,让我们一起来学习WebAssembly吧!我也会适时得在云原生社区中创建Wasm学习小组,欢迎大家加入云原生社区〔19〕共同交流学习。参考 Istio1。12引入Wasm插件配置API用于扩展Istio生态cloudnative。to〔20〕 在Istio中引入Wasm意味着什么?cloudnative。to〔21〕 2023年WebAssembly技术五大趋势预测cloudnative。to〔22〕引用链接 〔1〕shykeshachyderm。io:mailto:shykeshachyderm。io 〔2〕Istio1。12引入Wasm插件配置API用于扩展Istio生态:https:cloudnative。toblogistiowasmextensionsandecosystem 〔3〕WasmPlugin:https:istio。iolatestdocsreferenceconfigproxyextensionswasmplugin 〔4〕文章:https:cloudnative。toblogwebassembly5predictionsfor2023 〔5〕WasmEdge:https:wasmedge。org 〔6〕Fermyon:https:www。fermyon。com 〔7〕Vercel:https:vercel。comdocsconceptsfunctionsedgefunctionswasm 〔8〕Fastly:https:docs。fastly。comproductscomputeatedge 〔9〕Shopify:https:shopify。engineeringshopifywebassembly 〔10〕Cloudflare:https:developers。cloudflare。comworkersplatformlanguages 〔11〕Figma:https:www。figma。comblogwebassemblycutfigmasloadtimeby3x 〔12〕Adobe:https:web。devpsontheweb 〔13〕WebAssembly官网:https:webassembly。org 〔14〕WebAssembly教程:https:developer。mozilla。orgzhCNdocsWebAssembly 〔15〕WebAssembly在线编译器:https:wasdk。github。ioWasmFiddle 〔16〕WebAssembly学习资源:https:webassembly。orggettingstarteddevelopersguide 〔17〕《WebAssembly:权威指南:安全、快速和可移植的代码,第1版,2022年1月》:https:www。amazon。comWebAssemblyDefinitiveGuideSafePortabledp1492089842 〔18〕wazero:thezerodependencyWebAssemblyruntimeforGodevelopers:https:wazero。io 〔19〕加入云原生社区:https:cloudnative。tocommunityjoin 〔20〕Istio1。12引入Wasm插件配置API用于扩展Istio生态cloudnative。to:https:cloudnative。toblogistiowasmextensionsandecosystem 〔21〕在Istio中引入Wasm意味着什么?cloudnative。to:https:cloudnative。toblogimportanceofwasministio 〔22〕2023年WebAssembly技术五大趋势预测cloudnative。to:https:cloudnative。toblogwebassembly5predictionsfor2023