編輯 | 云昭
出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)
真的假的!Coding編輯器已經(jīng)可以演變成一家公司全員在用的Office了!
全球最快的編輯器,可以說(shuō)把編輯器玩出了新高度!有些公司喜歡在辦公室貼標(biāo)語(yǔ),有些公司喜歡開(kāi)會(huì)畫流程。
Zed 團(tuán)隊(duì)的辦公方式別具一格:
所有人,每周一中午十二點(diǎn),直接一起走進(jìn) Zed。
注意,不是走進(jìn)某個(gè)會(huì)議室,是走進(jìn)一份真實(shí)、可編輯的文檔。
我們每周一在Zed舉行的“全體員工”會(huì)議
Nathan 剛結(jié)束本周的公告,Morgan 正在講指標(biāo)趨勢(shì)。我在一旁整理過(guò)去一周用戶給我們的反饋,其他同事在補(bǔ)充討論議題。與此同時(shí),一堆光標(biāo)在同一個(gè)文檔里跳來(lái)跳去,屏幕不斷被共享,語(yǔ)音隨時(shí)插入又自然退場(chǎng)。
而這一切——會(huì)議、記錄、討論、協(xié)同寫作——全都發(fā)生在 Zed 里。
這就是Zed每周慣例的 all-hands,一群工程師在同一張“數(shù)字辦公桌”上一起動(dòng)手、一起聊天、一起敲鍵盤。
想展示功能?直接在 Zed 里共享屏幕。想說(shuō)一句補(bǔ)充?插一條 note。想切到 Chrome?系統(tǒng)自動(dòng)幫你切到屏幕共享,再切回來(lái)。
二三十個(gè)光標(biāo)同步閃爍,誰(shuí)在更新本周計(jì)劃,誰(shuí)在補(bǔ)數(shù)據(jù)曲線,誰(shuí)在提討論議題,在一個(gè) Zed 編輯器里一目了然。
沒(méi)有 Zoom,沒(méi)有 Slack,沒(méi)有 Google Docs。整家公司就在編輯器里辦公。
震驚的是,這已經(jīng)不是什么實(shí)驗(yàn)性玩法,早已成為了 Zed 團(tuán)隊(duì)每天的真實(shí)日常。
一個(gè)功能很常見(jiàn)的編程IDE,變成一個(gè)全公司的辦公協(xié)作軟件?
到底怎么做到的?小編這就帶大家看一下其中的奧秘。
先科普下:Zed 的發(fā)起人是大名鼎鼎的 Atom原作者 Nathan Sobo。離開(kāi) Atom 團(tuán)隊(duì)后,他著手創(chuàng)立 Zed,目標(biāo)是打造一款性能更高、協(xié)作更流暢的編輯器,底層用 Rust 構(gòu)建。(現(xiàn)在Atom已經(jīng)成為了歷史了,Github已經(jīng)停止了支持。)
一、一個(gè)執(zhí)念:協(xié)作不能是外掛
你可能會(huì)說(shuō),Coding 編輯器有協(xié)作功能,這并不新鮮。但問(wèn)題就在這里。
據(jù)一名 Zed 的工程師在博客上爆料了這家公司刻在基因里的執(zhí)念。
Zed 的協(xié)作能力,一開(kāi)始就跟其他家不同。壓根就不是“要做一個(gè)功能”,而是當(dāng)成了一種執(zhí)念:
遠(yuǎn)程協(xié)作必須順滑到像兩個(gè)人坐在同一張桌子上打字。
對(duì)于這種執(zhí)念的來(lái)源,來(lái)自于創(chuàng)始人的情有獨(dú)鐘。
Zed 創(chuàng)始人 Nathan 最早在 Pivotal Labs 做 pair programming 時(shí),體驗(yàn)過(guò)那種“我敲一句、你立刻接下一句”的快感。但遠(yuǎn)程工具始終給不了這種感覺(jué)。
后來(lái)在 Atom 上做了 Teletype,雖然能協(xié)作,但體驗(yàn)仍然被性能限制在天花板下。
要做真正自然的協(xié)作,靠插件不行,一定要從底層重來(lái)。
于是有了 Rust,有了 gpui,有了 Zed。
這是 Zed 可以做到的原因:整個(gè)團(tuán)隊(duì)從最開(kāi)始就追求協(xié)作的極度流暢。
“我們從零開(kāi)始設(shè)計(jì) Zed,使其具有協(xié)作性——它不是一項(xiàng)附加服務(wù),也不是事后考慮的產(chǎn)物。”
二、其他編輯器的協(xié)作為何“不夠用”?
你可能也體驗(yàn)過(guò) ——現(xiàn)在幾乎所有編輯器都號(hào)稱支持多人協(xié)作,但用起來(lái)往往是這樣:
先找插件、再貼鏈接、再裝擴(kuò)展、再對(duì)權(quán)限
兩三個(gè)人編輯還好,四五個(gè)人就開(kāi)始卡
最后大家還是老老實(shí)實(shí)地默默打開(kāi) Zoom,開(kāi)啟屏幕共享
你看,協(xié)作功能“存在”,但沒(méi)有人愿意天天用。它不自然、不順、不敢依賴。
設(shè)置過(guò)程繁瑣不堪,令人厭煩;每次想要分享內(nèi)容,通常都需要安裝擴(kuò)展程序,并將鏈接粘貼到終端或編輯器中。多人同時(shí)編輯的內(nèi)容無(wú)法完美合并,隨著協(xié)作人數(shù)的增加,性能會(huì)迅速下降;最糟糕的是,你最終往往還是得通過(guò) Slack 或 Zoom 來(lái)共享屏幕。
三、Zed 虛擬辦公室一覽
而 Zed 的目標(biāo)很簡(jiǎn)單:讓協(xié)作成為你默認(rèn)的工作方式。先來(lái)看看這個(gè)虛擬辦公室究竟什么樣子?
合作概述
1.點(diǎn)擊狀態(tài)欄中的人員圖標(biāo)即可打開(kāi)協(xié)作面板,并且在通過(guò) GitHub 身份驗(yàn)證流程登錄后即可訪問(wèn)。
2.該區(qū)域包含稱為“頻道”的虛擬房間,這些房間按層級(jí)結(jié)構(gòu)組織。
3.點(diǎn)擊按鈕即可創(chuàng)建頂級(jí)頻道+。右鍵單擊現(xiàn)有頻道并選擇相應(yīng)New Subchannel選項(xiàng),即可創(chuàng)建嵌套子頻道。
4.GitHub頭像顯示了用戶所在的頻道。點(diǎn)擊頻道名稱即可加入。
5.點(diǎn)擊文檔圖標(biāo)即可訪問(wèn)其“頻道備注”,該備注作為與頻道關(guān)聯(lián)的元數(shù)據(jù)。
6.進(jìn)入頻道后,通過(guò)麥克風(fēng)圖標(biāo)靜音/取消靜音。
7.允許他人查看您的屏幕。
8.頻道與項(xiàng)目無(wú)關(guān)。項(xiàng)目可通過(guò)標(biāo)題欄中的按鈕自愿分享到頻道。頻道可以是公開(kāi)的(??)或僅限特定成員訪問(wèn)的(#??),并包含權(quán)限系統(tǒng),包括、和角色。
9.點(diǎn)擊標(biāo)題欄中的頭像即可關(guān)注隊(duì)友。如果您關(guān)注的隊(duì)友正在共享屏幕,Zed 會(huì)自動(dòng)在您的 Zed 實(shí)例中跟隨他們的光標(biāo),或跟隨他們的屏幕共享,具體取決于他們當(dāng)前是專注于 Zed 還是其他應(yīng)用程序。
四、Zed 為什么這么絲滑?就像一場(chǎng)多人游戲
光有執(zhí)念還不夠,Zed 底層采用了特別好的數(shù)據(jù)結(jié)構(gòu):CRDT(無(wú)沖突復(fù)制數(shù)據(jù)類型),來(lái)保證多人協(xié)作服務(wù)中卡頓、中斷、頻繁移動(dòng)光標(biāo)的問(wèn)題。
我們以CRDT作為核心數(shù)據(jù)結(jié)構(gòu),確保屬性無(wú)沖突且最終一致,所有人的更改都能無(wú)縫合并并最終收斂到同一狀態(tài)。
每一個(gè)人的編輯都能自然合并,不搶光標(biāo)、不沖突、不反復(fù)回退。
圖片
同時(shí),該架構(gòu)提供低延遲,無(wú)論同事身處同一辦公室還是遠(yuǎn)隔重洋,都能保持流暢的性能,無(wú)論是結(jié)對(duì)編程還是群體編程。
更關(guān)鍵的是——你進(jìn)入?yún)f(xié)作狀態(tài)根本不需要準(zhǔn)備:
- GitHub 登錄即進(jìn)入
- 頻道就是會(huì)議室
- 語(yǔ)音、跟隨、屏幕共享都內(nèi)置
- 你切到瀏覽器?它自動(dòng)切到你的屏幕給別人看
- 你回到編輯器?視圖自動(dòng)切回來(lái)跟隨你的光標(biāo)
你甚至?xí)涀约赫凇岸嗳藚f(xié)作”。而內(nèi)部人員則解釋道,這絕對(duì)不是為了宣傳,因?yàn)樽约恨k公的確需要夠絲滑。
我們這么做不是為了“宣傳亮點(diǎn)”。是因?yàn)檎夜久刻於伎窟@個(gè)辦公,不順暢根本沒(méi)人受得了。
五、公司內(nèi)部都怎么用?
打開(kāi) Zed 左側(cè)的協(xié)作面板,原來(lái)大家習(xí)慣的“文件樹”,變身成了一家正在運(yùn)轉(zhuǎn)的公司,準(zhǔn)確說(shuō)是一家公司的各個(gè)頻道樹。
內(nèi)部人員透露,每一個(gè)小的協(xié)作小組都有自己的虛擬辦公室,并表示每一個(gè)協(xié)作小組的頻道樹都是公司 Zed Industries 頻道樹的一小部分。
隨著公司的發(fā)展,Zed 的頻道樹結(jié)構(gòu)經(jīng)歷了多次迭代,但如今的結(jié)構(gòu)足夠靈活,可以適應(yīng)多種協(xié)作方式。
頻道樹結(jié)構(gòu)用于:全公司級(jí)的討論、參與項(xiàng)目、個(gè)人專注頻道。
1.公司級(jí)空間:
- this-week:大家寫本周計(jì)劃
圖片
- retro:每 6 周一次集體復(fù)盤

