LT#7 Hello coffeeしてきた

14
+ LT#7Hello coffeeしてきた 2013/01/22 れこ

description

最近の動向と、ものすごく今更ながらCoffeeScriptを真面目に触ってみました。 eSPAシステム班LT7回目です。

Transcript of LT#7 Hello coffeeしてきた

Page 1: LT#7 Hello coffeeしてきた

+

LT#7「Hello coffee」         してきた 2013/01/22 れこ

Page 2: LT#7 Hello coffeeしてきた

+おはようございます。眠いです

 昼夜逆転生活

 Tasketeは落選。

 コウサ展

Page 3: LT#7 Hello coffeeしてきた

+

CoffeeScript

photo by yukop

Page 4: LT#7 Hello coffeeしてきた

+目次

1.  CoffeeScriptってなんぞ?

2.  何が出来るの?

3.  どう書くの?

4.  所感

 導入手順については大きく割愛

Page 5: LT#7 Hello coffeeしてきた

+CoffeeScript

“CoffeeScript is a little language that compiles into JavaScript.” http://coffeescript.org/

 書いた物全てがjsに変換される

 文法はRuby, Pythonあたりに近い?

Page 6: LT#7 Hello coffeeしてきた

+見た方が早い

Page 7: LT#7 Hello coffeeしてきた

+CoffeeScript

  varによる変数定義不要、セミコロン不要

 引数がある場合関数呼び出しの()不要

 色々とインデントで表現

  functionは「->」で表現

  classっぽいものも書ける

 コードから判断し必要最小限のスコープにしてくれる

  SublimeText2、Coda用のプラグイン有り

Page 8: LT#7 Hello coffeeしてきた

+コンパイル

普通にコンパイル ⇒ 即時関数で囲まれてる ⇒ グローバルを汚染しない

-bオプションコンパイル ⇒ 即時関数が外れてる ⇒ Nodejs系では必須だとかいう噂 ファイルの変更を監視して 自動コンパイルも出来るよ!!

Page 9: LT#7 Hello coffeeしてきた

+classもどき

Page 10: LT#7 Hello coffeeしてきた

+

ぷ ら ぐ い ん

Page 11: LT#7 Hello coffeeしてきた

+所感:快適

 精神衛生上優しい

  for~in文の挙動が望んでいたそれに

 快適すぎて書くだけで楽しい

 タイプ数:減 書く速度:速 可読性:高

  jQueryも書いていけるし、むしろ書きやすい

 変更監視→自動コンパイルもあるから手間は感じない

 公式ドキュメントだけ十分学べる(※英語)

Page 12: LT#7 Hello coffeeしてきた

+

だが、要はJavaScript���なんだろう?

Page 13: LT#7 Hello coffeeしてきた

+自前で書ける範囲内です。

 Example:for ~ in

for ( var I = 0; I < ary.length; i++ ) {

var item = ary[i];

//これでitemは配列の各要素として扱える

}

めんどいし人によって実装がまちまちになる!

Page 14: LT#7 Hello coffeeしてきた

+あとのことはググりましょう。

  Ruby脳でCoffeeScriptのクラスを理解する - hp12c http://d.hatena.ne.jp/keyesberry/20110908/p1

  CoffeeScript http://coffeescript.org