30
COFFEE SCRIPT TANIGUCHI Makoto @ H2O Space.

ちゃんとWeb会議スライド『Coffee script』

Embed Size (px)

DESCRIPTION

H2O Space. 社内・パートナー勉強会「ちゃんとWeb会議」のスライド資料です。CoffeeScriptについての基本を紹介しました。

Citation preview

Page 1: ちゃんとWeb会議スライド『Coffee script』

COFFEE SCRIPTTANIGUCHI Makoto @ H2O Space.

Page 2: ちゃんとWeb会議スライド『Coffee script』

JAVA SCRIPT

Page 3: ちゃんとWeb会議スライド『Coffee script』

Java Script

•Webブラウザ上で動作する、スクリプト言語

•「Netscape Navigator 2.0(1996年)」に実装された

•一時「JSを利用するのは悪」などと言われたが、Ajaxの流行と共に、注目される

Page 4: ちゃんとWeb会議スライド『Coffee script』

jQuery

• JavaScriptを強化する「ライブラリ」

•強力なセレクタや、エフェクトの美麗さで人気

•他のライブラリ(Prototype.js、Ext.js)などに比べ、圧倒的な普及率を誇る

Page 5: ちゃんとWeb会議スライド『Coffee script』

現在の開発スタイル

JavaScript

jQuery

Page 6: ちゃんとWeb会議スライド『Coffee script』

今後の開発スタイル?

JavaScript

jQueryCoffeeScript コンパイル

Page 7: ちゃんとWeb会議スライド『Coffee script』

コンパイル?

•プログラマが記述した「ソースプログラム」を、コンピュータが理解可能な言語に「翻訳」する事

•「Objective-C」や「Java」がコンパイラ言語

• PHPやJavaScriptは翻訳を必要としない「スクリプト言語」または「インタープリタ言語」

Page 8: ちゃんとWeb会議スライド『Coffee script』

CoffeScriptってなにもの?

•より簡潔に、素早く記述するための言語

• JavaScriptの欠点を克服し、スマートにソースを記述

•無用な不具合を回避しやすくなる

Page 9: ちゃんとWeb会議スライド『Coffee script』

新しく覚えるの?

•使う単語(ファンクション)は、ほぼ同じ

•言い方が少し異なるだけ

•「明けましておめでとうございます。今年もよろしくお願いします。」 → あけおめことよろみたいな感じ?

Page 10: ちゃんとWeb会議スライド『Coffee script』

例var countdown, num;

countdown = (function() { var _results; _results = []; for (num = 10; num >= 1; num--) { _results.push(num); } return _results;})();

JavaScriptcountdown = (num for num in [10..1])

CoffeeScript

簡潔

Page 11: ちゃんとWeb会議スライド『Coffee script』

例if (band !== SpinalTap) volume = 10;

JavaScriptvolume = 10 if band isnt SpinalTap

CoffeeScript

分かりやすい!

Page 12: ちゃんとWeb会議スライド『Coffee script』

はじめかた

• Node.jsと、npmをインストール

• CoffeeScriptをインストール

•ソースを書いて「xxx.coffee」ファイルで保存

•コマンドを叩いてコンパイル

• JavaScriptファイル(.js)をHTMLに読み込ませる

Page 13: ちゃんとWeb会議スライド『Coffee script』

はじめかた

• CodeKitをインストールする(Mac)

•フォルダを登録する

•ソースを書く

神ツール

Page 14: ちゃんとWeb会議スライド『Coffee script』

DEMO

Page 15: ちゃんとWeb会議スライド『Coffee script』

ファンクションを作る

この記号が大事

Page 16: ちゃんとWeb会議スライド『Coffee script』

オブジェクトを作る

このタブ記号が大事

Page 17: ちゃんとWeb会議スライド『Coffee script』

jQueryを使うjQueryも使えます

Page 18: ちゃんとWeb会議スライド『Coffee script』

if構文いろいろいろいろな書き方

Page 19: ちゃんとWeb会議スライド『Coffee script』

使える演算子意味が通じやすい

Page 20: ちゃんとWeb会議スライド『Coffee script』

while構文

untilも使える

Page 21: ちゃんとWeb会議スライド『Coffee script』

ヒヤドキュメント

長い文字列を記述しやすい

Page 22: ちゃんとWeb会議スライド『Coffee script』

もう少しじっくりなら..

•今日から始めるCoffeeScripthttp://tech.kayac.com/archive/coffeescript-tutorial.html

• CoffeeScript基礎文法最速マスターhttp://www.infiniteloop.co.jp/blog/2011/03/coffeescript-master/

• CoffeeScript(オフィシャル:英語)http://coffeescript.org/

Page 23: ちゃんとWeb会議スライド『Coffee script』

CoffeeScriptのメリット

• JSで「かゆいところに手が届かない」部分に手が届く

•カッコや各種記号など、冗長な書き方を省略できる

• RubyやPythonなどの「今っぽい」書き方ができる

Page 24: ちゃんとWeb会議スライド『Coffee script』

デメリット

• JSと書式が結構違うので、慣れるまで戸惑う

•コンパイルエラーと、JS自体のエラーが発生するのでトラブルの際の原因究明の手間がかかる

• JS自体のことも深く知っておく必要があるため、初学者にとっては、学習することが多い

JSスクリプトに不満がある人向け

Page 25: ちゃんとWeb会議スライド『Coffee script』

JAVA SCRIPTのこれから

Page 26: ちゃんとWeb会議スライド『Coffee script』

Titanium Mobileスマホアプリ開発

Page 27: ちゃんとWeb会議スライド『Coffee script』

node.jsサーバーサイド開発

Page 28: ちゃんとWeb会議スライド『Coffee script』

Bootstrap, from Twitterサイト制作

Page 29: ちゃんとWeb会議スライド『Coffee script』

LAMPからGUMDAM?

http://w3ddd.github.com/2012/03/12/gundam.html

Page 30: ちゃんとWeb会議スライド『Coffee script』

しがみついていきましょう・・