Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2012/02/08 14:00

 JavaScriptプログラマーの間で「CoffeeScript」を使う人が増えています。CoffeeScriptとは一体どんな言語なのか、そして実際の現場で使うにはどうしたらいいのか、この連載を通して解説していきます。Webブラウザ向けのフロントエンド開発にも、そしてサーバサイド開発にも使える内容となっています。

目次

CoffeeScriptが登場する前

 JavaScriptは広く普及している言語ですが、ソースコードは見苦しいものになりがちです。小さなプログラム程度なら構いませんが、大規模なプログラムを作るのはかなり骨が折れる作業です。冗長な記号や面倒な決まり文句などが積み重なると、読みづらくメンテナンスしづらいソースコードができてしまいます。

 JavaScriptを使ってある程度の規模の開発を経験したプログラマーの多くはそのような不満を感じ、もう一度JavaScriptで大きな開発をしたいとはあまり思わないでしょう。しかし、フロントエンド開発者に選択の余地はありませんでした。多くのブラウザで共通して動くスクリプト言語はJavaScriptしかなかったからです。

 GmailやGoogleマップなどをきっかけにAjaxが世間に認知されると、本格的なフロントエンド開発に使える言語としてJavaScriptが脚光を浴びました。さらにNode.jsの登場によってハイパフォーマンスなサーバサイドプログラムを手軽に作れる言語としても注目され、JavaScriptの活躍の場はますます広がっています。その一方、文法などが性に合わず使いたがらないプログラマーも少なからずいました。

CoffeeScriptの登場と広まり

 DocumentCloudというオンラインツールの開発者であるJeremy Ashkenas氏は、JavaScriptでの大規模開発経験から新しい言語が必要だと考え、CoffeeScriptを作りました。Node.jsの普及によってJavaScriptを使うプログラマーが増えていた時期とも重なり、新しい物好きのプログラマーをはじめとしてCoffeeScriptは受け入れられていきました。

 CoffeeScriptが開発者に受け入れられやすい大きな理由は2つあると考えられます。1つは、JavaScriptの良い所は残したまま、できの悪い所がうまく補われ、より洗練された文法になっているという点。もう1つは、コンパイル結果がただのJavaScriptになるという点です。JavaScriptにコンパイルできるということは、幅広く需要のあるJavaScript開発のあらゆる部分をCoffeeScriptが代替できることになります。文法がRubyやPythonに似ており、またどのようなJavaScriptプログラムを作るのにもCoffeeScriptを代わりに使うことができるため、開発者は障壁をほとんど感じることなく導入できました。

 またRubyプログラマーからの人気が高く、Ruby on Rails 3.1ではアセットパイプライン(※注1)の仕組みの一部としてCoffeeScriptが標準でサポートされました。

 JavaScriptの文法を嫌っていたプログラマーの中にもCoffeeScriptは楽しいと感じる人がいます。そして大規模なプログラムを作ろうとする開発者を中心にCoffeeScriptは受け入れられつつあります。JavaScriptが好きな人はJavaScriptを使い、CoffeeScriptの方が好きな人はCoffeeScriptを使いながら、同じ目的を達成できるようになりました。

※注1 アセットパイプライン

 Ruby on Rails 3.1で導入された、JavaScriptやCSSのファイルをクライアントに送る前に自動的に結合・縮小する機能。ソースファイルをCoffeeScriptで書くと、自動的にJavaScriptにコンパイルされた状態でクライアントに送られる。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 飯塚 直(イイヅカ ナオ)

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

バックナンバー

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

もっと読む

おすすめ記事

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5