カテゴリ: Flutterの基本 更新日: 2026/05/08

FlutterでHello Worldを表示するには?初めての1行を実行しよう

153
FlutterでHello Worldを表示するには?初めての1行を実行しよう

先生と生徒の会話形式で理解しよう

生徒

「Flutterを始めたばかりですが、まずはHello Worldを表示してみたいです。どうやればできますか?」

先生

「いいですね!FlutterでHello Worldを表示するには、Dart言語でmain関数を書いて、Textウィジェットを使うとできますよ。」

生徒

「具体的にはどんなコードになりますか?」

先生

「では、基本的なコードを見てステップごとに解説しますね!」

1. Flutterとは何か?簡単におさらい

1. Flutterとは何か?簡単におさらい
1. Flutterとは何か?簡単におさらい

FlutterはGoogleが開発したオープンソースのUIツールキットで、iOS・Android・Web・デスクトップといった複数プラットフォームに対応したアプリを一つのコードベースで作成できることが大きな特徴です。初心者でも短時間でアプリを動かせる「ホットリロード」機能が備わっており、開発の学びやすさがあります。

2. 開発環境の準備

2. 開発環境の準備
2. 開発環境の準備

まずはFlutterのSDKとエディタ(例:Visual Studio CodeやAndroid Studio)をインストールしましょう。以下が一般的な手順です:

  • Flutter SDKのインストール:公式サイトの「Get Started」から手順に従ってインストール。
  • エディタにFlutterとDartのプラグインを追加。
  • ターミナルでflutter doctorを実行して、環境に問題がないか確認。

3. 新しいFlutterプロジェクトを作成

3. 新しいFlutterプロジェクトを作成
3. 新しいFlutterプロジェクトを作成

準備が整ったら、以下のコマンドで新しいプロジェクトを作成します:


flutter create hello_world_app
cd hello_world_app
flutter run

エミュレータや実機が起動中であれば、これだけでFlutterのデフォルトアプリが起動します。

Flutterを「実務レベル」で使えるようになりたい人や、 iPhone / Android両対応アプリ開発の流れをまとめて学びたい人には、 定番の実践書がこちらです。

Flutter実践開発をAmazonで見る

※ Amazon広告リンク

4. Hello Worldコードの記述

4. Hello Worldコードの記述
4. Hello Worldコードの記述

では、lib/main.dart を以下のコードに書き換えて、Hello Worldを最小限のコードで表示させます:


import 'package:flutter/material.dart';

void main() => runApp(const HelloWorldApp());

class HelloWorldApp extends StatelessWidget {
  const HelloWorldApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: Scaffold(
        body: Center(
          child: Text('Hello World'),
        ),
      ),
    );
  }
}

このコードで何が起きているか、順を追って解説します:

  • import … flutter/material.dart:画面描画に必要なウィジェット群を読み込みます。
  • main() → runApp():Flutterアプリの起点となる関数と、アプリ全体の第一ウィジェットを起動します。
  • HelloWorldApp class:StatelessWidgetを継承し、UIを構築します。
  • MaterialApp → Scaffold → Center → Text:それぞれ、アプリ全体、画面枠、文字位置、文字表示を担当しています。

5. 実行結果の確認

5. 実行結果の確認
5. 実行結果の確認

Hello World

エミュレータまたは実機に「Hello World」と表示されれば成功です!アプリが正しく動いている証拠です。

6. Hot Reloadで即時表示

6. Hot Reloadで即時表示
6. Hot Reloadで即時表示

Flutterの強力な特徴であるホットリロードを使うことで、コードを変更して保存すると即座にUIに反映されます。例えば、Textの文字を「こんにちは、Flutter」に書き換えて保存するとすぐに適用されます。

7. Hello Worldから一歩進むチュートリアル

7. Hello Worldから一歩進むチュートリアル
7. Hello Worldから一歩進むチュートリアル

Hello WorldはFlutterの最初の一歩です。この後は、以下のような内容に挑戦してみると良いでしょう:

  • ボタンが押せるアプリ(ElevatedButtonとonPressed)
  • 状態管理(StatefulWidgetを使ったカウンター)
  • 複数画面(Navigatorやルーティング)

これらを学ぶことで、Flutterの基本的な開発スキルが身につきます。

8. よくあるエラーと対処方法

8. よくあるエラーと対処方法
8. よくあるエラーと対処方法

初心者がつまずきやすい点も紹介します:

  • エミュレータが見つからない:Android StudioのAVD Managerか、flutter emulators --launchで確認。
  • importエラーflutter pub getを実行し、依存パッケージを取得。
  • ホットリロードが効かない:デバイスが接続されているか確認したり、IDEの再起動を試してください。

まとめ

まとめ
まとめ

FlutterでHello Worldを表示するまでの流れを振り返ると、環境構築からプロジェクト作成、そして実際にDartコードを書いてアプリを動かすという基本的な一連のステップが自然に身につく構成になっていました。特に、Flutterは複数のプラットフォームに対応しながらも、短いコードで素早く画面を表示できるという大きな魅力があります。Hello Worldの表示はシンプルな一歩ですが、Flutterというフレームワークの使いやすさ、ウィジェットの柔軟さ、そしてDart言語の読みやすさを感じるうえで非常に重要な体験になります。 記事で紹介したMaterialAppScaffoldCenterTextといった基本ウィジェットはFlutterにおけるUI構築の土台であり、今後より複雑な画面を作る際にも必ず役に立ちます。また、Flutter特有のホットリロードは開発者にとって非常に快適な機能で、初心者がアプリ開発に慣れるスピードを大きく高めてくれます。文字を変えるだけでもすぐに反映されるため、学びながら試すというサイクルが非常に効率的に回せるのもFlutterの魅力です。 ここではHello Worldを発展させて、簡単なテキスト変更機能を持つサンプルコードを紹介します。これを通して、StatefulWidgetの利用や画面の再描画の仕組みを感じることができるため、次のステップに進む準備として最適です。

サンプルプログラム:ボタンでテキストを切り替える簡単アプリ


import 'package:flutter/material.dart';

void main() => runApp(const HelloChangeApp());

class HelloChangeApp extends StatelessWidget {
  const HelloChangeApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: HelloChangePage(),
    );
  }
}

class HelloChangePage extends StatefulWidget {
  const HelloChangePage({super.key});

  @override
  State<HelloChangePage> createState() => _HelloChangePageState();
}

class _HelloChangePageState extends State<HelloChangePage> {
  String message = 'Hello World';

  void _changeMessage() {
    setState(() {
      message = message == 'Hello World' ? 'こんにちは Flutter' : 'Hello World';
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Hello Change Sample')),
      body: Center(
        child: Text(
          message,
          style: const TextStyle(fontSize: 24),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _changeMessage,
        child: const Icon(Icons.refresh),
      ),
    );
  }
}

このサンプルは、ボタンを押すたびにテキストが切り替わるシンプルなアプリです。Hello Worldの次のステップとして、StatefulWidgetを使った状態管理の基礎を学べる構成になっています。Flutterは画面の状態を管理しながら構築する仕組みを持っているため、こうした小さな動作を理解することが後々大きな開発力につながります。コードを自分で書き換えながら、どの部分がUIに影響を与えるのかを確認すると、より深い理解につながります。 また、Flutterの開発に慣れていくと、画面遷移、アニメーション、状態管理パターンなど、さらに高度な機能にも挑戦できるようになります。最初のHello Worldをしっかり理解することは、後の複雑なプログラム構築においてとても重要で、基礎を固めることが結果的に開発の効率を高めます。今回の学びを起点に、自分の想像したアプリを少しずつ形にしていきましょう。

先生と生徒の振り返り会話

生徒

「Hello Worldを表示するだけでも、Flutterの仕組みがわかってきた気がします!MaterialAppやScaffoldの役割が理解しやすかったです。」

先生

「とても良いですね。Flutterはウィジェットの構造がしっかりしているので、一つ一つ理解すると応用が効きやすいんですよ。」

生徒

「サンプルコードも試してみたいです。ボタンで文字が変わるのって楽しそうです!」

先生

「StatefulWidgetを学ぶと、アプリらしい動きが作れるようになります。ぜひ挑戦してみてください。」

生徒

「今回のHello Worldがすごく良いスタートになりました。次はボタンや画面遷移も学んでみたいです!」

先生

「その意欲があればどんどん成長できますよ。次のステップも一緒に進んでいきましょうね。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Flutter(フラッター)とはどのような特徴を持つ開発ツールなのですか?プログラミング初心者でも扱えますか?

Flutterは、検索エンジン大手のGoogle(グーグル)が開発した、オープンソースのUI(ユーザーインターフェース)ツールキットです。最大の特徴は「シングルコードベース」であることで、一つのプログラムを書くだけで、iPhone用のiOSアプリ、Androidスマホ用のアプリ、さらにはWebサイトやデスクトップアプリまで同時に作成できる画期的な仕組みを持っています。プログラミング初心者にとっても、変更したコードが即座に画面に反映される「ホットリロード」という強力な機能があるため、実行結果を確認しながら楽しく学習を進められる、非常に学びやすいツールと言えます。
Flutterの基本の一覧へ
新着記事
Flutter
Flutterでのリポジトリパターンの実装例
Flutterでリポジトリパターンを実装する方法を完全解説!初心者向けアーキテクチャ設計入門
Java
Java の Objects クラスを使って null チェックを簡単にする方法
JavaのObjectsクラスの使い方を完全ガイド!nullチェックを簡単・安全に行う方法
Java
Java の UUID クラスを使って一意の識別子を作成する方法
JavaのUUIDクラスの使い方を完全ガイド!初心者でもわかる一意な識別子の作成方法
Java
Java の古い日付クラス(Date, Calendar)と新しい日付 API の違い
JavaのDateとCalendarと新しい日付APIの違いとは?初心者向け完全ガイド
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク