読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

Adobe Brackets

6月25日にアドビがJavaScript, HTML, CSSで書かれたJavaScript, HTML, CSS用コードエディタBracketsを発表されてました。

https://github.com/adobe/brackets

Githubでの公開は5月7日には始まっていたようです。


Siphon, SPELL NOTEの開発を通じて、動的言語の場合、ソースコードエディタに対象のプログラミング言語のランタイム環境が入っていると、その場で評価できたり、自動補完が簡単に実装できたり、とても気持ちがいいと感じていました。ところが私が作ったのはウェブアプリなので、ローカルファイルにアクセスできず(File APIでできるのでしょうか?)、開発自体は別のエディタを使っています。自動補完とかもっとうまくできて、リファレンスを検索掛けることももっと少なくて済むのにと思いながら。

なので、Bracketsにはすぐにピンと来ました。PRビデオを見てみると勘違いだったみたいですが(笑)、私とは別の視点で感心しました。エディタのコアの部分にCodeMirrorを使っているところも共感しました。PRビデオでは3つのコンセプトを歌っています。

"Just you and your code"

速くコーディングできるように機能を提供したいが、そのためにアイコンやツールバーやパネルを追加していくことはしない。デモでは、HTMLのタグ上でショートカットキーを押すと、そのタグに関連するCSSコードが表示され、編集できるところを見せてくれます。

"Brackets is in sync with your browser"

Bracketsからソースコードのプレビューとしてブラウザ(Chrome)を立ち上げられます。デモでは、エディタ上でのCSSコードの変更がリアルタイムに反映されるところを見せてくれます。

"We haven't done all this stuff yet and we need your help"

使う人の対象技術とエディタの土台が同じWeb技術ですから、使う人はエディタの開発が可能だから貢献してねということですね。


開発はまだ初期の段階で、現在の実装はCSSにフォーカスがあるようです。WebkitインスペクタのCSSの継承関係とかデバッグに非常に有効ですが、これがエディタ上で実現できているようなものですから、きっと便利だと思います。

ファイルにアクセスするために、ブラウザではなく、"thin native shell"内でアプリケーションを動かしているという記述があるのですが、thin native shellはChromium Embedded Frameworkを使っていました。