學(xué)號:1602120751
姓名:曹衛(wèi)杰
【嵌牛導(dǎo)讀】:GitHub客戶端應(yīng)用開發(fā)總監(jiān) Phil Haack宣布续语,GitHub使用 Electron重寫了 macOS和 Windows的客戶端赠叼。GitHub桌面客戶端 Beta版本還為最新 Beta版本的Atom提供了新的Git和 GitHub集成做瞪。
【嵌牛鼻子】:Electron匹摇,桌面應(yīng)用
【嵌牛正文】:
負(fù)責(zé)重寫應(yīng)用的團(tuán)隊解釋說谋梭,重新構(gòu)建 GitHub桌面客戶端的主要原因是為了減少支持多平臺開發(fā)所耗費(fèi)的成本。實際上,分別為 Windows和 macOS開發(fā)原生應(yīng)用要求使用兩種不同的技術(shù)棧强窖,也就是說泪姨,每個功能特性都需要重復(fù)實現(xiàn)游沿、調(diào)試和維護(hù)。如果需要支持第三個平臺肮砾,如 Linux诀黍,那么還需要投入額外的精力。
事實證明仗处,為多個平臺構(gòu)建原生應(yīng)用不具有伸縮性眯勾。Web技術(shù)來開發(fā)他們的應(yīng)用,比如 Electron和 TypeScript婆誓。使用Web技術(shù)帶來了一些好處吃环,代碼的構(gòu)建運(yùn)行時間從幾分鐘降到了幾秒鐘,代碼變更會適時地被重新加載旷档,還有可能實現(xiàn)實時的設(shè)計調(diào)整模叙。不過,使用Web技術(shù)開發(fā)桌面應(yīng)用也存在一些局限鞋屈。Web并非完美的平臺范咨,不過原生應(yīng)用也不是。使用 Electron重寫原生應(yīng)用只不過是在不同的權(quán)衡點之間進(jìn)行了交換厂庇。
開發(fā)人員解釋說渠啊,Electron為他們提供了平臺相關(guān)的 API,通過擴(kuò)展這些 API权旷,他們獲得了更多的靈活性替蛉,這也就是 Electron給他們帶來的好處之一。
經(jīng)過一年的開發(fā)拄氯,基于 Electron的客戶端現(xiàn)在可以使用躲查,也可以從 GitHub上拉取分支。InfoQ對 Phil Haack進(jìn)行了訪談译柏,以便更多地了解他們在 Electron上的進(jìn)展镣煮。Electron在誕生之后就成為很多著名應(yīng)用程序的開發(fā)平臺。
你是怎么看待 Electron在如今的跨平臺應(yīng)用開發(fā)解決方案中所扮演的角色鄙麦?
Phil Haack:Electron借助 Web這個成功的平臺典唇,與 Web在相同的方向上行進(jìn),只是它是從相反的端點出發(fā)胯府。事實上介衔,用戶可以利用 Web技術(shù)來開發(fā)桌面應(yīng)用正是 Electron的一個成功之處。
最近人們在 Reddit上熱議 Electron是“桌面版的 Flash”骂因,這要歸因于它的內(nèi)存使用和性能炎咖。Electron的哪些關(guān)鍵因素會讓它成為重要的技術(shù)?
Haack:剛才我已經(jīng)說過,Electron借助了 Web技術(shù)平臺塘装。來自行業(yè)巨頭急迂,如 Google、Microsoft蹦肴、Facebook、Slack猴娩、GitHub等公司在 Chromium阴幌、Node、JavaScript卷中、HTML矛双、CSS等技術(shù)上持續(xù)投入,這些技術(shù)也在持續(xù)改進(jìn)蟆豫,Electron也因此從中獲利议忽。這些工具提供了很強(qiáng)大的功能,它們的發(fā)展和進(jìn)步就是 Electron的關(guān)鍵所在十减。我們也有很多有關(guān)如何改進(jìn) Electron的討論栈幸。
你是如何看待 Electron在移動方面的可能性?你認(rèn)為我們會發(fā)展到那一步嗎帮辟?
Haack:社區(qū)有反饋說速址,他們希望能夠發(fā)展到這一步。不過目前有 90%的代碼是基于 Chromium的由驹,我們與 Chromium和 Node.js綁在了一起芍锚,這就排除了 iOS,同時也讓與 Android集成也變得很困難蔓榄。不過并炮,這也為實現(xiàn)一個具有兼容性的 API提供了機(jī)會。
GitHub同時為Atom 1.18 Beta發(fā)布了一個新的 Git和 GitHub集成方案甥郑,開發(fā)者可以在 Atom里管理他們的 Git工作流逃魄,不需要在命令行或其他工具之間進(jìn)行切換。
英文作者 | Sergio De Simone
譯者 |薛命燈