コンパイルするとJavaScriptに!
Rubyライクに記述できる「CoffeeScript」とは?
CoffeeScriptによるモダンなWebアプリケーション開発 第1回
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を使いながら、同じ目的を達成できるようになりました。
Ruby on Rails 3.1で導入された、JavaScriptやCSSのファイルをクライアントに送る前に自動的に結合・縮小する機能。ソースファイルをCoffeeScriptで書くと、自動的にJavaScriptにコンパイルされた状態でクライアントに送られる。
この記事は参考になりましたか?
- CoffeeScriptによるモダンなWebアプリケーション開発連載記事一覧
- この記事の著者
-
飯塚 直(イイヅカ ナオ)
1984年東京都生まれ。 高校時代に趣味でPerlやJavaを使ってプログラミングを始める。 慶応大学湘南藤沢キャンパス卒業後、共同通信社にてニュースサイトの開発などを担当。 その後、面白法人カヤックにてソーシャルゲームの開発などを手がける。 2012年現在、カヤックを退社し個人として活動し...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
