Dart flutter

Dart言語についての特徴や知識を深める

概要

Flutterを使用してアプリを作成していく中で、曖昧な知識のままDart言語を触っていたので、書籍やDeveloperのDocsなどを参考に

何が出来るのか、要点や自分が気になった箇所や今後使えそうなポイントをピックアップしていく。

目的

個人的なDart言語の勉強と知識の共有。同じくDart言語(Flutter)を触ってみよう!という人向けのつもり。(一応他の言語を多少触っている前提です。)

そもそもDartとは?

Dartは2011年に発表した、Googleのエンジニアの方々が中心になって開発されたプログラム言語。

オブジェクト施工型で、静的片付けに対応している。また、2018年に「Dart2」を発表しその後、Flutterが発表になった。

プログラム言語記述方法

基本的に他の言語と記述方法的には同じような記法のため、あまり詳しくは記載しません。

コメントと変数

  • コメントはスラッシュ(/)を二つつける。またはJavaDocのように複数行するときは、「/* 〜 */」のように記述する。
  • 変数に初期値を入れない場合は、null となる。

オプション引数

引数を、[] で指定するとオプション引数として指定することが出来る。他の言語だと以下のようなイメージ。

// Dart言語
void hoge(int a, [String b]) {
  // b がオプション引数
}


// TypeScriptだと、? を使う 
function foo(huga?: number) {
  console.log(huga);
}

型演算子

型変換や型チェックの演算子がある。

String hoge = "fuga";
if (hoge is String) {
  // 同じStringなので型が一致する
}

パッケージ

比較的使用頻度が高そうなものをピックアップします。

デベロッパーツール

dart:developer

このパッケージは知らなかったので、今度コード書く時に入れてみようと思います。

  • デバッガーツールが使える
  • 詳細なログ情報が出力できる

非同期処理

dart:async

  • HTTPリクエストを行う時に使用する
  • 他の言語でもある、async / await が使用できる。async で宣言した関数の戻り値は「Future型」となる

JSONデコード・エンコード

dart:convert

  • JSON形式からMapに変換
  • MapからJSOn形式に変換

ファイル操作

dart:io

  • Flutterアプリのみがこのパッケージを使用できる

Dart今後の展開

Fuchsiaという言語があります。Dart言語について調べていたら、初めて知った単語(OS)でした。

これは、Googleが開発しているOSのようで、Googleからは正式発表はないみたいです。

新OSとして今後発表があると思われますが、IoT向け組み込みOS または 新しいアプリOS(iOS / Android)と予想されている。

Flutterを発表した経緯も、このFuchsia上でDart言語が使用されるのではないかと噂されているようです。

このような情報を聞いて、Dart言語はもしかしたらアプリもしくは今後急速に人気・必須になるような言語になるかもしれないと思いました。

参考資料

Dart入門 - Dartの要点をつかむためのクイックツアー
created by Rinker

-Dart, flutter
-, ,

Copyright© エンジニアが学んだことをアウトプットしていく , 2022 All Rights Reserved Powered by AFFINGER5.