• トップ
  • ブログ一覧
  • Flutter(フラッター)の紹介から環境構築まで
  • Flutter(フラッター)の紹介から環境構築まで

    広告メディア事業部広告メディア事業部
    2019.05.22

    IT技術

    Flutter(フラッター)とは?

    Flutter(フラッター) とは、 Google が開発している UI フレームワークです。

    主要開発言語は、 Dart(ダート) です。

    Flutter は、はじめはモバイルアプリ向けの UI フレームワークとして発表されました。

    しかし、現在は、モバイル、Web、デスクトップとマルチプラットフォーム対応になりつつあるホットなフレームワークです。

    また、Flutter の安定版 v1 のリリースされたのは、2018年11月30日、アルファ版のリリースでも2017年5月12日とかなり新しいフレームワークです。

    今回は、 Flutter がどのようなものか紹介し、開発環境の構築までを紹介しようと思います。

    Flutterの紹介

    1つのコードでマルチプラットフォーム!

    Flutter とは、1つのコードで、「Android」と「iOS」向けのアプリを開発できるフレームワークです。

    またデスクトップ、組み込みデバイス向けにも動作するように開発が進められており、サンプルプログラムがすでに公開されています。

    そして先日、 Flutter for Web によって Web にも対応することが発表されました。

    つまり、Flutter は「モバイル」「Web」「組み込み」「デスクトップ」とマルチプラットフォーム対応のUIフレームワークになりつつあります。

    マテリアルデザイン

    Flutter のデザインは Google が推奨するマテリアルデザインを採用しています。

    既に、Flutter の開発チームがかなりの数の UI パーツを提供しています。

    そのため、開発者はすでに用意された UI パーツを組み合わせることで、それなりに整った UI を簡単に作成することができます。

    また、Flutter で開発された UI はコンパイル時に各プラットフォームのネイティブコードに変換され、高速に動作します。

    ホットリロードによる高速開発

    Flutter はホットリロードに対応しています。

    ホットリロードとは、コード実行中にエディターでコードを変更したら、再起動することもなく、即座に変更内容が反映される仕組みです。

    ホットリロードは、UIの構築や機能追加、バグ修正に役立ちます。

    サンプル

    Flutter を利用したアプリは以下のリンクで確認できます。

    Google 広告 などが Flutter で開発されています。

    An open list of apps built with Flutter

    また、 Play Store で Flutter の Widget を確認できる Flutter Gallery が公開されています。

    Flutter の UI パーツがどんなものか実際に動かしながら確認できるので役に立ちます。

    Flutter を開発してみよう

    それでは、Flutter のモバイルアプリを開発してみましょう。

    先日 Flutter for Web が発表されたとはいえ、テクニカルプレビューで安定性にかけます。

    よって本記事では、正式に安定版が発表されているモバイルアプリの環境構築について取り上げます。

    Get the Flutter SDK

    公式が用意してくれている、上記の手順にしたがって進めていきます。

    Flutter 公式サイトのドキュメントのライセンスは、 Creative Commons Attribution 4.0 International License で提供されています。

    Flutter SDK のインストール:Windows 編

    Windows で Flutter 開発を行うのに必要なシステム要件は以下のとおりです。

    1. OS: Windows 7 SP1 以上 (64bit)
    2. ディスクスペース: 400MB(IDEやその他ツールを含みません)
    3. Windows PowerShell 5.0 以上
    4. Git for Windows 2.x

    それでは Windows で Flutter SDK をインストールしていきましょう。

    Flutter SDK をダウンロード

    執筆時点 (2019/05/14) での最新版:flutter_windows_v1.5.4-hotfix.2-stable
    ※上記リンクを押すとダウンロードが開始されます。

    (Flutter SDK のリリースサイクルは短いので、公式サイトにて最新版をダウンロードすることをオススメします)

    Flutter SDK を解凍

    Flutter SDK を解凍する場所は C:\src\flutter などにしてください。

    C:\Program Files\ となどの管理者権限が必要な場所には展開しないでください。

    解凍した flutter フォルダ内にある flutter_console.bat をダブルクリックして起動します。

    コンソール画面が立ち上がり、Flutter のコマンドが実行可能になります。

    PATH の設定(任意)

    Flutter を実行するために毎回、flutter_console.bat を利用するのは面倒です。

    環境変数を設定し、普通のコンソール画面でも flutter コマンドを実行可能にしましょう。

    1. スタートメニューを開き、"env" と検索
    2. 「システム環境変数の編集」を開く
    3. 「環境変数」を開き、「ユーザー環境変数」のなかの「Path」をダブルクリック
    4. 「環境変数名の編集」ウィンドウが開いたら「新規」をクリックして、flutter\binまでのPATHを記述する(今回の例だとC:\src\flutter\bin)

    コンソールを再起動して変更を適用します。

    flutter doctor でシステムチェック

    Flutter 開発で必要なツールチェーンがパソコンにインストールしているか、診断する flutter doctor を起動します。

    1flutter doctor

    出力例

    1[-] Android toolchain - develop for Android devices
    2Android SDK at /Users/obiwan/Library/Android/sdk
    3Android SDK is missing command line tools; download from https://goo.gl/XxQghQ ン
    4      visit https://flutter.dev/setup/#android-setup for detailed instructions.

    必要なツールがインストールされていない場合、どのようにインストールすればいいのか提示されるので、その指示にしたがってください。

    上記の例だと、Android SDK がインストールされていないと示されているので、別途 Android Stuido や Android SDK をダンロードしてください。

    以上で Flutter SDK の導入は完了です。

    Windowsの人は「環境構築 Linux 編」を飛ばして、 「Android Studio のセットアップ」に進んでください。

    Flutter SDK のインストール: Linux 編

    Linux で Flutter 開発を行うのに必要なシステム要件は以下のとおりです。

    1. OS:Linux
    2. ディスクスペース:600MB(IDEやその他ツールを含みません)
    3. bash
    4. curl
    5. git 2.x
    6. mkdir
    7. rm
    8. unzip
    9. which
    10. xz-utils

    それでは Linux で Flutter SDK をインストールしていきましょう。

    Flutter SDK をダウンロード

    執筆時点 (2019/05/14) での最新版:flutter_linux_v1.5.4-hotfix.2-stable.tar
    ※上記リンクを押すとダウンロードが開始されます。

    (Flutter SDK のリリースサイクルは短いので、公式サイトで最新版をダウンロードすることをオススメします)

    SDK を解凍

    例として、~/development フォルダに SDK を解凍します。

    1$ cd ~/dovelopment
    2$ cd xf ~/Downloads/flutter_linux_v1.5.4-hotfix.2-stable.tar.xz

    Flutter のパスを設定する

    1$ export PATH="$PATH:`pwd`/flutter/bin"

    上記コマンドは、現在のターミナルだけに PATH を設定します。

    もし Flutter の永続化をする場合、~/.bash_profile, ~/.bashrc などに export PATH="$PATH:${flutterフォルダまでのパス}/flutter/bin" と記述してください。

    ~/.bash_profile に記述した場合、ログインログアウトを行った後に、~/.bashrc に記述した場合、ターミナルを再起動したときに Flutter SDK への PATH が永続化されます。

    flutter doctor でシステムチェック

    Flutter 開発で必要なツールチェーンがパソコンにインストールしているか、診断する flutter doctor を起動します。

    1$ flutter doctor

    出力例

    1[-] Android toolchain - develop for Android devices
    2Android SDK at /Users/obiwan/Library/Android/sdk
    3Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
    4Try re-installing or updating your Android SDK,
    5      visit https://flutter.dev/setup/#android-setup for detailed instructions.

    必要なツールがインストールされていない場合、どのようにインストールすればいいのか提示されるので、その指示にしたがってください。

    上記の例だと、Android SDK がインストールされていないと示されているので、別途 Android Stuido や Android SDK をダンロードしてください。

    Android Studio のセットアップ

    ここからは、 Windows、Linux 共通です。

    (若干差異があるかもしれませんが、そこはノリと気力で乗り越えましょう)

    Flutter の開発では Android StudioVS Code が利用できます。

    本記事では、 Android Studio を用いた開発環境構築をすることにします。

    Android Studio をインストール

    Android Studio の公式ページより、Android Studio をダウンロード、インストールしてください。

    Android Studio を起動するとセットアップウィザードが表示されます。

    Android用の Flutter 開発で必要になる Android SDKAndroid SDK Platform-ToolsAndroid SDK Build-Tools をインストールします。

    Android Emulator のセットアップ

    Android Emulator でFlutter アプリをテストする場合、Emulator を準備する必要があります。

    1. Android Studio を起動し、Tool > Android > AVD Manager と進む
    2. "Create Virtual Device" を選択
    3. どのデバイスのエミュレーションを行うか選択し、"Next" をクリック
    4. エミュレーションで使用したい Android のシステムイメージを選択し、"Next"をクリック
    5. "Finish" をクリックしてセットアップを完了

    (筆者だけかもしれませんが、Android のシステムイメージを "Q" にしていたら、Flutter アプリを起動するときにエラーが発生しました。Android Pie ではエラーが発生せず、アプリを実行できました)

    Flutter Plugin のセットアップ

    Flutter 公式が Flutter 開発のためのプラグインを提供しているので、インストールしてください。

    1. Android Stuido を起動する
    2. Plugin の設定ページを開く(File > Setting > Plugins )
    3. Flutter Plugin を探してインストール。(検索窓に Flutter と入力するとすぐに見つかるはずです)
    4. Dart Plugin を一緒にインストールするか聞かれるので「Yes」を選択
    5. 「Restart」を選択して、Android Studio を再起動する

    お疲れ様です。これで、Android Studio の設定は完了です。

    Flutter プロジェクトの作成

    それでは、 Flutter のプロジェクトを作成していきましょう。

    Android Studio より、以下の手順で進んでください。

    1. File > New Flutter Project
    2. 「Flutter application」を選択して「Next」をクリック
    3. Flutter SDK path が正しく SDK の位置になっていることを確認する
    4. Project name にアプリの名前(例:flutter_app)を入力して、「Next」をクリック
    5. 「Finish」をクリック
    6. Flutter プロジェクトが新規に作成されるのを待ちます。

    Flutter アプリを動かしてみる

    プロジェクトが用意できたら、一度アプリを起動してみましょう。

    Android Studio のツールバーは以下のようになっています。

    target selector でどの Android デバイスでアプリを起動するのか選択できます。

    Android Studio で設定したAndroid Emulator を選択してください。

    緑の三角の 「Runボタン」を押してください。

    エミュレーターが起動し、Flutter アプリがロード、実行されます。

    ホットリロードを試してみよう

    Flutter は、ホットリロードに対応しています。

    試してみましょう。

    1. lib/main.dart を開いてください。
    2. エミュレーターが起動している状態で、以下の文言を変更してみましょう。
    1'You have pushed the button this many times'

    以下のように変更します。

    1. pushed -> clicked
    1'You have clicked the button this many times'
    1. 変更内容を保存します。

    エミュレーターの実行結果を確認すると、言葉が即座に切り替わっているのが確認できるはずです。

    さいごに

    本記事では、 Flutter の「紹介」と「環境構築」までを取り扱いました。

    Flutter を利用することで、 Android と iOS のネイティブアプリが両方開発できるようになります。

    そして、今後は「デスクトップ」、「Web」と利用できる場面も増えていきます。

    本記事が Flutter アプリの開発のお役に立てれば幸いです。

    こちらの記事もオススメ!

    featureImg2020.08.14スマホ技術 特集Android開発Android開発をJavaからKotlinへ変えていくためのお勉強DelegatedPropert...

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...

    ライトコードでは、エンジニアを積極採用中!

    ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。

    採用情報へ

    広告メディア事業部

    広告メディア事業部

    おすすめ記事

    エンジニア大募集中!

    ライトコードでは、エンジニアを積極採用中です。

    特に、WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!

    また、フリーランスエンジニア様も大募集中です。

    background