乐趣区

关于web:什么是-StackBlitz-的-web-container

如下图所示,咱们能够利用 StackBlitz,在浏览器里开发 Node.js 利用:

这所有归功于所谓的 WebContainer,如下图 Booting WebContainer 和 Installing dependencies 的信息:

几年前,咱们就能感觉到,web 开发正在走向一个要害的拐点。

WebAssembly 和新的 capabilities API 的呈现,使得编写一个基于 WebAssembly 的操作系统仿佛成为可能,该操作系统功能强大到能够齐全在浏览器中运行 Node.js。提供一个比本地环境更快、更平安、更统一的卓越开发环境,以实现无缝代码合作,而无需设置本地环境,这个指标仿佛离 Web 开发人员越来越近了。

实现这个指标的要害之一是 Web Container.

传统在线 IDE 在近程服务器上运行您的整个开发环境,并将后果通过 Internet 流式传输回您的浏览器。这种办法的问题在于,它简直没有平安劣势,并且在简直所有方面都比本地机器提供更蹩脚的体验:启动容器须要几分钟工夫,容易呈现网络提早,无奈离线工作,常常导致网络超时,调试解冻 / 损坏的容器简直是不可能的,点击刷新只会将您从新连贯到损坏的容器。

StackBlitz 提供的 WebContainers 容许您创立全栈 Node.js 环境,该环境可在几毫秒内启动并立刻处于在线状态,能够通过链接共享——只需单击一下。该环境加载了 VS Code 弱小的编辑体验、残缺的终端、npm 等。它也齐全在浏览器中运行,这会产生下列这些要害的益处:

  • 比本地环境更快。构建实现速度比 yarn/npm 快 20%,包装置实现速度 >= 5 倍。
  • Node.js 利用能够在浏览器中调试。与 Chrome DevTools 的无缝集成反对本地后端调试,无需装置或扩大。
  • 默认的安全级别。所有代码执行都产生在浏览器的平安沙箱内,而不是近程虚拟机或本地二进制文件上。

同样,这些环境不在近程服务器上运行。相同,这些运行环境都齐全蕴含在 Web 浏览器中。Node.js 运行时自身第一次在浏览器外部本地运行。

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

退出移动版