@xuemingdeng
2017-05-18T11:31:35.000000Z
字数 1583
阅读 1002
前端
GitHub
Atom
摘要:
GitHub客户端应用开发总监Phil Haack宣布,GitHub使用Electron重写了macOS和Windows的客户端。GitHub桌面客户端Beta版本还为最新Beta版本的Atom提供了新的Git和GitHub集成。InfoQ就此事对Phil Haack进行了采访。
正文:
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工作流,不需要在命令行或其他工具之间进行切换。