最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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:004561
用户头像

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

关注

评论

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

乙己说:LFU实现思路整理

再见小飞侠

缓存 LeetCode

用 R 语言打个印咋就这么费事儿呢

张利东

可视化 R

力扣刷题盛行,风气由何而来?

南湾小猪

刷题

职场提问的“唐太宗”原则

大伟

系统服务构建-BFF 助力前后端分离

图南日晟

php 微服务 BFF

2020年4月北京BGP机房网络质量评测报告

博睿数据

运维 服务器 机房 数据中心 评测

Android | Tangram动态页面之路(七)硬核的Virtualview

哈利迪

android

【写作群星榜】本周写作平台优秀作者&文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

学会独立思考的前提

fahsa

自我提升

回“疫”录(23):如果岁月可回头

小天同学

疫情 个人成长 回忆录 现实纪录 纪实

从40万美元创业到执掌5500亿美元的帝国,聊聊《苏世民:我的经验与教训》这本书

万佳

读书笔记 商业 苏世民 金融 企业管理

系统化服务构建-调用链管理

图南日晟

微服务 全链路监控 链路追踪

一文读懂Java注解

JFound

Java

突然的自我

月白

自我思考

如何为一家移动游戏公司制定产品策略(严肃长文)

谢锐 | Frozen

游戏出海 手机游戏

谈谈控制感(8):元控制感

史方远

职场 心理 成长

Java 简介

编号94530

Java jdk java简介 jdk8

Android与JS的交互:JsBridge的简单使用

AR7

Java android

Dubbo - 初识Apache Dubbo

Java收录阁

dubbo

真香!谷歌终与美国国防部合作,签署百万美金云服务合同

神经星星

云计算 互联网巨头 互联网 谷歌Google

写给管理者的睡前故事

石云升

读书笔记 故事 管理者

SpringCloud之服务提供者与消费者

北漂码农有话说

unittest框架

Flychen

Python 自动化测试 unittest

【有奖调研】大数据与人工智能从业者有奖需求用研

Apache Flink

大数据 flink 流计算 实时计算

工厂模式——这一篇真够了

大头星

Java 架构 面试 设计模式 工厂模式

G-P-M 调度模型深度解析之手撸一个高性能 goroutine 池

潘建锋

并发编程 协程 Go 语言

【Howe 学 JAVA】断点续传原理精析及简单实现

Howe

Java 断点续传

投机者

Neco.W

投机 口罩 头盔 投机者

现代生活对我们大脑的危害

董一凡

生活质量

Jenkins:批量自动将 Maven 类型 Job 迁移到自由风格类型

donghui

jenkins

自我革新最难的是革自己的命

史方远

职场 成长

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