Flutterのトップ10のクイックヒント・トリック・テクニック

Flutter開発をより効率的にするための便利なテクニックを紹介します!

Flutterは、AndroidとiOS両方のアプリを一つのコードベースで開発できるため、企業がコスト効率の良い開発手段を求めている今、需要が急増しています。特にスタートアップや中小企業で人気があります。

1. Hot Reload を最大限に活用する

ctrl + s(Macなら cmd + s)で即座に変更を反映!レイアウト調整やUIの微調整が素早く行えます。

2. const を活用してパフォーマンス向上

再描画を減らすために、可能な限り const を使いましょう。特に Text Container などのウィジェットで有効です。

const Text(‘こんにちは Flutter!’);


3. Expanded と Flexible でレスポンシブデザイン

Row や Column 内でウィジェットのスペースを調整するのに便利!

Row(
  children: [
    Expanded(child: Container(color: Colors.blue)),
    Expanded(child: Container(color: Colors.red)),
  ],
)

4. MediaQuery でデバイスサイズを取得

デバイスごとの画面サイズに適応するレイアウトを作成できます。

double width = MediaQuery.of(context).size.width;


5. FutureBuilder を使って非同期データを処理

API通信やデータベースの取得時に役立ちます。

FutureBuilder<String>(
  future: fetchData(),
  builder: (context, snapshot) {
    if (snapshot.connectionState == ConnectionState.waiting) {
      return CircularProgressIndicator();
    } else if (snapshot.hasError) {
      return Text('エラー: ${snapshot.error}');
    } else {
      return Text(snapshot.data ?? 'データなし');
    }
  },
)

6. カスタムフォントを簡単に設定

pubspec.yaml にフォントを追加し、プロジェクト内で適用できます。

flutter:
  fonts:
    - family: MyFont
      fonts:
        - asset: fonts/MyFont-Regular.ttf
Text('カスタムフォント', style: TextStyle(fontFamily: 'MyFont'));

7. go_router でスムーズな画面遷移

Navigator よりも go_router を使うと管理が楽になります。

GoRouter(
  routes: [
    GoRoute(path: '/', builder: (context, state) => HomeScreen()),
    GoRoute(path: '/detail', builder: (context, state) => DetailScreen()),
  ],
)

8. ValueNotifire で簡単な状態管理

小規模な状態管理ならValueNotifierを使うと便利!

final counter = ValueNotifier<int>(0);

ValueListenableBuilder<int>(
  valueListenable: counter,
  builder: (context, value, child) {
    return Text('カウント: $value');
  },
);

9. Intl パッケージで日付や数値のフォーマット

ローカライズや通貨の表示に便利!

import 'package:intl/intl.dart';

String formattedDate = DateFormat('yyyy/MM/dd').format(DateTime.now());

10. アニメーションを簡単に追加 (AnimatedContainer)

アニメーションを簡単に適用できます。

AnimatedContainer(
  duration: Duration(seconds: 1),
  color: Colors.blue,
  width: isExpanded ? 200 : 100,
  height: 100,
);

これらのテクニックを活用して、Flutter開発をもっとスムーズにしましょう!💙

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です