- demos:周五的展示時(shí)間,是公司最開(kāi)心的一小時(shí)
這些,都沒(méi)有 PPT,沒(méi)有主持稿,一切真實(shí)發(fā)生在文檔里。
此外,這個(gè)下面設(shè)有一些通用會(huì)議室,用于不適合其他地方且不需要專用空間的臨時(shí)會(huì)議。

2.項(xiàng)目空間:Zed 的“戰(zhàn)情室”
這是圍繞特定項(xiàng)目構(gòu)建頻道和團(tuán)隊(duì),大部分協(xié)作都在這里進(jìn)行。項(xiàng)目通常會(huì)整合大型計(jì)劃所需的多個(gè)功能,比如:Git 1.0、Edit Predictions v2、DeltaDB、Cloud……
每個(gè)項(xiàng)目都有自己的頻道樹,里面放著:
- 本階段目標(biāo)
- 任務(wù)狀態(tài)
- GitHub issues 和 project board
- 討論記錄
- 分頻道(比如專門討論 merge conflict UI)
走進(jìn)頻道,就像進(jìn)入一間帶白板、帶任務(wù)墻、帶歷史記錄的戰(zhàn)情室。
每一次項(xiàng)目加速推進(jìn),基本都發(fā)生在這里。
git 1.0 頻道及其子頻道
值得注意的是,內(nèi)部人員介紹,并非所有基于項(xiàng)目的頻道都專注于正在添加到 Zed 的功能;許多頻道的存在是為了支持非開(kāi)發(fā)工作,例如市場(chǎng)營(yíng)銷、社區(qū)和指標(biāo)。
3.個(gè)人頻道:屬于每個(gè)人的“數(shù)字工位”
在 people 頻道下,每個(gè)人都為自己建了一個(gè)小房間。
我們的人員頻道
誰(shuí)在自己頻道里,通常意味著 TA 正在深度工作;但你如果有問(wèn)題,也能直接“走進(jìn)去”問(wèn)一句。
這篇博客的初稿,就是在作者自己的 blog 子頻道里寫出來(lái)的。
細(xì)心的觀察者可能會(huì)注意到,在上面的截圖中,這些頻道旁邊沒(méi)有頭像。這些頻道空著并不罕見(jiàn),因?yàn)閳F(tuán)隊(duì)通常更喜歡盡可能地進(jìn)行協(xié)作!
Zed 給每個(gè)人的不是“自由”或“約束”,而是一個(gè)非常現(xiàn)實(shí)的設(shè)定:你可以專注,但你也處在一個(gè)真實(shí)團(tuán)隊(duì)里。
整體看下來(lái),Zed 這套虛擬辦公室可以說(shuō)相當(dāng)成熟了,堪比承擔(dān)了實(shí)體辦公室的工作。
開(kāi)辟了三級(jí)空間用于集體協(xié)作,又構(gòu)建了信息流樹,以支持公司高效運(yùn)營(yíng)的工作流程。更關(guān)鍵的是,人員可以根據(jù)團(tuán)隊(duì)的實(shí)際需求進(jìn)行靈活調(diào)整。
六、協(xié)作,還只是 Zed 的序章
據(jù)悉,Zed 現(xiàn)在的協(xié)作仍是 alpha 版,但團(tuán)隊(duì)已經(jīng)能用它運(yùn)營(yíng)整家公司。
- 信息天然串聯(lián),不需要翻 Slack
- 討論直接發(fā)生在代碼附近,不跳場(chǎng)景
- 項(xiàng)目進(jìn)展透明
- 多人一起寫代碼變成默認(rèn)方式
統(tǒng)統(tǒng)可以放在一個(gè)編輯器中完成。那么,下一步會(huì)是什么呢?
Zed團(tuán)隊(duì)的計(jì)劃是:將未來(lái)的開(kāi)發(fā)改造成持續(xù)流動(dòng)的對(duì)話流。
未來(lái)的開(kāi)發(fā)不應(yīng)該是一次次孤立的“代碼提交”,而是一條持續(xù)流動(dòng)的對(duì)話流。
每一次討論、編輯和見(jiàn)解都將與不斷演進(jìn)的代碼保持關(guān)聯(lián),團(tuán)隊(duì)成員和 AI 代理都可以訪問(wèn)這些內(nèi)容。
七、近7萬(wàn)星,開(kāi)源免費(fèi)!
近年來(lái),Zed在開(kāi)發(fā)者群體中呼聲大漲。看完今天它的理念和實(shí)際效果,小編愈發(fā)感覺(jué)一款革命式的編輯器即將誕生了。
打造革命性的產(chǎn)品需要耐心的打磨,不是一蹴而就的。Zed也是如此。
“過(guò)去幾年我們不得不停下協(xié)作開(kāi)發(fā),先補(bǔ)調(diào)試器、補(bǔ) Windows、補(bǔ) Git、補(bǔ) AI。但現(xiàn)在基礎(chǔ)鋪好了,我們要回到最初的愿景:打造全球最強(qiáng)的多人軟件開(kāi)發(fā)工具。”
當(dāng)然,優(yōu)秀的產(chǎn)品,往往都是開(kāi)源免費(fèi)的。(已經(jīng)69.7k stars了!)這里為大家奉上地址。
圖片
Github地址:https://github.com/zed-industries/zed/tree/main/crates/collab
大家甚至可以隨時(shí)走進(jìn)Zed那棵頻道樹里,去參觀內(nèi)部團(tuán)隊(duì)是“怎樣在 Zed 里構(gòu)建 Zed”的。
Zed,不愧是一款面向未來(lái)的理想編輯器,不,理想的Office!
參考鏈接:https://zed.dev/blog/zed-is-our-office



























