写点什么

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

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

关注

评论

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

软件测试/测试开发/全日制/测试管理丨后端接口文档管理Swagger

测试人

软件测试

聚道云软件连接器助力企业实现有赞商城与金蝶云星空系统无缝对接

聚道云软件连接器

案例分享

荣登榜首,天翼云位列专属云容器服务市场第一!

天翼云开发者社区

云计算 容器服务

软件测试/测试开发/全日制 |利用ChatGPT自动生成自动化测试脚本

测吧(北京)科技有限公司

测试

软件测试/测试开发/全日制/测试管理丨ORM中间件 SQLAlchemy

测试人

软件测试

年度回顾 | 2023年,云起无垠的开拓与创新

云起无垠

面试官:单例Bean一定不安全吗?实际工作中如何处理此问题?

王磊

Java 面试

中国电信天翼云位列云数据库领导者象限!

天翼云开发者社区

数据库 云计算 大数据

谷歌SEO秘籍:On-Page seo开启网站突破之门

九凌网络

一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库

不在线第一只蜗牛

数据库 nosql .net

软件测试/测试开发/全日制 |Python全栈开发:实践容器化部署与微服务架构

测吧(北京)科技有限公司

测试

腾讯云 Elasticsearch 新篇章 - 存算分离+读写分离+查询/IO并行化, 助力日志/搜索领域降本增效

腾讯云大数据

ES

软件测试/测试开发/全日制/测试管理丨RESTX框架

测试人

软件测试

国内有哪些比较好用的低代码开发平台?

互联网工科生

软件开发 低代码开发平台 JNPF

跨境电商卖家都在用的海外云手机

Ogcloud

云手机 海外云手机 跨境电商云手机

软件测试/测试开发/全日制/测试管理丨前端框架Vue

测试人

软件测试

EVE-NG初次启动及WEB客户端访问

小魏写代码

创建service后,kubernetes会发生什么

华为云开发者联盟

Kubernetes 云原生 后端 华为云 华为云开发者联盟

左耳听风 - 做正确的事,等着被“开除”「读书打卡 day 04」

Java 工程师蔡姬

读书笔记 程序员 读书 职业发展 左耳朵耗子

玩转TypeScript--openInula中的TypeScript实践(第一篇)

openInula

typescript 前端 Web 开发 前端框架

飞管飞控系统仿真应用探究与浅析

DevOps和数字孪生

飞管飞控

数据交付变革:研发到产运自助化的转型之路

百度Geek说

大数据 数据分析 BI 分析工具 企业号 1 月 PK 榜 数据仓模

阿里云实时计算企业级状态存储引擎 Gemini 技术解读

Apache Flink

聚道云软件连接器助力某品牌管理有限公司实现有赞对接三联

聚道云软件连接器

案例分享

5分钟搞定vue3函数式弹窗

不在线第一只蜗牛

Java Vue 函数式

揭秘关键指标稳定币供应比率(SSR):它如何影响你的投资?

Footprint Analytics

区块链 加密货币 稳定币

企业成功部署SD-WAN的七个关键要点

Ogcloud

网络 SD-WAN 企业网络

TikTok云手机:突破传统社媒营销方式的黑科技

Ogcloud

TikTok 云手机 海外云手机

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