【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

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

关注

评论

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

Kyligence 通过 SOC 2 Type II 审计,以可信赖的企业级产品服务全球客户

Kyligence

国际权威鉴证标准 企业级数据分析

模块九 - 设计电商秒杀系统

Elvis FAN

web前端培训费用是多少

小谷哥

Netty进阶 -- 非阻塞网络编程 实现群聊+私聊+心跳检测系统

Bug终结者

Netty 8月月更

个推数据资产管理经验 | 教你打造数据质量心电图,智能检测数据“心跳”异常

个推

大数据 数据智能 数据资产管理 数据质量保障 数据异常检测

嘉为蓝鲸荣获工信部“数字技术融合创新应用解决方案”

嘉为蓝鲸

DevOps 运维 AIOPS 信创 研发

培训机构学习费用是多少呢?

小谷哥

百度用户产品流批一体的实时数仓实践

百度Geek说

数据库 大数据

国内首个微服务开发项目(Vue+Spring Boot+Nacos)

冉然学Java

Java 源码 微服务 Spring Cloud 开发

制品库是什么?

雨后小溪

DevOps Artifactory 制品库 制品仓库 Packages

可视化服务编排在金融APP中的实践

京东科技开发者

可视化 BFF 金融 Obsuite

毕业总结

Elvis FAN

从脚本到剪辑,影像大师亲授的后期制作秘籍

博文视点Broadview

2022年裁员潮,失业程序员何去何从?

千锋IT教育

太香了!自从用了这款接口神器,我的团队效率提升了 60%!

Java永远的神

Java 程序员 程序人生 项目 Apifox

从《中国视频云市场跟踪》最新报告,看视频云的赛道演进

阿里云视频云

视频云 市场

如何培养ui设计师的设计思维?

小谷哥

阿里云贾朝辉:云XR平台支持彼真科技呈现国风科幻虚拟演唱会

阿里云弹性计算

视觉计算 虚拟演唱会 云XR平台 GPU实例

StarRocks on AWS 回顾 | Data Everywhere 系列活动深圳站圆满结束

StarRocks

数据库

多线程下自旋锁设计基本思想

snlfsnef

系统设计 设计模式 锁机制 自旋锁 多线程并发

漏洞管理计划的未来趋势

SEAL安全

安全漏洞 企业安全 企业it安全 软件供应链安全 漏洞管理

Open Office XML 格式里如何描述多段具有不同字体设置的段落

Jerry Wang

xml 微软 Office 8月月更 openOffice

用低代码驱动IT现代化

力软低代码开发平台

人脸考勤是选择人脸比对1:1还是人脸搜索1:N?

夏夜许游

人脸识别 人脸考勤

培训学习前端开发技术好吗?

小谷哥

StoneDB 文档捉虫活动第一季

StoneDB

MySQL 数据库 开源 大数据 开源 8月月更

不止跑路,拯救误操作rm -rf /*的小伙儿

华为云开发者联盟

开发 配置文件 OM脚本

一文读懂NFT数字藏品为何风靡全球?

智捷云

Java反射机制清空字符串导致业务异常分析

华为云开发者联盟

Java 开发

阿里内部共享,彩印图文版《Elasticsearch实战》文档,堪称经典!

冉然学Java

Java elasticsearch 开源 阿里 构架

了解大数据培训机构的过程

小谷哥

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