2013年に試した面白いもの


はやいもので2013年が終わろうとしているので、今年新しく試したツール等について書いておきます。

AngularJS

IMG_1319

ウェブサービスを作るならRails + HAML + jQuery + SASSが最高だなと思っていたのですが、周りのエンジニアからのすすめでJavaScriptのMVC(MVW)フレームワークの一つであるAngularJSを試してみました。強力なデータバインディングと、後述のGruntを使った開発フローがとても洗練されていて面白いです。

サービスを作っていく中でアプリとウェブでAPIを共通化すると、往々にしてウェブ側のUI実装がまどろっこしいことになるのですが、AngularJS使うとそこがかなりスムーズに実装できて素晴らしい。他のMVCフレームワークでもできるとは思いますが、随分これに気がつくまで回り道をしてしまったなと感じています。

Grunt(のlivereload)とデュアルディスプレイ

IMG_0002

YeomanでAngularJS用のプロジェクトのテンプレートを生成すると、Gruntの設定ファイルも自動で生成してくれます。Gruntは簡単に言うと、JavaScript関連の諸々のタスクの自動化ツールです。

プロジェクト内のcoffeeスクリプトが変更されたら自動的にjsファイルをビルドして(coffeeコマンドの-wと同じような機能)テストを走らせたり、あるいはプロジェクトの成果物(minify, uglifyされたソースコード等)をS3にアップロードしたり、等諸々の作業を自動化してくれます。

中でもlivereload機能がすごく便利です。これはブラウザでプロジェクト内のページを開いている状態で、エディタ側でそのページに関係あるファイルを変更した際に、自動的にブラウザの方でリロードを行ってくれるという機能なのですが、思った以上に便利です。デュアルディスプレイ環境で、片方のディスプレイを動作確認用にしておくと特に。

別に手動でリロードして動作確認すればいいじゃん、と僕も思っていたのですがこの仕組みがあると色々と考え方が変わります。手間として、フォーカスをエディタとブラウザを行ったり来たりさせなくてよいというメリットもあるのですが、それ以上に作業途中での予期せぬ副作用に気がつきやすくなります。

その他・アプリネイティブ・CI関連とか

IMG_0913

2012年はJenkinsにはじまり、CI / オートメーション化の魅力にどっぷりとはまった一年でしたが、Hubotの導入以外どうも今年はあまり大きな発見・挑戦がありませんでした。JenkinsからWebSocketで通知を行う仕組みはよさげだなと思って見ています。アクティブに開発が進んでいるみたいですし、まだまだ欲しい機能があるので時間ができたら僕もプルリクエストを出してみようかと思います。

iOSは iOS7 / Xcode5という大きな変化がありましたが、正直なところプログラミング的には特別面白い要素は少なかった気がしています。Xcode 5でCI環境ができたり、TravisCIがiOSに対応する等のニュースもありましたが、まだまだ個人的にはJenkinsの方が自由度が高くて実用的だと感じています。ライブラリとしてはOHHTTPStubsを使った開発・テスト手法が面白かった気がします。記法的な話では地味ですがこれが結構好きです。

AndroidはAndroid Studioに期待していたのですが、完成度的にはADTをリプレイスするまではまだ時間がかかりそうです。

そんな2013年でした。2014年はなにを勉強しよう。


“2013年に試した面白いもの” への 1 件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です