プログラミング言語Dartの基礎
2012年1月10日(初版)
2012年5月7日(最新更新)
株式会社 クレス
PDF版はここから
ファイルが大きいのでInternet Explorerで取り込めないときは、右クリックして「対象をファイルに保存」を実行する
Open Office用のODT版はここからダウンロード
Microsoft Office用のDOCX版はここからダウンロード
Dart言語仕様書邦訳版はここから
この資料は多少でもJavaとJavaScriptの経験を持つ技術者向けにDartの基礎をDart言語仕様書に沿って説明する為のものである。不明な箇所はDart言語仕様書を参照されたい。また構文の記述は仕様書の「2. 本仕様書の表記(Notation)」の節を見て頂きたい。この資料はAPIに関しては特に説明していないので、この言語を試すときにはDart API Referenceも見て頂きたい。
大規模で構造化されたウェブ・アプリケーションに対応可能なプログラミング言語であるDartは、JavaとJavaScriptの経験を持つ技術者には馴染みやすい言語である。オブジェクト指向の要素としてクラスとインターフェイスを使っている。デフォルトではJavaScriptと同じ動的な型づけを使っているが、静的な型づけも可能で、複雑化するアプリケーションをより構造化でき、またより厳格にチェックできるようになる。
Dartの開発の中心になっているのがChromeブラウザのV8エンジンを担当したLars Bak(ラース・バーク)であり、従ってDartはJavaScriptの技術がベースになっている。彼とJava言語仕様の作成者の一人であるGilad Bracha(ジラード・ブラーカ)がこの言語を公式に発表したときのプレゼンテーションでは、この言語のことを「シンプルで意外性のないオブジェクト指向プログラミング言語」(A simple and unsurprising OO programming language)だと述べている。即ち:
|
クラス・ベース、単一継承、インターフェイスつき 静的な型づけはオプショナル 真の構文スコープ 単一スレッド なじみのある文法 |
が特徴だとしている。
この言語が今後普及するかどうかが注目されるところである。しかしGoogleは大規模ウェブ・アプリケーションでは大きな影響力を持っており、またChromeやAndroidへのVM組込みも予想され、しかもJavaScriptへのクロス・コンパイラを持っていることから、その潜在性は大きいと言わねばならない。但しJavaScriptの次期バージョン(Harmony)にはクラスが導入されるという噂もある。
Dartは現在開発段階にあり、仕様書も頻繁にバージョン・アップされている。従ってそれに合わせこの資料も改版の予定である。ここに示したサンプル・プログラムたちは現時点で動作が確認されたものである。読者は「Dartの実行」の節を見れば、これらのサンプル・プログラムを自分で容易に実行して確かめることができる。
|
*** 内容 *** 1 概要 2 変数とその型(Variables and Types) 3 関数(Functions) 4 関数リテラル(Function Literal) 5 クラス(Classes) 6 総称型(Generics) 7 式(Expressions) 8 文(Statements) 9 Dartの型処理と型チェック 10 組込み識別子、予約語およびコメント 11 Dartの実行 12 イベント処理(Event Driven Style Processing) 13 並行処理(Concurrent
Processing) 14 HTTPサーバ(HttpServer) |
本資料で使われているサンプルのうち主要なものは以下の表から取得できる。なお、ブラウザはChromeあるいはSafariを使用する必要がある。他のブラウザではカット/ペーストすると改行が消えてしまうので注意のこと。読者はこれらを所定の名前のファイルにコピーし、htmlファイルを直接Dartiumで開く、あるいはDart Editorを使ってJavaScriptに変換しChromeブラウザで実行させて、その動作を確認することができる。なお、これらのサンプルを商用に使用すること及びその結果については当社はその責を負わない。
|
タイトル |
対応する節 |
Gist |
|
非同期コールバック処理 |
|
|
|
順序づけられたイベント処理 |
|
|
|
イベントの並行受付 |
|
|
|
アイソレート間の通信リンクの確立 |
||
|
高精度タイマのアイソレートとその使い方 |
||
|
Dart Editorで作成したコードをこれらのサンプルのようなページのHTMLテキストに変換するツール |
|
|
|
HTTPサーバの章参照のこと。サーバ開発用のツールで、クライアントからの要求内容をそのクライアントに返すサーバ |
||
|
HTTPサーバの章参照のこと。サーバ開発用のツールで、いろんなステータスを設定したときのブラウザの対応を調べる |
||
|
簡単なファイル・サーバ。HTTP応答の作成の教材 |
この資料はページ数が多いので、PDFでは下図のようにしおりを、ODTではナビゲータを、DOCXでは見出しマップを利用されたい。
|
|