バージョンアップ情報
Dart情報
Dartとは
Dart(ダート、ダーツ)は、2011年にGoogle社により、ブラウザ上で動作するJavaScriptの後継を目指して開発された比較的新しい言語です。JavaScriptはスクリプト言語の仕組み上、動作が遅かったり、動的型付けに起因するバグを生じやすいといった、大規模開発には向かないという欠点がありました。このようなJavaScriptの欠点を改善すべく、Dartの開発が行われました。しかし、2012年にMicrosoft社によって、同じくJavaScriptの欠点を補うべく新たに開発されたTypeScriptの出現により、JavaScriptは勢いを取り戻すことになりました。結果的には、Google社によるDartのブラウザへの組み込みは叶いませんでした。
そのような結果もあってか、Dartは2018年には「最も学ぶ価値のない言語」という不名誉なイメージを持たれたこともありました。しかし、この同じ年に、Dartの特徴でもある複数のプラットフォーム用のアプリケーションをビルドできるという機能を大いに生かした"Flutter"フレームワークが開発されました。これにより、Dartはそれまでの不遇を取り返すかのごとく、一気に有望性や将来性が高まっています。特にマルチプラットフォームでアプリケーションの開発が必要なシーンでは、JavaScript(TypeScript)により開発を行うフレームワークである"React Native"と肩を並べるほどの人気があります。
Dartの特徴
型システム |
Dartはタイプセーフの言語です。基本的に、コンパイル時に静的型チェックが行われるため、コンパイル時にバグを検出できます。また、明示的な型を指定せず、アナライザーによる型推論を利用することもできます。コンパイル時に型を決められない場合は、実行時型チェックが行われます。 |
---|---|
nullセーフティ |
Dartでは、デフォルトでnullを許容しないようにできます。明示的にnullを許可していない変数にnullを設定しようとすると、エラーとなります。そのため、実行時のnull例外からユーザーを保護できます。 |
豊富なライブラリ |
デフォルトで下記のようなライブラリセットが提供されます。
上記以外にも、Dartチームが公開する補足パッケージや、サードパーティが開発する数千を超えるパッケージが提供されています。 |
マルチプラットフォーム対応 |
Dartのプログラムは単一のコードで、下記のような様々なプラットフォームで動作するアプリケーションを開発することができます。
|
Flutterの開発言語 |
様々なプラットフォームで動作するアプリケーションを開発・ビルドできる"Flutter"フレームワークのメインプログラム言語として利用されています。開発したDartのアプリケーションコードを、それぞれのプラットフォーム用に展開できるため、マルチプラットフォームに対応したアプリケーションの展開・保守が容易になります。 |
(参考URL:https://dart.dev/overview)
類似プロダクト
類似の機能をもつOSSとしては、下記のようなものがあります。
- Java / Kotlin / Swift
- C / C++ / C#
- JavaScript
- TypeScript
動作環境
Dartのプログラム開発に使用するDart SDKは以下のOS/アーキテクチャの環境で動作します。
OS |
アーキテクチャ |
---|---|
Windows10 |
x64、IA32、ARM64(※) |
Debian stable |
x64、IA32、ARM64、ARM、RISC-V(RV64GC) (※) |
macOS 12(Monterey) |
x64、ARM64 |
(※) BetaチャネルやDevチャネルのみで利用できる実験的サポートです。
Dartのライセンス
Dartは、三条項BSDライセンス(BSD-3-Claus)と共に配布されています。三条項BSDライセンスは、「無保証であること」、「著作権、ライセンス条項」の明記を条件としています。条件を満たせば、ユーザーはそのソフトウェアの使用や頒布、修正、派生版の頒布(修正したソースコードを公開すること無く、オブジェクトコードの頒布が可能)をすることに制限を受けません。
製品ダウンロード
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。