所有要从收到一封邮件开始

大早上,我收到一封邮件,StackBlitz说正在与Next.js和Google的团队合作开发一项新技术
  • 几年前,StackBlitz意识到网络正朝着要害的拐点倒退。WebAssembly和新性能API的呈现使编写基于WebAssembly的操作系统仿佛变得可能,该操作系统功能强大到能够齐全在浏览器中运行Node.js。咱们构想了一个比本地环境更快,更平安和统一的高级开发环境,以实现无缝的代码合作而无需设置本地环境

技术名为:WebContainers

  • WebContainers容许您创立残缺的Node.js环境,这些环境能够在毫秒内启动,并且一键即可立刻联机和链接共享。该环境具备VS Code弱小的编辑教训,残缺的终端,npm等性能。它还能够齐全在您的浏览器中运行,从而带来一些要害的益处:
  • 比本地环境快。与yarn / npm相比,构建速度最多可进步20%,而卷装装置速度则可快5倍以上。
  • 浏览器中的Node.js调试。与Chrome DevTools的无缝集成可实现本机后端调试,无需装置或扩大。
  • 默认为平安。所有代码执行都产生在浏览器的平安沙箱中,而不是在近程VM或本地二进制文件上。
  • 同样,这些环境不在近程服务器上运行。而是,每个环境都齐全蕴含在您的Web浏览器中。没错:Node.js运行时自身第一次在浏览器中本机运行。

    从当初开始,WebContainers当初处于公开测试阶段。以后反对包含Next.js,GraphQL和Vanilla Node.js,咱们正在与其余开源我的项目单干以扩大反对

为什么会有WebContainers

平安
  • StackBlitz通过利用浏览器中数十年来的速度和安全性翻新来解决这些问题。StackBlitz中的所有计算都会在浏览器平安沙箱中立刻产生,并且无奈暴发到您的本地计算机上。该模型还开释了一些要害的开发和调试劣势(在几秒钟内便会提供更多劣势)。

开释浏览器的性能
  • 应用Chrome DevTools无缝进行Node.js调试

    • 事实证明,浏览器的确十分善于调试Javascript。我晓得,这令人震惊;)通过在浏览器中执行Node.js,与Chrome DevTools的集成即开即用。无需装置,无需扩大,仅在浏览器中进行本机后端调试即可

运行服务器,在你的浏览器中
  • 实际上。WebContainers蕴含一个虚构的TCP网络堆栈,该网络堆栈已映射到浏览器的ServiceWorker API,使您能够即时创立实时Node.js服务器,即便您处于脱机状态也能够持续工作。因为它齐全在浏览器平安沙箱中运行,所以服务器响应的提早比本地主机(!)少,并且能够爱护您的Web服务器免受本地主机抓取攻打
  • 毫秒级启动工夫
  • 每个页面加载时都有一个全新的环境

    • 再见rm -rf node_modules!WebContainer的内置npm客户端是如此之快,以至于它在每次页面加载时都运行全新的装置,从而确保您每次都能取得一个洁净的环境。如果您的环境的确呈现问题,则能够像解决其余任何Web应用程序一样复原到洁净的状态:单击“刷新”按钮
  • 借助StackBlitz,无论您是在火车上,在飞机上还是在雨中后座时,都能够在没有互联网连贯的状况下持续工作
应用StackBlitz新鲜的计算模型,100%的代码执行产生在浏览器平安沙箱中。与本地相比,这导致了更快,更少限度的开发环境,同时又提供了更高的安全性,这是十分常见的组合。
  • 实际上,默认的平安情况是如此巩固,以至于咱们的嵌入式软件包管理器是第一个可公开取得的工具,能够解决五年多来未解决的Sam Saccone长期未解决的npm破绽
  • 同样,这些环境不在近程服务器上运行。而是,每个环境都齐全蕴含在您的Web浏览器中。没错:Node.js运行时自身第一次在浏览器中本机运行

    写在最初

  • WebAssembly弱小到足以编写操作系统,然而这次WebContainers把这个技术应用方向放在了Node.js上,我感觉是有划时代意义的
  • 在我看来,这个技术在将来最次要利用方向是,能够使世界范畴内的软件在以前无奈运行的中央运行,当前电脑上可能只须要装置一个谷歌浏览器