推荐一个神器!可以在浏览器运行 Node.js

全栈修仙之路 5天前

以下文章来源于code秘密花园 ,作者ConardLi

在最新的 Google I/O 主题演讲中 stackblitz 向大家介绍了他们与 Next.js 和 Google 团队合作开发的在线 IDE WebContainers ,真的是非常惊艳。

几年前,我们意识到网络正朝着一个关键的拐点发展。WebAssembly 的出现让我们可以有能力编写基于 WebAssembly 的操作系统,这个操作系统的功能强大到可以完全在浏览器中运行 Node.js。我们设计了一个比本地环境更快,更安全和一致的高级开发环境,可以实现无缝代码协作,而不需要设置本地环境。

两年后的今天,他终于诞生了!

WebContainers

WebContainers 允许你创建一个完整的 Node.js环境,它可以在毫秒内启动,并且可以实现一键联机和链接共享。这个环境具有 VS Code 强大的编辑功能,完整的终端,还有 npm 等功能。它也完全在你的浏览器中运行,这带来了一些关键的好处:

  • 比本地环境快。构建速度比 yarn/npm 快 20%,包安装速度可以快 5倍。
  • 支持在浏览器中调试 Node.js 。与 Chrome DevTools 的无缝集成可实现本机后端调试,无需安装扩展。
  • 默认安全。所有代码执行都发生在浏览器的安全沙箱中,而不是在远程 VM 或本地二进制文件上。

同样,这些环境不需要在远程服务器上运行。而是每个环境都完全包含在你的 Web 浏览器中。没错:Node.js 运行时本身是第一次在浏览器内部本机运行。

你可以在 StackBlitz.com 上自己尝试一下:

为什么

旧版在线 IDE 在远程服务器上运行整个开发环境,并将结果通过 Internet 流回浏览器。这种方法的问题在于它太不安全了,而且几乎在所有方面都比你的本地计算机体验更差:首先需要耗时几分钟来启动容器,并且容易出现网络延迟,没有办法离线工作,经常导致网络超时,调试一个已经挂掉的容器几乎是不可能的。

随着 Web 开发慢慢转向像 Next.js 这样的全栈 SSR 和 SSG,设置本地的开发环境变得越来越麻烦,StackBlitz 通过利用浏览器中数十年来的速度和安全性创新来解决这些问题。StackBlitz 中的所有的计算都会在浏览器安全沙箱中运行,不会在你的本地计算机上运行,这会让你的开发过程更快更安全。

使用 Chrome DevTools 调试 Node.js

事实证明,浏览器确实非常擅长调试 Javascript。通过在浏览器中执行 Node.js,与 Chrome DevTools 的集成即开即用。无需安装,无需扩展,仅在浏览器就能进行本机后端调试:

在浏览器中启动服务端

WebContainers 包含一个虚拟的 TCP 网络堆栈,这个堆栈会映射到浏览器的ServiceWorker API,使你能够创建实时的 Node.js 服务器,即使你处于脱机状态也可以继续工作。因为它完全在浏览器安全沙箱中运行,所以服务器响应的延迟比 localhost 还小,并且可以保护你的 Web 服务器免受本地主机抓包攻击:

毫秒启动

浏览器执行 Javascript 和 WebAssembly 的速度快得令人难以置信。我们利用这一点来创建一个即时开发操作系统,它不使用服务器资源,也不会在你的计算机上创建 node_modules ...

零延迟、脱机运行

无论你是在火车上,在飞机上还是在雨天后排座位上,都可以在没有互联网连接的情况下继续工作:

默认安全

使用 StackBlitz 先进的计算模型,所有代码执行都发生在浏览器安全沙箱中。与本地相比,这会更快,更少限制的开发环境,同时又提供了更高的安全性。

实际上,默认的安全状况非常稳固,以至于我们的嵌入式软件包管理器是第一个可公开获得的工具,可以解决五年多来未解决的 npm 漏洞。

和桌面程序一样的编辑体验

借助 Chrome 的 PWA 功能,只需单击即可轻松安装 StackBlitz 。几毫秒后,你就有了一个桌面 IDE。你平时用的快捷键,例如 CMD + W和CMD + T,都可以正常工作。此外,就像在本地一样,你也可以在一个完全独立的窗口中打开和调试开发服务器。

从本地文件系统读取和写入。

