close

編譯 | 核子可樂、Tina
GitHub 有 Atom;微軟有 Visual Studio Code。

近日 GitHub 公布計劃,將在今年 12 月 15 日正式關停 Atom 項目。作為一款開源文本編輯器,Atom 啟發並影響了眾多商業應用程序,包括微軟 Visual Studio Code、Slack 以及 GitHub Desktop 等等。

GitHub 方面表示,這樣做是為了集中精力打造雲軟件產品。

在周三的公告中,GitHub 解釋稱「雖然發展軟件開發者社區的目標從未動搖,但我們還是決定讓 Atom 退役。未來,我們將繼續通過微軟 Visual Studio Code 和 GitHub Codespaces 踐行為雲環境提供快速可靠軟件開發體驗的承諾。」GitHub Codespaces 是一套集成有 Visual Studio Code 的雲託管開發環境。

2018 年 6 月,在微軟決意收購 GitHub 時,時任 CEO 的 Nat Friedman 曾向 GitHub 社區做出保證,表示 Atom 不僅還在、而且活得很好。Nat Friedman 在 Reddit 論壇的討論帖中表示,「Atom 是一款出色的編輯器,擁有健康的社區、堅定的粉絲、出色的設計,並在實時協作方面做出了相當亮眼的嘗試。在微軟,我們也一直在使用 Atom、VS Code、Sublime 乃至 Vim 等各種編輯器,希望開發者們也能在 GitHub 上根據喜歡隨意選擇編輯器工具。」

「因此,我們將繼續開發和支持 Atom 與 VS Code。」

為什麼微軟有 VS Code 還讓 Atom 繼續存活?這沒道理。

經過短短四年時光,Atom 就陷入了停滯。據 GitHub 稱,除了維護和安全更新之外,Atom 項目幾年來沒有發布過任何重大新功能。在此期間,社區參與度有所下降,本地安裝軟件業務的吸引力看起來確實不如雲應用程序——畢竟後者不僅有望提供穩定的經常性收入,還能鎖定供應商、收集用戶信息。

Atom 的故事

Atom 作為 GitHub 創建者 Chris Wanstrath( @defunkt )的編外項目,起源於 2008 年中期。當時,Chris 稱之為 Atomicity,其初衷是利用 Web 技術來設計一個像 Emacs 一樣可定製化的軟件,為新一代的開發者提供一個具有完全控制權的編輯器。但是,與很多其他編外項目的命運相同,Chris 在看到 GitHub 成功的希望之後,就擱淺了 Atomicity。

到 2011 年 8 月,GitHub 把 Ace 加入到 github.com 中用於文件的編輯工作,再次激發了 Chris 對於 Atomicity 的興趣。三天後,Chris 用 Ace 編寫了一個運行在原生 WebView 空間內的 OS X 應用。由此,Atom 項目的代碼編寫工作正式啟動。在之後的 3 個月內,Chris 開始在閒暇時間致力於 Atomicity 的工作。到 11 月份,Atomicity 正式更名為 Atom,並升級為了官方的 GitHub 項目。12 月份,treetop 的作者 Nathan Sobo(@nathansobo) 加入了 GitHub,全職進行 Atom 的開發。

2015 年,GitHub 發布了 Atom 1.0 版本。在此前的 18 個月裡,Atom 預覽版的下載量超過了 130 萬,每個月服務超過 35 萬活動用戶。Atom 允許用戶安裝第三方包和主題來自定義編輯器的功能和外觀,在 1.0 版本時其用戶社區發布了 2090 多個 Atom 擴展和 660 個主題,用戶可以根據自己的喜好輕鬆設置它。Atom 1.0 版本實現了 Chris 的初衷——開發者擁有編輯器完全的控制權,成為未來很多工作的基礎。

在微軟 Visual Studio Code 流行起來之前,Atom 的發展還算正常。Stack Overflow 2016 年開發者調查報告稱,根據超過 46,000 人的反饋,12.5% 的軟件開發人員使用 Atom。2017 年,Atom 被 20% 的 Web 開發人員、20.7% 的系統管理員和 15.9% 的數據科學家所使用。

