公式Webサイトでは、言語の技術概要 ( azproductionからロシア語への翻訳 )、 仕様 (PDF)、 ライブラリのリストを提供しています 。
社内の通信で説明されているように、DartはJavascriptの代替/代替として位置付けられています。これは、進化的開発では修正できない「基本的な」欠陥に悩まされています。
Dartの主な利点
- 明確に定義されたAPIにシンプルで理解可能なメカニズムを提供するクラスとインターフェース。 これらの構成体は、メソッドとデータのカプセル化と再利用も提供します。
- 追加のタイプ 。これにより、最も単純なアプリケーションから複雑なモジュラーシステムに移動でき、デバッガーを使用してタイプをチェックできます。
- ライブラリのサポート。
- ツールキット 開発者を支援するために、多くの追加プログラムを作成する予定です。
Dartはまだ開発の初期段階にあります。 この言語の作成者は、有名なプログラマーであるLars Bakです。彼は、デンマークのオフィスの開発者グループの支援を受けています。 追加のツールはアトランタのブルースジョンソンチームによって提供され、サンクトペテルブルクの開発者と一緒にいるPavel Feldmanは、DartとHarmonyのWeb Inspectorのサポートを担当しています。
例
インターフェイス、クラス、およびサブクラスの定義。interface Shape { num perimeter(); } class Rectangle implements Shape { final num height, width; Rectangle(num this.height, num this.width); // Compact constructor syntax. num perimeter() => 2*height + 2*width; // Short function syntax. } class Square extends Rectangle { Square(num size) : super(size, size); }
これは、追加のタイプなしでパラメーターxおよびyを使用して、同じPointクラスを単純なコードに導入する方法です。
class Point { var x, y; Point(this.x, this.y); scale(factor) => new Point(x*factor, y*factor); distance() => Math.sqrt(x*x + y*y); } main() { var a = new Point(2,3).scale(10); print(a.distance()); }
また、追加のnumタイプを使用する同じコード。これは、Webアプリケーションの複雑さが増す場合に必要です。
class Point { num x, y; Point(num this.x, num this.y); Point scale(num factor) => new Point(x*factor, y*factor); num distance() => Math.sqrt(x*x + y*y); } void main() { Point a = new Point(2,3).scale(10); print(a.distance()); }
Dartを使用するにはいくつかの方法があります。
- 一部の最新のブラウザ(Chrome、Safari 5以降、Firefox 4以降)でサポートされているJavaScriptでブロードキャストします。
- サーバー側の仮想マシンで直接コードを実行します。
- 組み込みのDartboardエディターを使用して、ブラウザーウィンドウで簡単なスクリプトを作成、編集、実行します。
Dartは3つの主要な目標を念頭に置いて設計されていることを思い出してください。
- パフォーマンス。 Dart仮想マシンには、すべてのEcmaScriptマシンが持つパフォーマンスの問題はありません。
- 開発の利便性。 Javascriptの動的で学習しやすい、コンパイル不要の性質が保持されるため、Webプラットフォームはアマチュアプログラマの絶対的なリーダーになります。
- コードエディターと追加ツールのサポート。 Dartは、リファクタリングや関数を呼び出す場所の検索などの機能を含む、サポートを必要とする大規模で深刻なプロジェクトで追加のツールを簡単に使用できるように設計されています。 同時に、Dartは効果的なプログラミングのためにコードエディターの使用を必須としないため、通常の開発者はテキストエディターでの作業に満足するでしょう。
また、このタスクが3つの主要なタスクと競合しない場合、Dartは最大限のセキュリティを提供する必要があります。
Dartサポートは、すべてのブラウザに(Javascriptの代わりに)メインのネイティブクライアント言語として組み込まれ、フロントエンドサーバーやクロスコンパイラで使用されることを前提としています。
Dartである「革命的な」オプションと並行して、Googleはこの問題に対する別の解決策を促進します-Harmonyプロジェクトは、可能性のあるJavacriptの欠陥を修正します。