2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

谷歌发布新的 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:564113

评论 1 条评论

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

创业统一战线 Jan 21, 2021

王泰

28天写作

如何成为分享高手(下)

熊斌

演讲 经验分享 成长笔记 28天写作

基础不牢,地动山摇;自学进大厂的第18天!

Java架构师迁哥

HTML(四)——建立超链接

程序员的时光

html 程序员 28天写作

soul数据同步(一)概述及websocket同步策略

xzy

Soul网关 soul

【并发编程的艺术】JAVA并发机制的底层原理

程序员架构进阶

Java 架构 并发编程 内存模型 28天写作

项目管理变更之交付目标的变化

L3C老司机

竟然输给了一款软件「幻想小说 13/28」

道伟

28天写作

Go中的SSRF攻防战

Gopher指北

安全 Go 语言

28天瞎写的第二百二十四天:食品专业的编程高手

树上

28天写作

Git学习【1】 -- 基本常用命令

秦怀杂货店

git GitHub

苹果的董事长是谁?别去搜了,看这。

Justin

28天写作 冷知识

如何保持积极

Ian哥

28天写作

Soul 源码阅读 01|数据同步

哼干嘛

Java Soul网关

1000公里续航动力电池背后的迷雾与真相

脑极体

Orleans 知多少 | .NET分布式框架

dotnet actor orleans

JVM的内存分代,这篇文章帮你理一理

Java鱼仔

Java 面试 JVM

Windows DHCP最佳实践(三)

BigYoung

windows Windows Server 2012 R2 DHCP

两层和三层网络架构差异

甲方日常 88

句子

工作 随笔杂谈 日常

管理者掌握这5个提问技巧,秒变提问高手

一笑

团队管理 管理 团队建设 提问的艺术 28天写作

大数据知识专栏 - MapReduce的Combiner实现shuffle调优

小马哥

大数据 hadoop mapreduce 七日更

老龄化不可避免,灰犀牛是否可以成为黑天鹅?

JiangX

政策 28天写作 双循环 人口结构

Mybatis【13】-- Mybatis动态Sql标签的使用

秦怀杂货店

sql mybatis

Spring Boot 中使用拦截器

武哥聊编程

Java springboot SpringBoot 2 拦截器 28天写作

蔡超:这八点架构师感悟,真的很干货 | 大道至简

李忠良

28天写作

LKA是如何实现的(28天写作 Day13/28)

mtfelix

自动驾驶 28天写作

HDFS杂谈:DFSAdmin Report解读

罗小龙

hadoop hdfs 28天写作 dfsadmin

重学JS | Web Workers让JS存在多线程环境

梁龙先森

编程 大前端 28天写作

存在即合理

lidaobing

比特币 28天写作

Soul 学习笔记---使用 zookeeper 实现数据同步(六)

fightingting

Soul网关

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