【WebContainers】浏览器内运行NodeJS研究记录
WebContainers为近年来新出的前端技术,它允许在浏览器内运行一个虚拟的NodeJS环境进行后端开发…这项技术听起来 乍一看挺牛,但本文我想说一下我试用后才发现的一些实际问题。
·
防盗镇楼,原文地址:http://t.csdnimg.cn/OX6Ce
前言
官方文档移步:https://webcontainers.io/tutorial/1-build-your-first-webcontainer-app
WebContainers为近年来新出的前端技术,它允许在浏览器内运行一个虚拟的NodeJS环境进行后端开发…
划重点!!不用不知道,一用就不用了…
这项技术听起来 乍一看挺牛,但本文我想说一下我试用后才发现的一些实际问题,以此帮助你避坑技术选型.
弊端
- ※ 这玩意不是离线的,页面首次启动的时候需要联网加载一大堆依赖文件(node二进制包之类的东西)
- 它使用内存制作了一个虚拟文件系统,所以不适合放大文件(结合indexeddb勉强可用)
- 每次页面刷新,相当于重新开启APP,状态会丢失(需要借助cookies等操作保留还原)。
- 串口等硬件资源无法访问(navigator.serial目前只有Chrome支持,且不太灵光)
- 必须启用HTTPS,不然会弹出跨域安全限制报错
- 一些库不能使用,比如serialport,npm包兼容性需要自己实测(大多数还好用).
- 在营利性环境中生产使用 API 需要许可(无需许可证即可随意进行原型设计)
* 所以上述问题致使你的项目必须是在线的HTTPS,且非移动端页面(流量消耗)
兼容性
浏览器 | PC端 | 移动端 |
---|---|---|
Chrome | √ | √ |
Firefox | √ | √ |
Electron | √ | × |
微信(未测,x5内核理论可用) | ? | ? |
注意:开发环境需要自己做个证书开启HTTPS以实现夸端访问.
优点
- 服务器压力-- (所有计算全部在浏览器内完成,释放服务器压力)
- 响应速度++ (这玩意可以减少大量与服务器交互,且在内存中运行响应贼快)
- 操作空间++ (这玩意甚至允许你在浏览器中运行一个控制台…或许你可以编写一个微系统什么的…)
- 安全性++ (这玩意完全在浏览器沙盒中运行的,有效杜绝一些服务器攻击)
评估
这玩意实属神奇,跟着官网教程很快你就可以完成原型搭建.
但是它想要实际应用,会受到诸多条件限制,需结合项目需求综合考虑是否选用.
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)