DartはGoogle社が開発したWebアプリケーション向けのプログラミング言語です。2018年初頭までは最も学ぶ価値のない言語1位という不名誉な結果を残しますが、同年のFlutter誕生以降、急速にその注目度を高めつつあります。この記事ではDartを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。
DartとはGoogle社によって2011年に開発されたWebアプリケーション向けのプログラミング言語です。開発された目的はJavaScriptにおける課題を解決するためであり、あらゆるプラットフォームの高速アプリ向けにクライアントに最適化された言語として誕生しました。しかし行き足は思ったようにいかず、開発者のGoogleはDartのあり方をJavaScriptへコンパイルする言語として位置づけ直しました。2018年にはDart2をリリースしており、強力な型システムなどの言語機能の強化が行われております。
そして同年に発表されたのがDartが日の目を浴びるきっかけとなる『Flutter』の誕生です。こちらもGoogle社によって開発されたオープンソースのモバイルアプリケーションフレームワークです。Flutterを使うことで、Dart言語で書いたひとつのコードでAndroidアプリとiOSアプリを開発できるようになりました。Dartの特徴としては「パフォーマンスが高い」「オブジェクト指向」「すべてのプラットフォームで高速」などが挙げられます。
Dartの読み方は『ダーツ』です。誕生当初は『Dash』と呼ばれておりました。
DartはGoogle社によって2011年に開発されたWebアプリケーション向けのプログラミング言語です。このDart開発プロジェクトの当初は『Dash』と呼ばれていたようです。元々DartはJavaScriptにおける課題を解決するために開発が始められました。そんなDart言語を用いて初めて作成されたアプリケーションはクラウド用統合開発環境の「Brightly」と言われております。
当初の目標であったJavaScriptの一強に一手投じるという目論見も思うように進まず、数年の月日が流れます。この悪い流れを断ち切るように現れたのが『Flutter』でした。Flutterは同じくGoogle社によって開発されたオープンソースのモバイルアプリケーションフレームワークです。他にもAngularなどのウェブアプリケーションフレームワークの普及など様々な進化を遂げ、ここへきて注目を高め続けております。
歴史 | 出来事 |
2011年 | 『Dart 初版』 リリース |
2013年 | 『Dart 1.0』 リリース |
2015年 | 仮想機械のChrome統合を断念 |
2018年 | 『Dart2』リリース 『Flutter』誕生 |
Dartの特徴を見ていきましょう。
Dartはマルチパラダイム言語です。マルチパラダイムとは関数型プログラム、手続き型プログラム、オブジェクト指向プログラムと様々なパラダイムをマルチにサポートとしていることを意味します。Dartの他に代表的なマルチパラダイム言語としてC++(手続き型言語、オブジェクト指向プログラミング)、JavaScript(手続き型言語、関数型言語、オブジェクト指向プログラミング)などが挙げられます。
マルチパラダイムプログラム言語の種類や基礎知識を解説している記事はこちら>>
Dartはパフォーマンスが高いという特徴があります。JavaScriptの2倍の速度で動作するといわれており、大規模な開発にも向いていおります。またFlutterという強力な武器を持ち合わせており、開発プロジェクトそのもののパフォーマンスも向上させます。
Dartはオブジェクト指向という特徴があります。オブジェクト指向言語とはプログラミング言語の中でも、お互いに関連するデータやメソッドに関する手続きを一つにまとめたものである「オブジェクト」をプログラムの基本的な構成として扱うものです。、代表的なものとしてJava、PHP、Ruby、JavaScriptなどが挙げられます。
オブジェクト指向言語の種類や特徴を解説している記事はこちら>>
Dartはすべてのプラットフォームで高速という特徴があります。Dartはモバイル、デスクトップ、バックエンド、またWeb用のJavaScriptにコンパイルします。
Datの基本的な文法を見ていきましょう。
Dartのデータ型の種類について基本的な種類は以下の通りです。
データ型の種類 | 概要 |
num | 数値 |
int | 整数 |
double | 実数 |
bool | 論理値 |
string | 文字列 |
list | リスト |
map | マップ |
booleans | ブーリアン型 |
runes | ルーン文字 |
symbols | シンボル型 |
Dartでは演算子で使用される基本的な種類は以下の通りです。
演算子の種類 | 記述 |
乗除 | * / % ~/ |
加減 | + – |
シフト | << >> |
ビットAND | & |
ビットXOR | ^ |
ビットOR | | |
単項後置 | expr++ expr– () [] . ?. |
単項前置 | expr !expr ~expr ++expr –expr |
代入 | = *= /= ~/= %= += -= <<= >>= &= ^= |= ??= |
条件式 | expr1 ? expr2 : expr3 |
Dartの基本的な制御文を見ていきましょう。
制御文の種類 | 概要 |
foreach文(繰り返し) | データ構造の各要素に対して与えられた文の実行を繰り返すというループを記述するための文 |
while文(繰り返し) | 指定した条件下において、指定した処理を繰り返します。 |
if文(条件分岐) | 真理値に従って条件実行を行う |
switch文(条件分岐) | 複数の選択肢から1つを選んで実行 |
Dartの強力なフレームワークFlutterとはGoogle社によって開発されたオープンソースのモバイルアプリケーションフレームワークです。主にAndoroidやiOS向けのモバイルアプリケーションの開発に利用されます。
Flutterは「クロスプラットフォームにおいて100%のコードを共通化しない」という選択をしており、各プラットフォームのOSの機能に大きく依存するコードについては、ネイティブの言語で実装する仕様になっております。Flutterの特徴は『迅速な開発』『表現力豊かで柔軟なUI』『ネイティブパフィーマンス』を掲げております。
Dartが影響を受けた言語を見ていきましょう。
JavaScriptとはネットスケープコミュニケーションズ社によって1995年に誕生したプログラミング言語の一種でその中でもオブジェクト指向スクリプト言語に区分されます。主な目的として動的な機能をWebページに生成するためのプログラミング言語として開発されました。Webサイト、Webアプリ、ゲームなど様々な用途に活用できるため注目を集めております。名JavaScriptフレームワークの代表的な種類としてjQuery、AngularJS、Vue.jsなどが挙げられます。
JavaScriptのメリット、デメリット、基礎知識などを解説している記事はこちら>>
JavaとはOracle社が開発・提供するオブジェクト指向のプログラミング言語です。1995年にサン・マイクロシステムズ(後にOracle社が買収)のジェームス・ゴブリン氏によって開発されリリースとなりました。プログラミング言語の発展に大きな影響をもたらしたC言語を元に開発されたことでも有名です。Javaの登場によってオブジェクト指向が主流の時代が訪れたと言われております。
Javaのキャッチコピーは「Write once, run anywhere」で直訳すると「一度書けば、どこでも実行できる」という意味があります。このことからも分かるようにJavaの特徴は『オブジェクト指向の先駆者』で『どこでも動く』ということらが挙げられます。世界中で最もポピュラーで多くのWebアプリケーションで採用されていることで知られております。
Javaのメリット、デメリット、基礎知識などを解説している記事はこちら>>
Dartを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Dartを一言で表すと『Googleが開発のUIに最適化されたWebアプリケーション向けのプログラミング言語』です。特徴として「パフォーマンスが高い」「オブジェクト指向」「すべてのプラットフォームで高速」などが挙げられます。Dartについてこの記事に記載されている最低限理解をしておくようにしましょう。