Chrome 最近发布了 File System Access API。这使 PWA能够请求对本地文件系统的某些部分进行持久的读写访问。

你能分清楚上面哪个是 StackBlitz 哪个是 VS Code 吗?

我体验了一波后,感觉还是非常 Nice 了的,目前产品还处于公测阶段,大家感兴趣可以自己到  StackBlitz.com  自己体验一下。

(0)

相关推荐

  • 方便快捷的调试 Node.js 程序

    疯狂的技术宅 前端先锋 在调试程序时总是会遇到各种挑战.Node.js 的异步工作流为这一艰巨的过程增加了额外的复杂性.尽管 V8 引擎为了方便访问异步栈跟踪进行了一些更新,但是在很多数情况下,我们只 ...

  • 2020前端开发者11个必备的网站

    网上有很多很棒的工具,让作为前端开发人员的我们生活的更加轻松.在这篇文章中,我将快速介绍一下我在开发工作中经常使用的11种工具. Node.green 用来查询当前 Node 版本是否某些功能.例如, ...

  • 14 上线后不想让人看到源码怎么做?

    如果不做任何处理,默认程序员是可以看到的. 目录 如何调试数据? 如何安装 Vue Devtools? 关于 persistent 选项等 调试时为什么可以看到源码? 为什么 Vue Devtools ...

  • (3条消息) 京东活动+自动运行脚本+签到2021.02.20更新

    2.19更新 添加 每日研究院 修复 宠汪汪喂食等 添加 女装盲盒 删除几个过期活动 2.10更新 删除 年货节活动 添加 京东国际盲盒 活动 添加 环球挑战赛 活动 2.08更新 执行命令更新 有几 ...

  • 推荐一个牛逼的浏览器!!!

    本期为大家分享个聚合神器,大家可以认真体验看看,然后把对自己有帮助的收藏下来! 公众号不能保证每次推荐你都喜欢,但是可以保证尽量让大多数关注公众号的读者,都可以获取全网比较好用的软件.工具和网站! 上 ...

  • 给大家推荐一个神器

    forcode:给大家推荐一个神器:掏耳朵一定要用黑色掏耳朵专用棉签,这样每次掏耳朵都会很有成就感!记住,一定要是黑色的!每次都会很有收获! ================ forcode:刚接触美 ...

  • 推荐一个神器,开发 API 只需要一分钟

    " 阅读本文大概需要 3 分钟. " 背景 有时候我会碰到快速搭建测试服务的需求,比如像这样: " 搭建一个 HTTP Service,这个服务器可以 run 在本地,也 ...

  • 菜鸟记494-今天推荐一个断网时候能救命的手机转接头神器

    万一您身边的朋友用得着呢? 各位朋友早上好,小菜继续和您分享经验之谈,截止今日小菜已分享500+篇经验之谈,可以文章编号或关键词进行搜索. 微信推送规则发生改变,如果您想看到小菜每个工作日的经验之谈, ...

  • 推荐一个非常好用的AI笔记神器 !

    今天给大家推荐一个超好用的AI笔记神器,只要上传视频或直接贴上视频链接,就能自动生成AI笔记!它能够自动识别视频的内容,生成每帧文字截图,并将语音转成文字! [适用平台] macOS.Windows. ...

  • 推荐一个最接近真实的英语词汇量测试神器

    学英语很难,但学习很快乐.     --- 学英语那点事 作者 | 学姐 大家好,我是学姐. 如何得知自己现阶段的英语词汇量到底是多少呢? 我想,如果要保证百分百精确的话,恐怕只有一个办法: 找到一个 ...

  • 再也不怕催稿,推荐一个提高画画效率的神器

    画师们一定经历过这样的催稿日常: 天仙:交货啦交货啦! 小黑:我是很想交,还有个背景某人没捣鼓完啊! 助手(手忙脚乱.jpg):还不是你说啥为追求完美品质,走精品路线,让我把树叶一片一片描出来!!!还 ...

  • 推荐一个在线 Ps 神器,无需安装,手机也能用

    今天老板发了个压缩包给小雷. "帮我设计一下字体的颜色,五分钟后要" "什么颜色?" "五彩斑斓的黑" "...好的" ...

  • 推荐一个大文件跨平台传输神器,速度秒杀蓝牙128倍

    推荐一个大文件跨平台传输神器,速度秒杀蓝牙128倍