阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

评论 1 条评论

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

【媳妇当车模频道】汽车字体反爬一键解决,之家之家

梦想橡皮擦

Python 爬虫 7月月更

茅台冰淇淋“逆势”走红,跨界之意却并不在“卖雪糕”

易观分析

茅台

设计模式之禅(二)

青柚1943

设计模式 设计原则 策略模式 观察者模式 模板方法模式

LeetCode-70. 爬楼梯(java)

bug菌

Leet Code 7月月更

PDF处理还收费?不可能!

Jackpop

5年接触近百位老板,身为猎头的我,发现升职的秘密不过4个字

图灵教育

Reserved instances & Savings Plans

冯亮

云计算 DevOps AWS 成本优化

Android如何保证service在后台不被kill

沃德

android 7月月更

云原生(十二) | Kubernetes篇之Kubernetes基础入门

Lansonli

云原生 k8s 7月月更

C#入门系列(二十九) -- 预处理命令

陈言必行

7月月更

有关HashMap必须知道的原理

Java学术趴

7月月更

源码分析Sentry用户行为记录实现过程

南城FE

前端 7月月更 异常监控

Kubectl_好用的命令行工具:oh-my-zsh_技巧和窍门

琦彦

Shell kubectl Oh My Zsh zsh

Idea:Git的常用菜单操作和常用命令

琦彦

IDEA git常用命令 git 学习

数据中台:始于阿里,兴于DaaS

雨果

数据中台 数字化转型 数据共享 DaaS数据即服务

STM32+ESP8266+MQTT协议连接腾讯物联网开发平台

DS小龙哥

7月月更

这才是开发者神器正确的打开方式!

Jackpop

怎么在VS Code中配置C/C++开发环境?

Jackpop

kubernetes多网卡方案之Multus_CNI部署和基本使用

琦彦

Kubernetes cni 多网卡 multus

设计模式之禅(一)

青柚1943

设计模式 SOLID 设计原则

Flink 运行架构详解

五分钟学大数据

flink 7月月更

算法题每日一练---第7天:美丽的2

知心宝贝

算法 前端 后端 7月月更

你读过的最好的 C++ 开源代码是什么?

Jackpop

Android编码规范

沃德

android 程序员 7月月更

基于vmware16 和 ubuntu20.04, 搭建单节点 kubernetes 1.22.2

琦彦

ubuntu Kubernetes

java零基础入门-异常、线程(下)

喵手

Java 7月月更

2022年IAA行业品类发展洞察系列报告·第二期

易观分析

IAA

JavaScript中为什么“null==0“为false?? “null>=0“为true???

南极一块修炼千年的大冰块

7月月更

深入浅出边缘云 | 2. 架构

俞凡

架构 边缘计算 网络 深入浅出边缘云

Istio1.12:安装和快速入门

琦彦

istio Sidecar 流量管理

iptables常用命令小清单

琦彦

Linux 网络 iptables

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