当前位置:首页 > 科技  > 软件

通过这个技术,浏览器可以运行Node.js、Rust、Python、PHP、C++、Java代码了!

来源: 责编: 时间:2023-10-13 14:33:16 350观看
导读WebContainers 是 StackBlitz 推出一种基于容器技术的 Web 应用环境,它提供了一个隔离环境来执行Web应用。WebContainers 也是第一个基于 WebAssembly 的系统,可以安全地在浏览器中启动 Node.js 环境。可以在 Stackblit

jxV28资讯网——每日最新资讯28at.com

WebContainers 是 StackBlitz 推出一种基于容器技术的 Web 应用环境,它提供了一个隔离环境来执行Web应用。WebContainers 也是第一个基于 WebAssembly 的系统,可以安全地在浏览器中启动 Node.js 环境。可以在 Stackblitz 的官网(https://stackblitz.com/)在线体验 webContainers 技术,官网已经初始提供了多种开发环境:jxV28资讯网——每日最新资讯28at.com

jxV28资讯网——每日最新资讯28at.com

近日,WebContainers 发布重要更新,WASI(WebAssembly 系统接口)已全面集成到 WebContainers 中。这是一个重要里程碑,它扩大了可以使用浏览器执行的操作,是 Web 开发的全新范例,允许运行大量原生应用,而无需考虑多种不同的架构。jxV28资讯网——每日最新资讯28at.com

这也意味着,像使用 Rust、Python、PHP、C++、C 等语言编写的项目都可以在浏览器中运行了!jxV28资讯网——每日最新资讯28at.com

什么是 WASI?

多年来,JavaScript 是 Web 浏览器原生支持的唯一编程语言。然而,随着 Web 的不断发展,对紧凑、安全和高效执行的代码的需求不断增长。为了解决这个问题,Mozilla 在 2015 年透露,他们正在与谷歌、微软和苹果的工程师合作开发一种新标准,称为 WebAssembly,简称 Wasm。WebAssembly 是一种低级、类似汇编的语言,独立于任何特定平台运行。它使用压缩的二进制格式,旨在安全、快速地运行,提供接近本地执行速度的性能。此外,它还可以作为编译在 Web 上运行的代码的目标。jxV28资讯网——每日最新资讯28at.com

WebAssembly 用作编译目标,其中原生代码(例如 Rust、C++ 或 Golang)被编译到 WebAssembly。最初,它是为了在Web上运行 C++ 或 Rust 等语言而创建的。然而,现在它的应用范围已经扩大了。WebAssembly 支持多种编程语言,并且不仅限于 Web 浏览器。jxV28资讯网——每日最新资讯28at.com

现在,每个 WebAssembly 模块都在一个沙盒环境中运行,没有访问系统功能(例如文件和文件系统或网络)的权限。 这意味着 WebAssembly 的功能受到限制,必须通过JavaScript提供所有外部功能。jxV28资讯网——每日最新资讯28at.com

这就是 WASI 的用武之地。WASI 表示 WebAssembly 系统接口,充当一个桥梁,提供标准化接口,允许 WebAssembly 代码安全地与文件系统、网络、生成随机数等系统接口交互,而无需要通过JavaScript注入这些功能。这扩展了 WebAssembly 的功能,使我们能够使用任何编译为WebAssembly 的语言构建应用,并在任何可用运行时的地方运行它们,包括 WebContainers!jxV28资讯网——每日最新资讯28at.com

WASI将以多种颠覆性的方式影响你:jxV28资讯网——每日最新资讯28at.com

  • 速度和安全性:两者兼得。应用在保持安全沙盒环境的同时,以接近本地速度运行。
  • 可移植性:编译一次,到处运行!将本机代码编译为 WebAssembly,并在Web或其他地方运行它。
  • 多语言支持:许多编程语言如 C、C++、Rust 等都可以编译成WebAssembly 并使用 WASI 接口。这意味着可以使用其他语言编写系统级别的代码,而不只是Web所使用的JavaScript,从而提供更多的选项和灵活性。

实现以前不可能的事

WebAssembly 运行时

WASI的集成使得在WebContainers中可以使用wasm命令从终端执行 WebAssembly 或 WASI 编译的模块。这意味着可以将代码编译为WASI,将其上传到项目中,然后通过新的wasm命令运行它。这样就可以在终端上直接运行 WebAssembly 模块,无需使用复杂的工具或设置。jxV28资讯网——每日最新资讯28at.com

jxV28资讯网——每日最新资讯28at.com

Python 支持

作为对可能性的示范,目前引入了对 Python 在 WebContainers 中的实验性支持。考虑到 Python 作为第三种最常用的编程语言,在浏览器的原生环境中一直缺失,这一点尤为重要。由于需要外部服务器进行执行,Python 的功能通常是分割的,导致开发体验不连贯。但现在不同了。随着 WASI 与 WebContainers 的集成,服务器和浏览器的领域进一步融合,为浏览器内开发开辟了新时代的道路。jxV28资讯网——每日最新资讯28at.com

重要的是,随着WASI不断演进和扩展其功能集,它将直接影响 WebContainers 中 Python 的功能。注意,这种Python的集成目前仍然处于实验阶段,这意味着它目前仅限于 Python 语言的核心功能。目前还未推出对 pip 的支持,即 Python 的软件包管理器,这意味着暂时还无法安装额外的 Python 软件包。可以编写、编辑和执行依赖于内置 Python 模块和功能的Python脚本,但对于依赖于外部库的更复杂项目则需要再等待一段时间。jxV28资讯网——每日最新资讯28at.com

jxV28资讯网——每日最新资讯28at.com

原生 CLI 工具

除此之外,还扩展了 shell 的功能,添加了对jq的支持,这是一个本地命令行JSON处理器,可以轻松地切片、过滤、映射和转换结构化数据。可以在任何项目中从shell中使用它。jxV28资讯网——每日最新资讯28at.com

jxV28资讯网——每日最新资讯28at.com

展望未来

虽然这些发展令人兴奋,但这只是个开始。WASI 仍在标准化的过程中,随着它的成熟,它将在 WebContainers  中释放更多的功能。目前正在开发一些令人兴奋的新功能,包括WebAssembly线程或WebAssembly垃圾回收等。StackBlitz 的野心是为其他流行语言添加实验性支持,特别是对 Ruby 和 PHP 的实验性支持。jxV28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-13242-0.html通过这个技术,浏览器可以运行Node.js、Rust、Python、PHP、C++、Java代码了!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Java并行GC的使用和调优

下一篇: 八个适合程序员接私活赚钱的开源项目

标签:
  • 热门焦点
  • MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • 小米平板5 Pro 12.4简评:多专多能 兼顾影音娱乐的大屏利器

    疫情带来了网课,网课盘活了安卓平板,安卓平板市场虽然中途停滞了几年,但好的一点就是停滞的这几年行业又有了新的发展方向,例如超窄边框、高刷新率、多摄镜头组合等,这就让安卓
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • 为什么你不应该使用Div作为可点击元素

    按钮是为任何网络应用程序提供交互性的最常见方式。但我们经常倾向于使用其他HTML元素,如 div span 等作为 clickable 元素。但通过这样做,我们错过了许多内置浏览器的功能。
  • 电视息屏休眠仍有网络上传 爱奇艺被质疑“薅消费者羊毛”

    记者丨宁晓敏 见习生丨汗青出品丨鳌头财经(theSankei) 前不久,爱奇艺发布了一份亮眼的一季报,不仅营收和会员营收创造历史最佳表现,其运营利润也连续6个月实现增长。自去年年初
  • OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    日前OPPO官方宣布,将于7月25日14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼
  • 与兆芯合作 联想推出全新旗舰版笔记本电脑开天N7系列

    联想与兆芯合作推出全新联想旗舰版笔记本电脑开天 N7系列。这个系列采用兆芯KX-6640MA处理器平台,KX-6640MA 处理器是采用了陆家嘴架构,16nm 工艺,4 核 4 线
Top