Chapter 02無料公開

1.FlutterとFirebaseを使ったアプリ開発

1章 FlutterとFirebaseを使ったアプリ開発

アプリ開発について話をする前に、FlutterとFirebaseの概要を確認しておきます。

1-1.Flutterとは?

「Flutter」とはモバイル・Web・デスクトップ向けのアプリ開発ツールです。開発は Google が行っています。

Flutter
https://flutter.dev/

主な特徴としては、以下の3つがあります。

  • 高速に開発できる
  • 優れたUIを簡単に作れる
  • さくさく動く

特に、プログラムの変更内容を即座に反映する「ホットリロード」と呼ばれる仕組みがあり、高速に開発を進めやすくなっています。

従来は iOS・Android 両方のアプリを作ろうとした時は、異なるプログラミング言語を使い iOS・Android それぞれ開発する必要がありました。ですが、Flutter や React Native といった iOS・Android アプリを1つのソースコードで開発できるツールが誕生し、より少ない学習コスト・時間でアプリ開発を行えるようになりました。

ただし、メリットばかりではなく iOS・Android・Web と、異なる環境のアプリを開発できるようにするため、Flutterで実装することが難しい場合も少なからずあります。ですので、必ずしもFlutterを使うことで全てのケースに対応できるとは限りませんが、手軽に短時間でアプリ開発を行いたい時にFlutterが採用されます。

Tips
 Flutterを使うことでiOS・Android・Webアプリを開発することができますが、場合によってはiOS・Android・Web特有の知識が必要となります。仕事でFlutterを採用する際は各環境の知識を持っている人に相談できる状態を構築しておくと良いでしょう。

1-2.Firebaseとは?

「Firebase」はユーザー認証・データベース管理といった、従来はバックエンドで実装する必要があった機能を簡単に導入できるサービスです。

Firebase
https://firebase.google.com/

Firebaseを使うことで、バックエンドの開発にかかっていた時間・手間を大幅に減らすことができます。また、アプリからFirebaseの機能を簡単に利用できるライブラリも提供されています。このライブラリを使うことで、アプリ側の開発に必要な時間・手間も大幅に減らすことができます。

Firebaseで提供されている機能はユーザー数やリクエスト数が増えても基本的には対応が不要な仕組みとなっています。ですので、開発自体の時間や手間を減らせるだけでなく、運用に必要な時間・手間も同時に減らすことができます。

Firebaseには多くの機能がありますが、ここでは本書で使う3つの機能を紹介します。

Authentication
 新規登録・ログインといったユーザー認証の仕組みを提供します。メールアドレス・電話番号・ソーシャルアカウントなどを使った認証機能が簡単に作れます。

Cloud Storage
 画像・動画・ドキュメントなど、ファイルを保存する仕組みを提供します。ファイルのアップロード・ダウンロード機能を簡単に作れます。

Cloud Firestore
 MySQLのように色々なデータを保存する仕組みを提供します。アプリで必要となるデータの管理機能を簡単に作れます。

最後に、Firebaseを使う方法の大まかなイメージを掴んでおきます。使う時に必要となるのは大きく以下の2つです。これらを準備するだけで簡単に開発ができる仕組みとなっています。

構成ファイル
 Firebaseの機能にアクセスするための認証情報

SDK
 Firebaseの機能を簡単に使うためのライブラリ

Tips
 Cloud Firestore は従来のデータベースとは様々な面で大きく異なります。Cloud Firestore を使い込むと MySQLやPostgreSQLとは違う考え方をする必要がある場面も出てくるので、スキーマ設計やセキュリティルールなど改めて基礎知識を学習しておくと良いでしょう。

1-3.この章で学んだこと

お疲れさまでした、以上で Flutter と Firebase の概要把握は完了です。この章の内容を要約すると次のようになります。

  • Flutterはモバイル・Web・デスクトップ向けのアプリを作れるツール
  • Firebaseはユーザー認証・データベース管理などを簡単に導入できるサービス

Tips
 本書をご覧になっている方は既に Flutter・Firebase を知っていると思います。ですが、技術は日々進歩し、Flutter・Firebase に関しても日々アップデートが行われています。最新の機能を使うことでより良いアプリを開発できる可能性があるので、ぜひこの機会に Flutter・Firebase の最新情報を確認してみると良いかもしれません。