BT

你的观点很重要! 快来参与InfoQ调研吧!

GitHub使用Electron重写桌面客户端

| 作者 Sergio De Simone 关注 5 他的粉丝 ,译者 薛命灯 关注 11 他的粉丝 发布于 2017年5月19日. 估计阅读时间: 4 分钟 | ArchSummit社交架构图谱:Facebook、Snapchat、Tumblr等背后的核心技术

A note to our readers: As per your request we have developed a set of features that allow you to reduce the noise, while not losing sight of anything that is important. Get email and web notifications by choosing the topics you are interested in.

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT