バージョンアップ情報
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は下記ページをご参照ください。

