SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CoffeeScriptによるモダンなWebアプリケーション開発

コンパイルするとJavaScriptに!
Rubyライクに記述できる「CoffeeScript」とは?

CoffeeScriptによるモダンなWebアプリケーション開発 第1回

  • X ポスト
  • このエントリーをはてなブックマークに追加

CoffeeScriptとJavaScriptの違い

 CoffeeScriptを一言で言えば、JavaScriptをより楽しく書くための言語といえます。では具体的にJavaScriptとはどう違うのでしょうか。

利点

  • 文法がシンプルでわかりやすい
  • ソースコードがきれいで見通しが良くなる
  • コンパイル時に構文チェックができる

 プログラムの基本的な部分はJavaScriptと同じであるものの、RubyやPythonに似せて文法がアレンジされており、ソースコードの行数が長くなっても見た目をきれいに保つことができます。無名関数やクラスなど、JavaScriptでは入力するだけでも面倒だった部分もCoffeeScriptでは簡潔に書くことができます。

 また、構文に間違いがあればコンパイル時にエラーを吐くため、単純なエラーなら実行前に必ず検出できるという利点があります。

 しかし筆者が感じる一番のメリットは、書いていて楽しいということです。もしCoffeeScriptを自分で書いてみてもあまり楽しくないという場合は、使わない方がいいかもしれません。

欠点

  • デバッグしづらい
  • コンパイルの手間が増える

 最大の欠点はデバッグしづらいということです。コンパイル後のJavaScriptを実行している時にエラーが発生すると、デバッガに表示されるのはJavaScriptでの行番号であり、CoffeeScriptの行番号とは異なります。デバッグの度にCoffeeScriptで対応する行を見つけるという手間が増えることになります。しかしプログラムの全体構造はコンパイル後も変わらないため、対応する箇所を見つけるのはさほど難しくありません。このような不便を解消するため、Firefoxの機能としてコンパイル前の行番号を表示できるようにしようと開発が進められています。

 コンパイルの手間を減らすには、連載第2回で解説する継続的コンパイルを使う方法があります。Ruby on Rails 3.1ではアセットパイプラインによって自動的にコンパイルされるため手動でのコンパイルは必要ありません。

どんなときCoffeeScriptを使えばいいか

 どのような開発でもCoffeeScriptによるメリットを受けることができますが、特に大規模な開発プロジェクトで有効です。ソースコードの量が増えれば増えるほど、JavaScriptに比べて工数が減る、全体の見通しが良くなるといったメリットが大きくなります。

 まずは試しにCoffeeScriptを使ってみることをおすすめします。もし既存のプロジェクトがあれば、その中のたった1つのファイルにだけでもCoffeeScriptを導入できます。お気に召さなければいつでもJavaScriptに戻せるので、ぜひ気軽にトライしてみてください。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
CoffeeScriptによるモダンなWebアプリケーション開発連載記事一覧

もっと読む

この記事の著者

飯塚 直(イイヅカ ナオ)

1984年東京都生まれ。 高校時代に趣味でPerlやJavaを使ってプログラミングを始める。 慶応大学湘南藤沢キャンパス卒業後、共同通信社にてニュースサイトの開発などを担当。 その後、面白法人カヤックにてソーシャルゲームの開発などを手がける。 2012年現在、カヤックを退社し個人として活動し...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6391 2012/02/08 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング