Atom実践入門──進化し続けるハッカブルなエディタ
はじめに
Atomは,GitHub創業者の一人defunkt(Chris Wanstrath)氏のサイドプロジェクトとして2008年に開発がスタートしました。彼の夢は,Web技術を使用してEmacsのようにカスタマイズ可能なエディタを作ることでした。その後,2011年11月にGitHubの公式プロジェクトに昇格,2014年5月にオープンソース化され,2015年6月にAtom 1.0がリリースされました。
「何やらGitHubがWebベースの新しいエディタを開発しているらしい」──2014年,パブリックベータテスト開始の報を聞いたとき,筆者が想像したのはAceのようなWebページへの埋め込みを目的としたエディタでした。AceはWebサイト上でコード編集を行える機能を提供できる便利なツールですが,プログラマーが本格的にコードを書くために使うエディタとしての機能は不足しています。そのため公開当初,筆者の心に響くものは何もありませんでした。
しかし,のちほどそれは大きな思い違いだと気付かされます。AtomはHTML,CSS,JavaScriptというWeb技術を利用していながらも,まぎれもないデスクトップアプリケーションであり,これまでEmacsを愛用していた筆者の熱い要望にも応え得る本当のエディタだったのです。
Atomが登場するまで,Web技術を利用したデスクトップ向けアプリケーションは,時計や天気の表示,電卓計算など単純な機能しか持たないウィジェットと呼ばれるデスクトップアクセサリーが一般的でした。それがWeb技術の限界だととらえられていたのです。ですが,Atomはその既成概念を大きく覆しました。テキストエディタのような激しいI/O(注:Input/Outputの略。データや信号の入出力を意味します。)を要求するアプリケーションをWeb技術でも構築できるという事実は,Ajax(Asynchronous JavaScript and XML)の登場以後に到来したWeb技術の歴史的転換点に匹敵すると言えるでしょう。
Atomは多くのオープンソースプロジェクトによって支えられており,またAtomで培われた基盤技術をElectronとしてオープンソースへと還元しています。その結果,現在ではチャットサービスSlackのデスクトップクライアント,メールソフトウェアNylas N1,そしてMicrosoftによって作成されたVisual Studio Codeなど,高度な機能を持つさまざまなアプリケーションがリリースされ,Web技術で作られたデスクトップアプリケーションが広く一般にも使われるきっかけを作りました。これらはAtomの持つ技術とビジョンが確かなものであったという事実を証明しています。
本書は,Atomの基本操作からさまざまな機能を追加するパッケージの利用,そしてパッケージの開発方法までを丁寧に解説した書籍です。2016年6月現在,4,000を超えるパッケージと1,000を超えるテーマ,そして100万人の月間ユーザーを抱えるコミュニティとなりました。標準でシンタックスハイライトや自動補完など豊富な機能を兼ね備えているAtomですが,最大の特徴は何と言ってもこのコミュニティとパッケージにあると言えます。コミュニティが提供するパッケージによってAtomには魅力的で新しい機能がどんどん追加され,今もなお成長し続けています。本書の中で,筆者が厳選したパッケージを多数紹介していますのでぜひ試してみてください。
もちろん,Atom以外にもプログラマーが愛する優れたエディタはいくつもあります。しかし,Atomはその中でも時代を体現したエディタであり,最も成長が楽しみなエディタです。そんなすばらしいエディタの本を最初に執筆できたことは光栄であり,また本書がきっかけとなって,読者の方にAtomの持つ可能性を存分に知ってもらえれば最高に幸せです。
2016年6月 大竹 智也
謝辞
最後に,査読を引き受けてくれた秋田明様,浦井誠人様,外村和仁様,フィリピンにて執筆環境を提供してくれた語学学校のサウスピーク様,いつも私を応援して励ましてくれた愛する映子,内容はわからないけれど出版を楽しみにしてくれている家族,今回も心強くサポートしてくれた技術評論社編集部の池田様,そして本書を手にとってくださったあなたに感謝します。
サンプルコードのダウンロード
本書に登場するサンプルコードは本書サポートサイトからダウンロードできます。