Google社内IDE開発史:断片化からCloud IDEへ

原題: A History of IDEs at Google

なぜ重要か

巨大企業における開発ツール統一化の課題とCloud IDEの実用性を示す貴重な事例

Googleの元エンジニアがブログで同社のIDE開発史を公開した。2011年当初はJeff Deanら幹部が統一IDE導入に否定的だったが、2013年頃からCloud IDE「Cider」が登場し、軽量性とコード補完機能により社内で普及したという。モノレポの巨大さが従来IDE設計思想の限界を示した。

2011年から2024年までGoogleに在籍したエンジニアLaurent Le Brun氏が、同社のIDE開発の変遷をブログで詳述した。2011年当時、幹部エンジニアに「全社員向け統一IDE」について質問したところ、Jeff Dean氏は「開発者全員が共通エディタで合意するのは不幸の元。それぞれ重視点が異なり、最終的には大した問題ではない」と回答し、これが長年の主流意見だったという。

各エンジニアが異なるIDEを使用することで、Bazel対応、Starlark支援、コードフォーマット、コード検索統合などの機能を各IDE向けに再実装する必要があった。しかしGoogle内部文化により、エンジニアが自発的にツール開発を始め、共有コードベースを通じて他者が発見・貢献する仕組みで対応していた。重要プロジェクトは最終的に公式チーム化され、2015年頃にはIntelliJ統合専任チームも設立された。

2013年頃、予想外の展開として「Cider」というWeb版エディタが登場した。「Cloud IDE」にrを付けて覚えやすくした名称で、当初は技術文書作成者がmarkdownファイル編集用に使用していた。ワンクリックでプルリクエスト送信・自動マージが可能な効率的ワークフローを提供した。その後、言語サーバープロトコル経由のコード補完機能追加が転換点となり、従来IDEより高速起動する軽量クライアントとして開発者にも普及した。

モノレポの巨大さにより、ソースコード、ビルドメタデータ、インデックス作成、解析がすべてローカルで行われるという従来IDE設計思想が限界に達したことも、この変化の背景にあった。

出典

laurent.le-brun.eu — 元記事を読む →