Slack是用Hack語言開發
Slack 的後端是用Hack編寫的,它在HHVM上執行。程式碼庫在過去幾年中顯著增長,今天一個新的克隆需要近 30 分鐘。由於這種尺寸,執行 HHVM 已經成為資源密集型的,並且除了影響其他應用程式的效能外,還因為讓工程師的膝上型電腦聽起來像發電機而臭名昭著。
儘管沒有強制性的單一開發環境,但大多數 webapp 工程師使用VSCode來完成他們的工作。VSCode 提供了廣泛的擴充套件來支援多種語言,包括 Hack,具有語法高亮、格式化程式和 linter 等功能。多年來,Slack 工程師投入了大量時間來提出不同的策略來改善我們的開發體驗。雖然它運作得相當好,但它總是很脆弱。
最初的開發工作流程涉及直接在 macOS 上執行 HHVM,它遇到了自己的一組常見問題:自制程式破壞安裝、升級失敗以及在釋出新版本的 HHVM 時必須趕上進度。由於 HHVM 更新的頻率,這成為了一個主要的痛點,給工程師帶來了開銷和頻繁的中斷。
由於初始工作流程的限制,下一次迭代將所有 HHVM 依賴項移至本地 docker,使工程師更容易保持同步。這需要大量自定義指令碼和服務來構建用於使用 HHVM 執行 webapp 的 docker 映像。儘管這個解決方案解決了很多不一致的問題,但它帶來了新依賴項的開銷,例如 docker、維護 HHVM 構建映像以及將所有內容放在一起的自動化指令碼。
雖然這比以前的工作流程有了顯著的改進,但從我們內部 docker 自助渠道的高流量來看,顯然需要做更多工作才能獲得順暢的開發體驗。
詳細點選標題
相關文章
- Hack:用於HHVM的一種新程式語言
- Hack – Facebook推出的新語言
- 《黑神話·悟空》是用什麼程式語言開發的?
- Hack:Facebook推出的新程式語言
- 忘記 PHP!Facebook 的 HHVM 引擎將轉用 Hack 語言PHP
- nand2tetris_hack組合語言NaN組合語言
- ios應用開發+swift語言入門iOSSwift
- App 開發語言APP
- python 是開源語言嗎:Python 是一種開源語言嗎?Python
- JS是世界上最好的語言—— 使用Electron開發桌面應用(一)JS
- Go語言一個輕便的實時日誌類似slack收集應用Go
- 搞安全開發都是用什麼程式語言?
- 使用Go語言開發iOS應用(Swift版)GoiOSSwift
- 國人開發的程式語言-“明”語言
- 為什麼說 Python 是開發 Web 應用最強大的語言PythonWeb
- Swift 新語言開發Swift
- C語言開發工具C語言
- go語言安卓開發Go安卓
- Python vs Ruby: 誰是最好的 web 開發語言?PythonWeb
- 【iOS開發】如何用 Swift 語言進行LBS應用的開發?iOSSwift
- 用solidity語言開發代幣智慧合約Solid
- 各行業都愛用什麼程式語言開發?行業
- 使用Go語言開發Android&IOS應用GoAndroidiOS
- 用Nim語言開發windows GUI圖形介面程式WindowsGUI
- 用C++從0開始開發自己的程式語言C++
- Go語言是徹底的面向組合的併發語言Go
- Java 語言是強型別語言語言(轉)Java型別
- java開發系統核心:使用C語言開發系統應用程式JavaC語言
- python語言的優點是什麼?python開發Python
- plsql開發語言基礎SQL
- Rust語言開發資源Rust
- 鴻蒙開發TypeScript語言:【Number】鴻蒙TypeScript
- C語言可以用來開發那些專案呢?C語言
- 如何選擇開發語言或者開發工具
- 什麼是CSS hackCSS
- CFF:Java 和 JavaScript 是企業開發所用最普遍的語言JavaScript
- 探索自然語言處理:語言模型的發展與應用自然語言處理模型
- GO 語言快速開發入門Go