Posted by & filed under 開発.


開発部 川野です。昨日、キャノン IT ソリューションズ様主催の Sencha セミナーで講演させて頂きました。講演は、テキストエディタを使って Sencha Touch アプリを開発する、という内容です。参加者の方からとても元気が出る嬉しいフィードバックを頂いたので、興奮そのままにこの記事を書いています。

セミナーの後、何人かの方から、私の開発環境についてご質問を頂きました。私の個人的な環境ですが何かのお役に立てれば、ということで公開します。

===

◆テキストエディタ

Sublime Text 2

Web エンジニアは UNIX 系のテキストエディタ(Emacs, Vim)を使う人が多い印象ですが、私は Sublime Text を使っています。Sublime Text も Emacs や Vim のようにカスタマイズできるテキストエディタなのですが、後発なだけあって、これまでのテキストエディタの優れた部分をうまく盗んでいるように思います。Sublime Text のちょっとした歴史は昨年の PyCon で発表した私のスライドを見ると面白いかもです。また、インターフェイスの美しさも魅力です。私はテキストエディタを使ってプレゼンする機会がたまにあるので、この部分も気に入っているポイントです。

以下のようにカスタマイズして使っています。

– Vintage モード

キーバインドを Vi 風に変更するモードです。デフォルトのキーバインドを使った方がいい、という意見もあるかもですが、コードを素早く編集するには Vi のキーバインドの方が優れていると感じています。

– スニペット

Sencha のエンジニアが作っているスニペットを利用しています。ちょうど数日前、Sencha の Robert Dougan さんが最新のスニペットを公開していました。以下のものを利用するとよいと思います。

Sencha.sublime:
https://github.com/rdougan/Sencha.sublime

あとは、オライリーから今年の秋に出版される Sencah Touch Cookbook の著者の Lee Boonstra さんもスニペットを公開しているので、そちらを試してみてもよいかもです。

Sencha-Sublime-Snippets:
https://github.com/savelee/Sencha-Sublime-Snippets

– プラグイン

デフォルトのままでも十分に使えるのが Sublime Text のとっつきやすい点ですが、加えていくつかのプラグインを入れています。

SublimeLinter:
https://github.com/SublimeLinter/SublimeLinter

ソースコードのリアルタイムチェックができます。裏側では JsHint を利用するので、Node.js と JsHint のインストールが必要です。

SublimeBlockCursor:
https://github.com/netpro2k/SublimeBlockCursor

Vintage モードを利用する人は必須かと。ノーマルモードの際にカーソルがブロックになって見やすいです。

SublimeAllAutocomplete:
https://github.com/alienhard/SublimeAllAutocomplete

現在開いているファイルから入力した文字にマッチするものを探して補完してくれます。私は Sencha Touch の全てのコードが書かれた sencha-touch-all-debug.js を常に開いていて、このプラグインを使って IDE がやってくれるようなコード補完を実現しています。

SideBarEnhancements:
https://github.com/titoBouzout/SideBarEnhancements/tree/st3

サイドバーの機能を拡張してくれるプラグインです。

他にも細々としたものを入れていますが、おすすめは以上です。

あと、テーマに Phoenix を、カラースキームに Tomorrow を使っています。

◆ターミナル

シェルは Zsh を使っています。最近、Oh MyZSH を入れましたが、まだちゃんと使っていません。Zsh も機能を拡張することが可能で、入力を自動補完してくれる auto-fu.zsh はとても便利でおすすめです。

auto-fu.zsh:
https://github.com/hchbaw/auto-fu.zsh

◆その他

Live Reload:
http://livereload.com

ファイルを編集した後、毎回ブラウザをリロードしなくてもよいので、とても捗ります。

Grunt.js:
http://gruntjs.com

よく行う作業をタスクとして定義しています。手作業を減らせるので、とても捗ります。Node.js が必要です。

weinre:
http://people.apache.org/~pmuellr/weinre/docs/latest

実機で起こった問題をデバッグする時に重宝します。モバイル Web アプリの開発では、端末固有の問題に悩まされるので覚悟して下さいw こちらも Node.js が必要です。

===

ざっと書きましたが、何か漏れているかもしれませんw 少しでも参考になれば幸いです。

Sencha セミナーの参加者・関係者の皆様、どうもありがとうございました。とても楽しい時間を過ごすことができました。寝不足でデモンストレーションがグダグダだった点はお許し下さい :D


関連文書:

Comments are closed.