如下图所示,我们可以利用 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的原创文章,尽在:“汪子熙”:

什么是 StackBlitz 的 web container相关推荐

  1. 在tomcat下部署两个或多个项目时 log4j和web.xml配置webAppRootKey 的问题(转)

    在tomcat下部署两个或多个项目时 web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为"webapp.root",如下: <!-- 应用路径 ...

  2. myeclipse:web项目不能显示Web App Libraries

    项目根路径下.classpath文件,加上 <classpathentry kind="con" path="org.eclipse.jst.j2ee.intern ...

  3. WEB 容器、WEB服务和应用服务器的区别与联系

    [web 容器] 何为容器: 容器是一种服务调用规范框架,J2EE 大量运用了容器和组件技术来构建分层的企业级应用.在 J2EE 规范中,相应的有 WEB Container 和 EJB Contai ...

  4. web框架的前生今世--从servlet到spring mvc到spring boot

    背景 上世纪90年代,随着Internet和浏览器的飞速发展,基于浏览器的B/S模式随之火爆发展起来.最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源,比如html.css等.  但是可 ...

  5. How web servers work?

    https://howtodoinjava.com/tomcat/a-birds-eye-view-on-how-web-servers-work/ Many times we wonder that ...

  6. linux 运行多个docker,Docker 中如何连接多个 Container 协同工作

    在Docker使用部分我们接触到了通过网络端口来连接运行在Docker容器内的服务.这是同Docker容器内服务和应用互动的方法之一.在这一节中,我们将带你复习一下通过网络端口连接到Docker容器并 ...

  7. web 静态页面和动态页面的区别

    文章目录 一.静态web页面: 二.动态web页面: 为什么需要web服务器?(web server) 三.关于两者区别的简单直接的描述 四.实验测试 一.静态web页面: 1.在静态Web程序中,客 ...

  8. 什么是 SAP UI5 的 Hybrid Web Containers

    我们可以将移动应用程序开发为包含原生应用程序包装器(例如 PhoneGap),和用于在用户界面上显示内容的 HTML 查看器的混合应用程序(Hybrid Web Container). 混合应用的优势 ...

  9. Java Web学习总结(27)——JavaEE中Web服务器、Web容器、Application服务器区别及联系

    在JavaEE 开发Web中,我们经常会听到Web服务器(Web Server).Web容器(Web Container).应用服务器(Application Server),等容易混淆不好理解名词. ...

最新文章

  1. PHP设计模式 外观模式(Facade)
  2. Spring Boot不允许加载iframe问题解决
  3. 综合技术--maven的基本使用
  4. HTML实现跳转到页面指定位置
  5. 监听localStorage变化(同页面监听)
  6. 1.14 日志(递推ybtoj)
  7. 剑指offer:斐波那契数列
  8. .NET Framework(一)
  9. Educational Codeforces Round 67 E.Tree Painting (树形dp)
  10. 2009年具有中国特色的脑筋急转弯
  11. python读取shp文件,
  12. javaweb课程设计之XXX管理系统
  13. 网络编程练手小项目---英英词典
  14. iPad忘记密码时恢复出厂设置
  15. wincap问题之一(丢包)
  16. 解决django admin表的外键关联数据过多响应时间过长问题
  17. 计算机显示u盘容量只有1m,为什么新买的U盘容量大小与实际显示大小不一样?...
  18. Python 绘制椭圆 平移 旋转
  19. python byte 和 list[int]互转(byte to list,list to byte,byte to int)
  20. AI之AutoML:autosklearn/Auto-Sklearn(基于scikit-learn库的自动化的机器学习工具)的简介、安装、使用方法之详细攻略

热门文章

  1. 修改linux系统中自带的jdk
  2. 微服务中集成分布式配置中心 Apollo
  3. java实现插入排序 1
  4. SQLserver语句命令
  5. iOS 商城类 app 首页的实现
  6. [html] W3C--span is a nested element.
  7. C#中的集合、哈希表、泛型集合、字典
  8. BZOJ 1500 维修数列
  9. 数据结构与算法之美-哈希算法
  10. NPOI office操作