Slack是用Hack語言開發

banq發表於2022-09-04

Slack 的後端是用Hack編寫的,它在HHVM上執行。程式碼庫在過去幾年中顯著增長,今天一個新的克隆需要近 30 分鐘。由於這種尺寸,執行 HHVM 已經成為資源密集型的,並且除了影響其他應用程式的效能外,還因為讓工程師的膝上型電腦聽起來像發電機而臭名昭著。

儘管沒有強制性的單一開發環境,但大多數 webapp 工程師使用VSCode來完成他們的工作。VSCode 提供了廣泛的擴充套件來支援多種語言,包括 Hack,具有語法高亮、格式化程式和 linter 等功能。多年來,Slack 工程師投入了大量時間來提出不同的策略來改善我們的開發體驗。雖然它運作得相當好,但它總是很脆弱。

最初的開發工作流程涉及直接在 macOS 上執行 HHVM,它遇到了自己的一組常見問題:自制程式破壞安裝、升級失敗以及在釋出新版本的 HHVM 時必須趕上進度。由於 HHVM 更新的頻率,這成為了一個主要的痛點,給工程師帶來了開銷和頻繁的中斷。

由於初始工作流程的限制,下一次迭代將所有 HHVM 依賴項移至本地 docker,使工程師更容易保持同步。這需要大量自定義指令碼和服務來構建用於使用 HHVM 執行 webapp 的 docker 映像。儘管這個解決方案解決了很多不一致的問題,但它帶來了新依賴項的開銷,例如 docker、維護 HHVM 構建映像以及將所有內容放在一起的自動化指令碼。

雖然這比以前的工作流程有了顯著的改進,但從我們內部 docker 自助渠道的高流量來看,顯然需要做更多工作才能獲得順暢的開發體驗。

詳細點選標題

相關文章