在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

评论 1 条评论

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

Nacos配置中心之动态感知

急需上岸的小谢

8月月更

C++中const关键字的作用总结

桑榆

c++ 8月月更

头脑风暴:打家劫舍

HelloWorld杰少

8月月更

Java “constant string too long” 编译错误

HoneyMoose

编译调试插件功能总结

乌龟哥哥

8月月更

【字体反爬】的起点,月票数解析,一个小小的Python案例

梦想橡皮擦

Python 爬虫 8月月更

谈谈程序员如何具备领导力

宇宙之一粟

领导力 8月月更

基于华为云ModelArts和弹性云服务器ECS的AI全流程开发——昇腾工业质检应用实战【华为云至简致远】

sofiya

12条MySQL优化技巧,提速不止十倍!

TimeFriends

8月月更

Promise的点点滴滴

坚果

开源 8月月更

未来社区的人车房隐私数据权属确认方法

阿提说说

区块链 物联网 隐私保护

Spring(三、依赖注入)

开源 bean Spring JPA 8月月更

C++对象模型和this指针实例分析

CtrlX

c++ 面向对象 后端 代码 8月月更

轻松完成接口测试及接口文档

Xd

Java 后端 接口测试

自己动手制作elasticsearch的ik分词器的Docker镜像

程序员欣宸

elasticsearch 8月月更

【华为云至简致远】还在烦恼成本高、运维难?华为云数据库给你一个标准答案!

sofiya

一种用于保证多方子系统数据一致性的方法

阿提说说

数据一致性 多方子系统 异构系统

OAuth2的定义和运行流程

阿提说说

spring security Oauth

2022秋招前端面试题(三)(附答案)

helloworld1024fd

前端面试

设计电商秒杀系统

爱晒太阳的大白

2022-Java后端工程师面试指南-(MySQL)

自然

8月月更

C51 基本函数、中断函数和库函数的详解

timerring

8月月更

docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)

程序员欣宸

elasticsearch 8月月更

基于华为云ECS的目标检测与识别的昇腾AI开发体验【华为云至简致远】

sofiya

华为云数据库,更安全、更方便、更省钱的选择【华为云至简致远】

sofiya

2022秋招前端面试题(四)(附答案)

helloworld1024fd

前端面试

朴素贝叶斯分类-西瓜分类 python

Five

贝叶斯公式 Python. 8月月更

2022-Java后端工程师面试指南-(Redis)

自然

面试题 reis 8月月更

2021-Java后端工程师面试指南-(SpringBoot+SpringCloud)

自然

Spring Boot CLI spring cloud stream 8月月更

git 分支

Jason199

git fetch 8月月更

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