【锁定直播】字节、华为云、阿里云等技术专家讨论如何将大模型接入 AIOps 解决实际问题,戳>>> 了解详情
写点什么

GitHub 使用 Electron 重写桌面客户端

  • 2017-05-18
  • 本文字数:1212 字

    阅读完需:约 4 分钟

GitHub 客户端应用开发总监 Phil Haack宣布,GitHub 使用Electron 重写了macOS 和Windows 的客户端。 GitHub 桌面客户端 Beta 版本还为最新 Beta 版本的 Atom 提供了新的 Git 和 GitHub 集成

负责重写应用的团队解释说,重新构建 GitHub 桌面客户端的主要原因是为了减少支持多平台开发所耗费的成本。实际上,分别为 Windows 和 macOS 开发原生应用要求使用两种不同的技术栈,也就是说,每个功能特性都需要重复实现、调试和维护。如果需要支持第三个平台,如 Linux,那么还需要投入额外的精力。

事实证明,为多个平台构建原生应用不具有伸缩性。

GitHub 团队快速地转向使用 Web 技术来开发他们的应用,比如 Electron 和 TypeScript。使用 Web 技术带来了一些好处,代码的构建运行时间从几分钟降到了几秒钟,代码变更会适时地被重新加载,还有可能实现实时的设计调整。不过,使用 Web 技术开发桌面应用也存在一些局限。

Web 并非完美的平台,不过原生应用也不是。使用 Electron 重写原生应用只不过是在不同的权衡点之间进行了交换。

开发人员解释说,Electron 为他们提供了平台相关的 API,通过扩展这些 API,他们获得了更多的灵活性,这也就是 Electron 给他们带来的好处之一。

经过一年的开发,基于 Electron 的客户端现在可以下载使用,也可以从GitHub 上拉取分支

InfoQ 对 Phil Haack 进行了访谈,以便更多地了解他们在 Electron 上的进展。

Electron 在诞生之后就成为很多著名应用程序的开发平台。你是怎么看待 Electron 在如今的跨平台应用开发解决方案中所扮演的角色?

Phil Haack: Electron 借助 Web 这个成功的平台,与 Web 在相同的方向上行进,只是它是从相反的端点出发。事实上,用户可以利用 Web 技术来开发桌面应用正是 Electron 的一个成功之处。

最近人们在 Reddit 上热议 Electron 是“桌面版的 Flash”,这要归因于它的内存使用和性能。Electron 的哪些关键因素会让它成为重要的技术?

Haack:刚才我已经说过,Electron 借助了 Web 技术平台。来自行业巨头,如 Google、Microsoft、Facebook、Slack、GitHub 等公司在 Chromium、Node、JavaScript、HTML、CSS 等技术上持续投入,这些技术也在持续改进,Electron 也因此从中获利。这些工具提供了很强大的功能,它们的发展和进步就是 Electron 的关键所在。我们也有很多有关如何改进 Electron 的讨论。

你是如何看待 Electron 在移动方面的可能性?你认为我们会发展到那一步吗?

Haack:社区有反馈说,他们希望能够发展到这一步。不过目前有 90% 的代码是基于 Chromium 的,我们与 Chromium 和 Node.js 绑在了一起,这就排除了 iOS,同时也让与 Android 集成也变得很困难。不过,这也为实现一个具有兼容性的 API 提供了机会。

GitHub 同时为 Atom 1.18 Beta 发布了一个新的 Git 和 GitHub 集成方案,开发者可以在 Atom 里管理他们的 Git 工作流,不需要在命令行或其他工具之间进行切换。

查看英文原文: GitHub Rewrites its Desktop Client Using Electron

2017-05-18 19:004559
用户头像

发布了 322 篇内容, 共 134.1 次阅读, 收获喜欢 144 次。

关注

评论

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

信息率失真函数与平均互信息

timerring

信息论

JWT 实现登录认证 + Token 自动续期方案,这才是正确的使用姿势!

Java你猿哥

Java ssm 架构师 Token JWT

selenium源码通读·2 | common/exceptions.py异常类

Python 源码 测试 自动化测试 selenium

阿里P8架构师3年心血终成的453页神级Java系统分析与架构设计文档

Java你猿哥

Java ssm 架构师 面经 Java系统性能

三天吃透Redis八股文

程序员大彬

redis #java

Three.js 进阶之旅:全景漫游-高阶版在线看房 🏡

dragonir

JavaScript 前端 three.js

文本处理流程:Text Workflow 1.5.1直装版

真大的脸盆

文本处理 处理文本 文本管理工具

MySQL中,SQL 查询总是先执行SELECT语句吗?

Java你猿哥

Java MySQL sql ssm

如何成为一名数据分析师(一)——面试准备

Data 探险实验室

数据分析 数据 数据可视化 数据分析师

GIS拓扑讲解点线面几何体的拓扑关系判断及运算分析_turf案例

zhoulujun

GIS Turf.js

架构实战营 - 备选架构设计文档模板

华仔

selenium源码通读·3 | 从源码看引入webdriver包的原因

Python 源码 测试 自动化测试 selenium

带你揭开神秘的javascript AST面纱之AST 基础与功能

京东科技开发者

JavaScript 前端 AST 京东云 企业号 4 月 PK 榜

Hex Tech,一个带编程协同能力的 BI 平台的“危”与“机”

CnosDB

数据库 时序数据库 开源社区 CnosDB

数据库原理及MySQL应用 | 数据库安全加固

TiAmo

MySQL 数据库 数据安全

微前端项目部署方案

京东科技开发者

微前端 京东云 企业号 4 月 PK 榜

从0到1构建基于自身业务的前端工具库

京东科技开发者

前端 京东云 企业号 4 月 PK 榜

首次公开!阿里巴巴内部Java 面试突击核心讲(1658 页),转载 40W+

Java你猿哥

Java 面试 ssm 面经 java核心知识

一个前端大佬的十年回顾 | 漫画前端的前世今生

京东科技开发者

JavaScript html 前端 京东云 企业号 4 月 PK 榜

GitHub登顶的 Java 面试八股文(2023最新)附答案详解

采菊东篱下

Java 编程

Go 命令行参数解析工具 pflag 使用

江湖十年

后端 命令行 Go 语言

开源7天Github斩获4.5万Stars!阿里2023版高并发设计实录鲨疯了

Java你猿哥

Java 面试 高并发 面经 春招

从Spring的AOP看Synchronized锁失效和事务失效的情况

Java你猿哥

spring ssm synchronized Java工程师

绝了!阿里大佬的"Redis深度核心笔记",从基础到源码,全是精华

Java你猿哥

Java redis 面试 面经 春招

聚焦弹性问题,杭州铭师堂的 Serverless 之路

阿里巴巴云原生

阿里云 云原生

GIS常用npm包:GeoJSON文件合并与元素过滤\属性过滤\图形合并

zhoulujun

GIS GeoJSON

ZBC 荣登OKX涨幅榜前列,月内涨幅逾六成

鳄鱼视界

Redis缓存高可用集群

京东科技开发者

redis 云计算 redis哨兵 京东云 企业号 4 月 PK 榜

gis经纬度坐标转换多格式兼容:支持字符串/数组/GeoJSON

zhoulujun

GIS GeoJSON 经纬度坐标转换

玩转Github:三分钟教你如何用 Github 快速找到优秀的开源项目

Java你猿哥

Java GitHub 开源 源码 ssm

GreatSQL社区月报 | 2023.03

GreatSQL

greatsql greatsql社区

GitHub使用Electron重写桌面客户端_Windows_Sergio De Simone_InfoQ精选文章