学号:1602120751
姓名:曹卫杰
【嵌牛导读】:GitHub客户端应用开发总监 Phil Haack宣布,GitHub使用 Electron重写了 macOS和 Windows的客户端。GitHub桌面客户端 Beta版本还为最新 Beta版本的Atom提供了新的Git和 GitHub集成。
【嵌牛鼻子】:Electron,桌面应用
【嵌牛正文】:
负责重写应用的团队解释说,重新构建 GitHub桌面客户端的主要原因是为了减少支持多平台开发所耗费的成本。实际上,分别为 Windows和 macOS开发原生应用要求使用两种不同的技术栈,也就是说,每个功能特性都需要重复实现、调试和维护。如果需要支持第三个平台,如 Linux,那么还需要投入额外的精力。
事实证明,为多个平台构建原生应用不具有伸缩性。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工作流,不需要在命令行或其他工具之间进行切换。
英文作者 | Sergio De Simone
译者 |薛命灯