QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

  • 2018-11-22
  • 本文字数:907 字

    阅读完需:约 3 分钟

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

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


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


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


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


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


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


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


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


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


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


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

相关推荐:


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


2018-11-22 14:564007

评论 1 条评论

发布
暂无评论
发现更多内容

回家

Tiger

28天写作

Gbase8a MPP Cluster 集群管理

南渡北归

gbase8a gbase8a集群管理 gcadmin

如何对数组中的对象进行排序

Changing Lin

12月日更

Rust 元宇宙 16 —— 里程碑,二人世界

Miracle

rust 元宇宙

Flexagile 弹性敏捷 - 文化篇

RingCentral铃盛

图解 Volatile 原理三

悟空聊架构

volatile 28天写作 悟空聊架构 12月日更 嗅探

Prometheus Exporter (二十三)Slurm Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 Slurm

当诗人遇到熟读2600亿中文参数的大模型

脑极体

技术人员需要加强推动力

张老蔫

28天写作

Go+ HTTP 客户端教程(5.1)

liuzhen007

28天写作 12月日更

在线JSON转Go Bson工具

入门小站

工具

2021,自动驾驶的“五代十国”

脑极体

Musical.ly 创始人:演化成就伟大的产品

石云升

28天写作 产品创新 12月日更 产品演化

技术架构的战略和战术原则

xcbeyond

28天写作 12月日更

黑客竟然需要掌握这些知识

喀拉峻

黑客 网络安全

WebP,淘宝都在用的图片优化方法

CRMEB

实用机器学习笔记十:机器学习模型

打工人!

AI 算法 学习笔记 机器学习算法 12月日更

41 K8S之网络策略

穿过生命散发芬芳

k8s 28天写作 12月日更

误删服务器/tmp下的文件之后引发的问题

熊斌

解决方案

数据存储淘汰专题 | 内容合集

卢卡多多

内容合集 签约计划第二季

Flexagile 弹性敏捷 - 实践篇

RingCentral铃盛

通过接口百度网盘下载文件

为自己带盐

28天写作 百度网盘 12月日更

给代码上一份保险

Rayjun

git pre-commit

VR就是下一代平台

mtfelix

28天写作

总结篇:10个常用的 JavaScript 函数

devpoint

filter 12月日更

CSS之选择器(三)

Augus

CSS 12月日更

将挖洞当作爱好和职业的笑与泪:微软漏洞研究员的自白

网络安全学海

网络安全 信息安全 漏洞扫描 漏洞分析 漏洞挖掘

面试官:Chrome和Chromium的区别

喵叔

28天写作 12月日更

在 Dart(以及 Flutter)中生成随机字符串的 3 种不同方法【Flutter专题21】

坚果

flutter 28天写作 12月日更

Apache Log4j2远程代码执行漏洞攻击,华为云安全支持检测拦截

华为云开发者联盟

安全 华为云 漏洞 Apache Log4j2

架构实战 - 模块六

唐敏

「架构实战营」

谷歌发布新的 Node.js Web 渲染界面 Carlo_大前端_Dylan Schiemann_InfoQ精选文章