<DartLearn/>
ブラウザだけで学習できる

Dartを学ぼう

Dartの基礎からFlutter、非同期処理まで。 ブラウザ上でコードを書きながら学びましょう。

学習ロードマップ

あなたの目標に合わせて学習パスを選ぼう

🎯

Dart基礎

プログラミングの基礎を学ぶ

変数、データ型、制御構文、関数、コレクションなど、Dartプログラミングの基礎をしっかりと身につけましょう。

学べること

  • 変数とデータ型
  • 制御構文・ループ
  • 関数とスコープ
  • コレクション操作
  • 文字列処理
  • エラー処理

コード例

// Dartの基本
void main() {
  String name = 'Dart';
  int version = 3;

  // Null安全
  String? maybeNull = null;
  print(maybeNull ?? 'null安全!');

  // リスト操作
  var numbers = [1, 2, 3, 4, 5];
  var squares = numbers.map((n) => n * n).toList();
  print(squares); // [1, 4, 9, 16, 25]

  print('$name $version へようこそ');
}

実践Dart

非同期・ストリームを使いこなす

非同期処理、Stream、ファイルI/O、テスト、パッケージ管理など実践的なDartスキルを学びましょう。

学べること

  • 非同期処理
  • Stream
  • ファイルI/O
  • テスト
  • パッケージ管理
  • セキュリティ

コード例

// 非同期処理
Future<String> fetchData(String url) async {
  await Future.delayed(Duration(seconds: 1));
  return 'データ取得完了: $url';
}

// Streamの利用
Stream<int> counter(int max) async* {
  for (int i = 0; i <= max; i++) {
    await Future.delayed(Duration(milliseconds: 100));
    yield i;
  }
}

void main() async {
  final result = await fetchData('https://api.example.com');
  print(result);

  await for (final n in counter(5)) {
    print('カウント: $n');
  }
}
🚀

応用スキル

モダンDartを使いこなす

OOP応用、ジェネリクス、パターンマッチ、Dart 3新機能、Flutter入門など高度なDartスキルを学びましょう。

学べること

  • OOP・デザインパターン
  • ジェネリクス
  • パターンマッチ
  • Dart 3新機能
  • Flutter入門
  • サーバーサイド

コード例

// Dart 3 モダン機能
sealed class Shape {}
class Circle extends Shape { final double radius; Circle(this.radius); }
class Rectangle extends Shape { final double w, h; Rectangle(this.w, this.h); }

double area(Shape shape) => switch (shape) {
  Circle(radius: var r) => 3.14 * r * r,
  Rectangle(w: var w, h: var h) => w * h,
};

// Records(Dart 3)
(String name, int age) getUser() => ('Alice', 30);

void main() {
  print(area(Circle(5)));   // 78.5
  print(area(Rectangle(4, 6))); // 24.0

  final (name, age) = getUser();
  print('$name is $age years old');
}

準備はできた?

まずはDart基礎から始めて、着実にスキルを積み上げていきましょう。

Dart基礎から始める

他の言語も学ぼう

同じシリーズの学習アプリで他の言語もマスターしよう