Atom 是一個開源項目,因此也有企業根據 Atom 為自己量身定製自己的編輯器,Facebook(Meta)是其中之一。

此前,Facebook 使用 Apple 的 Xcode 軟件來構建應用程序。但其代碼庫幾乎與微軟的 Windows 操作系統一樣大,以至於 Xcode 無法真正處理它,在整個公司範圍內,Xcode 每天都會崩潰 50 次左右。

「Xcode 無法滿足我們的需求,」Facebook 的 Mike Bolin 說。「它適用於小型開發團隊,甚至是中型團隊。」 因此,該公司基於 Atom 構建了自己的集成開發環境 (IDE)。這也就是 Nuclide 和 Atom IDE 的起源,它們為 React Native、Hack 和 Flow 項目提供了一流的開發環境。

隨後 Nuclide 被 Facebook 開源:https://github.com/facebookarchive/nuclide。用開源來構建更好的產品,而後用開源回報社區,是一個非常好的良性循環。

微軟的策略

Visual Studio Code 於 2015 年推出,它或多或少是 Atom 的官方繼任者:由 GitHub 的所有者微軟開發,並具有許多集成的 GitHub 功能。

這一年,GitHub 將 Atom shell(用於同 Chromium、Node.js 和本機 API 相集成的獨立組件)更名為 Electron(基於 Web 技術的跨平台應用程序框架),微軟則以 Atom 和 Electron 為基礎配合 GitHub 開發出了 Visual Studio Code。

有評價說:「這就是微軟臭名昭著的經典套路:接納、技術擴散,然後……就沒有然後了。但此次對 Atom 的下手還是過狠,搞得根本不像常規的項目退役,而是雷霆手段下的排除異己。」

巧合的是,2018 年 12 月,在微軟收購 GitHub 半年後,Facebook 決定退出 Nuclide、Atom-IDE 的開源工作,並將 Nuclide 項目進行了歸檔。

對於 Atom 的退役決定,GitHub 公司一位發言人在郵件採訪中表示,「我們希望在未來幾年投資於核心業務,也就是專注於增強開發者的雲端體驗。目前已經有很多強大的 Atom 替代方案能滿足用戶的各種需求,而且 VS Code 也獲得了可觀的市場份額,所以我們對此次調整充滿信心。」

「Atom 的退役對 GitHub 開發者生態應該不會造成太多影響。GitHub 的 API 仍將得到支持,允許開發者在數千種其他產品中順暢實現 GitHub 集成。我們還維護有自己的應用程序套件,包括 GitHub Desktop、GitHub Mobile 和 GitHub CLI。」

根據 Stack Overflow 2021 年開發者調查,有 13% 的開發者使用 Atom 作為他們的主要環境,71% 的人使用 VS Code。

儘管終期已定,但 Atom 巨大的影響力從 Electron 框架身上就可見一斑。時至今日,Electron.js 仍然是 Discord、Skype、Slack、Trello 和 Visual Studio Code 等應用程序的基礎。但技術變化總是說來就來,微軟之前就曾表示打算在 Teams 中擺脫 Electron。未來,Flutter、Tauri 以及微軟剛剛公布的.NET Multi-platform App UI (.NET MAUI) 等跨平台框架也可能徹底取代 Electron。

另外, GitHub Atom 編輯器的同一團隊正在創建一個新的名為 Zed 項目,由核心貢獻者 Max Brunsfeld 和創始成員 Nathan Sobo 領導。

Nathan Sobo 表示, Zed 作為 Atom 的繼任者,用 Rust 編寫,自定義原生 UI 框架,設計為「協作」產品,將於本周推出 Private Alpha 版。

無論如何,2022 年 12 月 15 日「金盆洗手」之後,Atom 應該也不會立馬退出江湖。GitHub 倒是打算把 Atom repo 歸檔封存,但這畢竟是款開源編輯器,只要願意繼續支持,大家還是可以隨意使用。

參考鏈接:

https://www.theregister.com/2022/06/08/github_atom_dropped/

https://changelog.com/podcast/241

https://www.infoq.cn/article/2015/07/atom-history

https://www.wired.com/2015/06/github-atoms-code-editor-nerds-take-universe/

https://news.ycombinator.com/item?id=31668426

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()