Flutter
1 つのコードで iOS / Android 両対応のアプリを作れる Google 製フレームワーク
Flutter とは
Flutter (フラッター) は、Google が開発するアプリ開発フレームワークだ。1 つのコードベースから iOS・Android の両方に対応するアプリを作れる「クロスプラットフォーム」開発を実現する。Dart という言語で記述し、Web やデスクトップ向けの出力にも対応する。見た目と動作を細かく制御できる点が特徴になる。
クロスプラットフォームの価値
| 観点 | 個別開発 | Flutter |
|---|---|---|
| コード | iOS と Android で別々 | 1 つを共有 |
| 開発コスト | 二重になりがち | 抑えやすい |
| 一貫性 | ずれが生じやすい | 揃えやすい |
iOS と Android を別々に開発すると、人手もコードも二重になる。Flutter は 1 つのコードで両対応できるため、開発・保守の負担を減らせる。
描画の仕組み
Flutter は各 OS の標準 UI 部品を呼び出すのではなく、自前の描画エンジンで画面そのものを描く。この描画エンジンは Impeller と呼ばれ、公式ドキュメントは 3.27 のリリース以降これを既定としている (2026 年 8 月時点)。Impeller は描画に使うシェーダをビルド時にコンパイルしておく方針を採るため、実行中に初めて通る演出でシェーダの生成待ちが発生して一瞬引っかかる、という従来型の症状を避けやすい。どの端末でも同じ見た目を出せる利点も、この自前描画から来ている。
裏返しの制約もある。OS 側が標準部品の外観や作法を更新しても自動では追随せず、文字入力やアクセシビリティのように OS 標準部品が担ってきた領域は、フレームワーク側の実装品質に依存する。見た目を握れることと、OS の流儀からずれ得ることは同じ性質の表と裏だ。
採用時の注意点
クロスプラットフォームは万能ではない。各 OS 固有の最新機能への対応は、ネイティブ開発より遅れることがある。また、記述言語である Dart は採用の場が Flutter 周辺に集中しているため、他の言語で積み上げたライブラリや設計の資産をそのまま持ち込みにくい。高度に OS 依存する機能や、極限の性能が求められるアプリでは、ネイティブ開発 (Swift / Kotlin) が適することもある。「両対応の効率」と「個別最適化」のどちらを優先するかで選択が変わる。
判断の目安になるのは、画面の作り込みをどこまで自分の手で握りたいかだ。独自のデザインを全画面で貫き、端末をまたいで同一の見た目を保証したい場合は自前描画が味方になる。逆に OS 標準の見た目に馴染ませたい場合や、公開直後の OS 機能をすぐ使いたい場合は、ネイティブ寄りの選択が素直になる。
体系的に学ぶなら関連書籍が手がかりになる。
この記事は役に立ちましたか?
関連用語
関連する記事
Web 開発本ガイド - フロントエンドからバックエンドまで
Web 開発の全体像を学べる技術書の選び方と学習マップを紹介。フレームワーク本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
JavaScript / TypeScript 本ガイド - 入門から型で守る実務コードまで
JavaScript と TypeScript を 1 本の学習ルートとして捉えた技術書の選び方。JavaScript の入門書、言語の背骨を通す体系書、TypeScript の型システムを設計の武器にする本、React/Next.js の実践書まで 2026 年 8 月時点の定番で案内します。
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。