基于WebAssembly的工业软件,正在实现“云超车”

来源:东方网
2022-07-30 13:53:37
分享

WebAssembly 无疑是近年来让人最为兴奋的新技术之一。它最早是在 2015 年由 JavaScript 的创造者 Brendan Eich 提出的,并迅速被各大主要的浏览器支持,日趋成为一种主流技术。一些重磅的软件应用通过WebAssembly技术逐渐移植到Web上,为软件“云化“提供了技术支撑和便利。

软件云化势不可挡,作为突破当下“卡脖子”困境的刚需,工业软件在加速布局云化赛道的过程中,WebAssembly将会起到怎样关键的作用?又将为云工业软件打开哪些机会窗口?

01

解码WebAssembly 为什么它是面向未来的技术?

从定义上来说,WebAssembly是一种将用编程语言编写的代码(如rust/C/C++/Go等)转换为浏览器可理解的机器代码的技术,它具有体积小,性能高,安全性高的特点,使得大型应用程序能够通过网络快速平稳地运行。速度快,效率高,再加上用户无需下载或安装就可以进行交互,用户成本低,这就是为什么 WebAssembly 会被迅速接纳并广泛使用。

作为一种代码的编译技术,WebAssembly可以解决脚本语言无法解决的性能问题,这是它的最大优势。

长期以来,脚本语言的性能一直被人诟病,进行高密度计算更是奢望,这成为限制脚本语言的天花板。WebAssembly出现后,脚本语言可以利用它实现更高的性能——应用程序的效率会更高,响应速度也会更快,这将大大改善用户体验。

此外,WebAssembly天生拥有跨平台的特性,想象一下:你可以使用任何编程语言构建软件,在 Web 浏览器中无需安装就可以直接使用软件,并且性能媲美原生软件。在减少了开发成本的同时,也为语言之间的结合提供了一种高效的方式。

WebAssembly的优越性还体现在,它利用浏览器提供一种其它语言无法比拟的安全沙盒环境,使得应用程序代码在内存安全的沙盒环境中运行,可以防止安全漏洞和数据损坏。这为解决用户关注的数据安全问题提供了一项其他语言无法提供的关键优势。因此,WebAssembly也将成为Web3.0时代的核心安全技术之一。

在实际的工业化落地中,区块链、游戏及图像视频等多个领域都正依靠 WebAssembly 创造出让人称赞的软件应用产品,包括Autodesk、Google Earth、Figma等知名软件都在运用这个技术构建更优秀的浏览器体验。

其中,我们熟知的Adobe公司在推出云化、轻量化的Photoshop网页版时,同样运用了WebAssembly 作为关键底层技术——将现有的大部分Photoshop 代码库直接移植到 Web 上,不必完全从头开发,让推出网页版的难度大大降低。

02

WebAssembly为工业软件上云造了一把“梯子”

随着云时代的到来,云计算技术让软件应用的开发与使用变得更加灵活、安全、低成本,软件云化已成为大势所趋。我们将目光投向更加细分的工业软件领域,在云计算成为“水电燃气”般普遍存在的今天,工业软件的“云化”越来越被认可与接纳。

“云化”是工业软件走向轻量化发展的重要方式。包括西门子、Autodesk等海外工业软件巨头已纷纷带头做相关布局,国内市场工业软件的“云化”趋势也有明显进展,以用友、金蝶为代表的老牌厂商也推出了云SaaS服务。业内人士认为,云化的工业软件国内外正站在同一“起跑线”上。

WebAssembly 技术的诞生,可以说为工业软件“上云”提供了一把更加便捷的“梯子”。其中,云工业软件企业三维家在运用WebAssembly 技术上,就做了不少前瞻性的尝试。

诞生于2013年,当时正值云计算在国内起步,三维家将“云”的基因融入到产品设计理念中,自研基于web的图形引擎,并且在基于云的建模内核之上,融入大数据、AI人工智能等前沿技术,打造出面向家居家装行业、高AI化、一体化的工业软件。

C/C++是最先支持WebAssembly的编程语言,而工业软件普遍使用C/C++语言编写。C++语言对于工业软件而言,具有其他语言无法比拟的优势:优越的性能,工业级的建模精度等等。因此,工业软件利用WebAssembly上云有着天然的条件。

03

更快速、更流畅 大幅提升用户体验

三维家以C++为底层开发语言,在C++工业库方面有着深厚积累。从2017年起,三维家便尝试将C++工业库进行WebAssembly转换,可以算是国内最早的一批先行者。

据三维家技术研究院基础平台负责人陈江豪介绍,工业软件采用WebAssembly后,会变得更加小巧、轻量化,且天生拥有跨平台能力,利用Web能够更快触达用户。工业软件上云后,利用云原生等云端技术相关的devops,能够快速迭代,响应用户需求。三维家利用WebAssembly将大部分C++工业库上云后,正是吸收了这些特点,让团队开发更符合现代敏捷开发形态,效率大大提升。

陈江豪还表示,三维家的三大基础技术底座——AI引擎、几何引擎、渲染引擎的核心功能均使用了WebAssembly技术,旗下拥有WebAssembly化的百万级业务代码的商用产品——3D云设计软件,在部分高密度计算、多媒体和加密计算算法上同样运用了WebAssembly技术。

WebAssembly对三维家最显著的影响在于软件综合性能的提升,如用户在线设计家装效果图时,打开巨型方案、加载模型的耗时会大大减少,降低等待时间;同时,会提高设计方案操作的流畅性,提升用户体验。在开发层面,WebAssembly帮助三维家三大技术底座能够做到一码多用,极大地降低开发成本。

三维家着力于践行WebAssembly,这和三维家致力推动家居产业前后端一体化,以技术驱动家居产业变革的理念息息相关。WebAssembly能带来工业级建模所需要的精度,为研发自由建模软件CAD和CAM带来技术基础,并最大程度地优化产品性能。随着三维家对WebAssembly的深入应用,其产品性能将快速提升,其广阔的发展空间有望与同业产品拉开竞争优势。

结语:

业内人士认为,WebAssembly是一项“改变游戏规则”的技术,它是面向未来的,借助WebAssembly可以在前端创造出更多的可能性。

随着WebAssembly生态的不断优化,也有如三维家一样的技术践行者在持续实践,WebAssembly正在为云工业软件的未来,描画出一副更具想象空间的技术图景。

分享