「来源:|ReactID:react_native」
一切要从收到一封邮件开始
大早上,我收到一封邮件,StackBlitz说正在与Next.js和Google的团队合作开发一项新技术
几年前,StackBlitz意识到网络正朝着关键的拐点发展。WebAssembly和新功能API的出现使编写基于WebAssembly的操作系统似乎变得可能,该操作系统功能强大到可以完全在浏览器中运行Node.js。我们设想了一个比本地环境更快,更安全和一致的高级开发环境,以实现无缝的代码协作而无需设置本地环境技术名为:WebContainers
WebContainers允许您创建完整的Node.js环境,这些环境可以在毫秒内启动,并且一键即可立即联机和链接共享。该环境具有VSCode强大的编辑经验,完整的终端,npm等功能。它还可以完全在您的浏览器中运行,从而带来一些关键的好处:比本地环境快。与yarn/npm相比,构建速度最多可提高20%,而卷装安装速度则可快5倍以上。浏览器中的Node.js调试。与ChromeDevTools的无缝集成可实现本机后端调试,无需安装或扩展。默认为安全。所有代码执行都发生在浏览器的安全沙箱中,而不是在远程VM或本地二进制文件上。同样,这些环境不在远程服务器上运行。而是,每个环境都完全包含在您的Web浏览器中。没错:Node.js运行时本身第一次在浏览器中本机运行。从现在开始,WebContainers现在处于公开测试阶段。当前支持包括Next.js,GraphQL和VanillaNode.js,我们正在与其他开源项目合作以扩展支持
为什么会有WebContainers
安全
StackBlitz通过利用浏览器中数十年来的速度和安全性创新来解决这些问题。StackBlitz中的所有计算都会在浏览器安全沙箱中立即发生,并且无法爆发到您的本地计算机上。该模型还释放了一些关键的开发和调试优势(在几秒钟内便会提供更多优势)。
释放浏览器的功能
使用ChromeDevTools无缝进行Node.js调试事实证明,浏览器确实非常擅长调试Javascript。我知道,这令人震惊;)通过在浏览器中执行Node.js,与ChromeDevTools的集成即开即用。无需安装,无需扩展,仅在浏览器中进行本机后端调试即可
运行服务器,在你的浏览器中
实际上。WebContainers包含一个虚拟的TCP网络堆栈,该网络堆栈已映射到浏览器的ServiceWorkerAPI,使您可以即时创建实时Node.js服务器,即使您处于脱机状态也可以继续工作。因为它完全在浏览器安全沙箱中运行,所以服务器响应的延迟比本地主机(!)少,并且可以保护您的Web服务器免受本地主机抓取攻击毫秒级启动时间每个页面加载时都有一个全新的环境再见rm-rfnode_modules!WebContainer的内置npm客户端是如此之快,以至于它在每次页面加载时都运行全新的安装,从而确保您每次都能获得一个干净的环境。如果您的环境确实出现问题,则可以像处理其他任何Web应用程序一样恢复到干净的状态:单击“刷新”按钮借助StackBlitz,无论您是在火车上,在飞机上还是在雨中后座时,都可以在没有互联网连接的情况下继续工作使用StackBlitz新颖的计算模型,%的代码执行发生在浏览器安全沙箱中。与本地相比,这导致了更快,更少限制的开发环境,同时又提供了更高的安全性,这是非常罕见的组合。
实际上,默认的安全状况是如此稳固,以至于我们的嵌入式软件包管理器是第一个可公开获得的工具,可以解决五年多来未解决的SamSaccone长期未解决的npm漏洞同样,这些环境不在远程服务器上运行。而是,每个环境都完全包含在您的Web浏览器中。没错:Node.js运行时本身第一次在浏览器中本机运行写在最后
WebAssembly强大到足以编写操作系统,但是这次WebContainers把这个技术使用方向放在了Node.js上,我觉得是有划时代意义的在我看来,这个技术在未来最主要应用方向是,可以使世界范围内的软件在以前无法运行的地方运行,以后电脑上可能只需要安装一个谷歌浏览器
看完三件事
如果你觉得这篇内容对你挺有启发,我想邀请你帮我三个小忙:
点「在看」,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓-_-)