写点什么

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

评论 1 条评论

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

图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)

程序员小航

AQS jdk源码 源码阅读 java 并发

ARTS-WEEK10

一周思进

ARTS 打卡计划

第十章作业

武鹏

热潮-区块链的价值能够体现在哪些方面?

CECBC

区块链技术 标准化 应用价值

吃灰的旧显示器别扔!

小匚

学习 随笔杂谈

设计模式之——JDK动态代理的源码分析

诸葛小猿

动态代理 cglib 代理模式 Proxy

视读——沟通的艺术,看入人里,看出人外(第二章)

废材姑娘

读书笔记 视觉笔记

十多位全球技术专家,为你献上近十个小时的.Net微服务介绍

newbe36524

容器 微服务 .net core netcore

Requests模块基本操作

有梦想的tester

那些不可貌相的代码规范

废材姑娘

代码质量

微服务、DDD

chenzt

程序的机器级表示-控制

引花眠

计算机基础

十年一梦,小米的原罪得到救赎了吗?

脑极体

ARTS打卡 第11周

引花眠

ARTS 打卡计划

如何理解Java8 的函数式编程

Rayjun

Java 函数式编程

ARTS打卡Week 10

teoking

如何让区块链技术能够更好赋能数字社会建设

CECBC

区块链 数字经济

应用开发基础之-并发编程

superman

ARTS 打卡(20.07.20-20.07.26)

小王同学

计算机网络基础(十六)---传输层-可靠传输的基本原理

书旅

计算机网络 网络 协议族 网络层

学了那么多技术,为何依然成不了架构师

菜根老谭

架构设计原则

ARTS Week11

时之虫

ARTS 打卡计划

当实证资产定价遇上机器学习

分析101

人工智能 学习 金融科技 金融 资产定价

关于 Bash 的 10 个常见误解

柴锋

bash Linux DevOps Shell

深化区块链技术的应用 体现其价值产业发展良机

CECBC

区块链技术 数字经济

Suricata-流的处理

Phantasm

网络安全 suricata flow

BGP、OSPF、MPLS路由协议RFC分享

Phantasm

求刚好大于当前数组组合,Code Review最佳实践,JVM框架原理,JVM垃圾回收原理 John 易筋 ARTS 打卡 Week 12

John(易筋)

Code Review ARTS 打卡计划 JVM虚拟机原理 JVM垃圾回收原理 Array算法

Java 常见的几种 OOM

hepingfly

Java OOM

面试这么撩准拿offer,HashMap深度学习,扰动函数、负载因子、扩容拆分,原理和实践验证,让懂了就是真的懂!

小傅哥

Java 面试 hashmap 负载因子 扰动函数

LeetCode题解:21. 合并两个有序链表,迭代,JavaScript,详细注释

Lee Chen

大前端 LeetCode

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