マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Dart

【OSS情報アーカイブ】Dart

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Dart」とは

基本情報

概要

Dart(ダート)とは、Googleが開発したWebアプリケーション開発向けプログラミング言語です。クラスベースのオブジェクト指向言語で、大規模アプリケーション/サービス開発に対応できます。

基本説明

Dartは開発者に歓迎される高度な各種機能が揃っています。

Googleは「シンプルで意外性のないオブジェクト指向プログラミング言語」だとしています。

経緯

当初は「Dash」と呼ばれていました。

2011年に発表されました。

主な特徴

JavaScriptの代替を狙う

Webアプリケーションの大規模化により、標準でクラス/モジュール機能を持たないJavaScriptでは限界が見え始めました。そこで、DartはJavaScriptの代替となることを目的に開発されました。

Dartは、「JavaScript言語では解決できない言語上の問題点を解決」「優れたパフォーマンス」「大規模なプロジェクト用途にも耐えうる」「セキュア」などの観点で設計されました。

「構文スコープ」「クロージャ」「オプショナル静的型」など、Javaにはない機能も搭載しています。

しかし、2015年3月、Chromeでのサポートを断念し、DartをJavaScriptへコンパイルして使用する道へ進んでいます。

JavaScriptトランスパイラ

DartプログラムをJavaScriptへ変換できます。

このことにより、最新の主要Webブラウザで動作できます。

クライアント/サーバの両方に対応

サーバサイド/クライアントサイドの両方をDartでコーディングできます。

シンプルで馴染みやすい文法

文法は、Javaプログラマにはなじみのあるものが多いため、学習が容易です。

「構造化」「柔軟性が高い」などの特徴があります。

クラスベースのオブジェクト指向言語

Dartはクラスベースのオブジェクト指向をサポートしているため、中規模/大規模開発に対応できます。

「すべてをオブジェクトとして扱う」「クラスベース」「単一継承」「暗黙的インターフェイス」などの特徴を持ちます。

関数を引数へ渡したり、変数へ代入できます。

静的型付け

変数の型について、「JavaScriptのような動的型付け」と「C++/Javaのような静的型付け」を、変数ごとに任意に選択できます。動的型付けは「var」で宣言を行い、静的型付けは型名を指定します。

静的型付けにより、型安全性を保つことができ、「コンパイル時エラー検出」「IDEインテリセンス」などの恩恵があります。

「プロトタイプ開発時は開発スピード優先の動的型付け」、「プロダクト開発時は安全性優先の静的片付け」のような使い分けが可能です。

モジュール管理

Dartでは、各モジュールを「ライブラリ」という単位で管理できます。ソースコードファイル/ライブラリの関係を記述する構文も用意されています。

スレッド

単一スレッドで、並行処理はアイソレートで実行可能です。

実行環境

Dartプログラム実行用仮想マシン「DartVM」環境で、直接実行できます。

他の環境の場合は、DartプログラムをJavaScriptへコンパイルしてJavaScriptエンジンを搭載するWebブラウザで実行します。

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「TypeScript」など。

導入事例

Google内では「Google Ads」「Google Fiber」「Google Express」「Googleの社内セールス」などの各チームで採用されています。

ライセンス情報

Dartのライセンスは「BSDライセンス」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】 「 AIエージェント 」は、人間の管理職の代わりになるか?🤖

デジタル寺田の3分用語解説

2025.03.11

【デジタル寺田の3分用語解説】 「 AIエージェント 」は、人間の管理職の代わりになるか?🤖

「 AIエージェント 」は営業マネージャーの業務をどこまで代行できるのか?「データ分析」「フィードバック」「自動日程調整」の可能性を探り、未来の管理職のあり方を考察します。AIが進化する中で、人間の役割はどう変わるのか詳しく解説します。

【デジタル寺田の3分用語解説】 「 ウェルビーイング 」とは?😊

デジタル寺田の3分用語解説

2025.03.10

【デジタル寺田の3分用語解説】 「 ウェルビーイング 」とは?😊

「 ウェルビーイング 」とは、身体的・精神的な健康だけでなく、社会的・経済的にも満たされた状態を指します。企業にとっては、健康経営の推進により生産性向上や離職率低下などのメリットがあります。本記事では、ウェルビーイングが注目される背景や企業の具体的な取り組みについて詳しく解説します。

【デジタル寺田の3分用語解説】 「 心理的安全性 」が無い職場とは?🤐

デジタル寺田の3分用語解説

2025.03.17

【デジタル寺田の3分用語解説】 「 心理的安全性 」が無い職場とは?🤐

「 心理的安全性 」が低い職場とはどのような環境なのか、具体的な特徴を解説します。「質問しづらい雰囲気」「失敗を報告できない隠蔽体質」「発言をためらう風土」など、心理的安全性の欠如がもたらす影響を詳しく紹介し、安全な職場づくりの重要性も解説します。