公式ページ
https://www.dartlang.org/
APIリファレンス
1.0リリース前のコードからは変更も多数。最新のAPIをチェックすべき。http://api.dartlang.org/docs/channels/stable/latest/
参考サイト
DARTことはじめ:http://usagi.github.io/intro-dart/#/DART入門:http://zenback.itmedia.co.jp/contents/www.sssg.org/blogs/hiro345/archives/10994.html
What is Dart:http://sitekamimura.blogspot.jp/2013/09/dart-what-is-dart-kindle-kathy-walrath.html
言語仕様
- クラスを使う
- クラスの外側にメソッドが記述可能
- オプションと引数:Javaと違って省略引数可能。C++のように後ろの引数を省略 or 引数に名前をつけて省略
- 文字列インターポレーション:php的に、"Hello, ${name}"とできる
- マルチライン文字列: ($s=<<END;) のような文字列リテラル
- 動的メソッドハンドリング:実行時にメソッドがあるか確認する
- カスケード演算子: JavaScript の with。
- オプショナルな型:小さなアプリなら型をかかない、ちゃんとしたアプリでは型をかく、が選べる
- レキシカルスコープ:{}が識別子のスコープ。クロージャ(Java8で実装予定のλや無名関数で実現する関数オブジェクトの一種)やローカル変数キャプチャもOK。
- ライブラリ:Pub(オープンなリポジトリで便利)
- Isolate:マルチスレッドでお互いのメモリにアクセス出来ないので安全
Javaで出来て、Dartで出来ないのは、メソッドのオーバーロード不可能。intが初期値を代入しないとnullになる。継承は1つまで。
※マルチライン文字列リテラル(以下だったらENDで囲まれた文字列の改行を維持する)
my $s = <<'END';
aaaa
iiii
uuuu
END
※カスケード演算子
with (document) {※邦訳版
//このブロックの中ではdocument.を省略できる
var hoge = getElementById('hoge');
...
}
http://www.cresc.co.jp/tech/java/Google_Dart/DartLanguageSpecification_about.html
コードのサンプル
コード動かす
トップページから必要なSDKをダウンロードして解凍すると、Dart Editor (もとはEclipse)が入っているので起動する。HelloWorld
新しいプロジェクト(WebApplication)を作成すると、webディレクトリの配下に以下のファイルが用意される。
[プロジェクト名].css
[プロジェクト名].dart[プロジェクト名].html
その他に、packages/browserディレクトリが出来て、中に以下のファイルができる。
dart.js
hiterop.js
編集するのは、「.dart」の拡張子を持つ dart ファイル。後は、htmlとcssを編集する。C系と同じようにエントリーポイント(main)からプログラムが実行される。
dartを編集してから、htmlを右クリックして「run as JavaScript」を実行するとdart2jsが動いてJavaScriptが生成される。
構文
文字列
- 文字列リテラルはECMAScriptライク
- ${xxx}や\nなど、シェルスクリプトライクな文法が使用可能
- ${new Date.now().day -1}などの式を、文字列内に内挿可能
型と変数
- bool / int / double / num
- String / List / Set / Queue / Map / ...
- final 修飾で定数宣言(C++ の const と似ている)
制御文
Javaの構文をほぼそのまま使える
- for / for-in / while / do-while
- switch case break / if else / ?:
- break / continue
- try throw catch
演算子
Java、C++にある演算子はほぼそのまま使える関数とラムダ式
クラスの継承
前半にも書いたが、多重継承は不可。ジェネリクス
使える。型制約も可能。DART SDK
- dart : Dart処理系(Dart VM) Dart VMを搭載したブラウザだと動作。V8より高速。
- frogc(dart2js) : dartからjsへのコンパイラー
これ直接使うのはしんどい。Dart Editorのバックエンドとして動いてるって知っておく程度。
DART用HTMLファイル
チュートリアル
https://www.dartlang.org/codelabs/darrrt/#set-uphttps://www.dartlang.org/docs/tutorials/add-elements/#copy-app
0 件のコメント:
コメントを投稿