BT

您是否属于早期采用者或者创新人士?InfoQ正在努力为您设计更多新功能。了解更多

GitHub使用Electron重写桌面客户端

| 作者 Sergio De Simone 关注 4 他的粉丝 ,译者 薛命灯 关注 9 他的粉丝 发布于 2017年5月19日. 估计阅读时间: 不到一分钟 | 硅谷人工智能、机器学习、互联网金融、未来移动技术架构 ,尽在QCon上海2017

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