写点什么

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

评论 1 条评论

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

零基础转行前端培训学习好吗?

小谷哥

高标准企业级安全性,华为云会议为线上沟通保驾护航

秃头也爱科技

华为云Astro的前世今生:用7年时间革新低代码开发观念

科技怪授

中国银河证券:缺少DevOps,企业数字化转型就是带着脚镣跳舞

嘉为蓝鲸

DevOps 数字化转型 金融 证券

“PKS+生态(智方舟)加速营”圆满结束,九科信息与中电智方舟达成战略合作

九科Ninetech

第二章STP应用配置

初学者

网络 11月月更

前端食堂技术周刊第 60 期:TypeScript 4.9、Ant Design 5.0、用 vanilla-extract 编写高性能的 CSS、Node.js 安全最佳实践

童欧巴

数据仓库实战教程

kingcall

数据仓库 数据湖 数据安全 数仓 数仓建模

边旅游边赚钱!数字游民离不开远程控制软件

RayLink远程工具

远程控制软件 远程办公软件 远控软件 RayLink 远程控制连接

唯一获奖容器厂商!灵雀云斩获2022信创“大比武”通信赛道大奖

York

容器 云原生 数字化转型 国产化 信创云

第一章三层交换应用

初学者

网络 11月月更

Unload data from Databend | 新手篇(4)

Databend

databend

Meetup预告:SeaTunnel在天翼云数据集成平台的探索实践

Apache SeaTunnel

大数据 技术分享 数据同步 数据集成 Apache SeaTunnel

华为云弹性负载均衡ELB,如何保障服务器不瘫痪?

清欢科技

Java集合与数据类型

kingcall

Java JAVA集合 Java集合框架 java数据类型

【Ajax】全面详细了解git的基础操作【万字教学+面试常客】

坚毅的小解同志

git 11月月更

浅谈中小企业进军新媒体行业为何屡次遭受挫败

石头IT视角

7分钟带你细致解析4个Java算法必刷题

好程序员IT教育

Java

netty系列之:在netty中使用proxy protocol

程序那些事

Java 架构 Netty 程序那些事

MACH架构的质量工程指南

俞凡

架构 微服务 云原生

jvm(三)类加载机制、javac编译

想要飞的猪

JVM类加载

redis 集群实现方案与原理

想要飞的猪

redis哨兵集群 redid集群cluster

真正的按需计费-函数工作流 FunctionGraph实战,5分钟搭建图片压缩应用

秃头也爱科技

打造用户喜爱的产品,离不开需求助推器|影响地图Impact Mapping

Uncle Leo

敏捷开发 软件工程 设计思维 用户故事地图 影响地图

深度解读隐语密态计算设备SPU

隐语SecretFlow

机器学习 开源 隐私计算 开源框架 隐语

Alluxio 2.9新版发布 | 重塑架构,支持大规模多租户环境

Alluxio

分布式 新闻 Alluxio 大数据 开源 数据编排

低代码会使初级码农失业吗

秃头也爱科技

2022-11-21:第N高的薪水。表结构和数据的sql语句如下。请问sql语句如何写? DROP TABLE IF EXISTS employee; CREATE TABLE employee (

福大大架构师每日一题

数据库 sql 福大大

在 Spring 生态中玩转 RocketMQ

Apache RocketMQ

RocketMQ spring could

华为云企业交换机ESW,让数据业务无缝迁移上云

爱科技的水月

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