谷歌发布新的 Node.js Web 渲染界面 Carlo

谷歌发布了Carlo项目的早期版本,这是一个用于创建Node.js应用的实验性项目。与Electron不同,Carlo依赖于用户电脑上已有的Chrome版本进行本地应用服务器上的运行,并通过Puppeteer与Chrome进行通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

谷歌发布Carlo的早期版本,这是谷歌实验室用来创建Node.js应用的实验性项目。Carlo使用Puppeteer实现Node.js应用和Chrome Web浏览器之间的通信。

\n

在使用Web技术创建桌面应用方面,Electron目前是主导性的技术。与Electron不同,Carlo并不会尝试将特定版本的Chrome和Node.js打包在一起,而是依赖于终端用户的电脑上已安装的任意版本的Chrome。

\n

Carlo并没有提供构建真正桌面应用的功能,比如修改浏览器视图的名称、菜单或图标。相反,Carlo更像是在本地应用服务器上运行应用并自动在Chrome中浏览该应用。

\n

Puppeteer是谷歌的浏览器自动化项目,它使用了DevTools协议,Carlo使用这种机制与Chrome浏览器实例进行通信。

\n

基于Carlo的应用并不需要在每次Chrome升级的时候发布更新。这种方式的潜在缺点就是可能会破坏应用程序中的功能。如果无法定位到70或更高版本的Chrome,应用程序将会返回一个错误。

\n

推荐使用pkg将Carlo应用打包到可执行二进制文件中。与之不同,Electron提供了丰富的应用程序构建基础设施。

\n

Carlo可能会重新引发什么是Web、什么不是Web的争论。谷歌的工程师Alex Russell曾说过像Electron这样的环境不是Web的观点:

\n
\n

很多的平台都试图在允许开发人员使用Web的客户端-服务端技术的前提下,让我们获取一些“额外(exotic)”的能力。按照这种方式,他们不得不抛弃共享价值体系中的一个或多个方面。这些方式说不上糟糕,甚至其中有很多人可以说是技术天才,但这并不是Web。

\n
\n

Carlo所倡导的方式应该非常适合渐进式Web应用(Progressive Web Apps)。为桌面应用程序寻求完整功能的开发人员可能会倾向于继续使用Electron。

\n

Carlo可以在Apache 2开源协议下使用。现在,官方鼓励通过Carlo GitHub项目进行贡献,贡献过程应该遵循Carlo的贡献指南和谷歌的开源行为指南。

\n

查看英文原文:https://www.infoq.com/news/2018/11/carlo-google-nodejs

\n
相关推荐:
\n

\"\"
\n12 月 7 日北京 ArchSummit 全球架构师峰会上,来自 Google、Netflix、BAT、滴滴、美团 等公司技术讲师齐聚一堂,共同分享“微服务、金融技术、前端黑科技、智能运维等相关经验与实践。详情点击 https://bj2018.archsummit.com/schedule

\n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flybirding10011

谢谢支持啊999

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值