この記事でわかること
*この記事はネイティブアプリ開発(iOS/Androidなど)をメインターゲットにしています
今の時代はUdemyやProgateなどのプログラミング独学のためのサービスが充実してきましたが、プログラミング初学者がネクストステップでつまづきやすいのが、「本格的なサービス開発に移行する段階」です。
画面遷移を実装したり、ボタンを押して特定イベントを発火したりなどは比較的容易に到達できるかと思いますが、いざ本格的なサービスに開発にする移行しようとすると以下のような機能が必要となってきます。
・ユーザー認証・登録
・ユーザーの生み出すコンテンツ(テキスト、画像の投稿など)の保存、更新
・ユーザー同士のコミュニケーション(フォロー、コメント、チャットなど)
これらの機能を開発するためには、最低でも以下の知識が必要となります。
①インフラ(サーバーの設置・稼働場所)
②データベース(ユーザーの生み出す様々なデータの保存場所)
③API(アプリやWEBブラウザからデータベース内のデータを操作する)
④UIを構成するクライアントアプリの開発
*より詳しく知りたい方は「LAMPスタック」とか「MEANスタック」とかでググってみてください。
開発の現場ではよく①、②、③を**「バックエンド」、④を「フロントエンド」**と呼びますが基本全てのサービスはフロントエンドからバックエンドの機能やデータを呼び出したり操作したりすることによって動いているわけです。
初学者は④は比較的容易に習得できるのですが、①〜③でどこから着手したらよいかわからず止まってしまうケースがほとんどかと思います。
この記事ではそれくらいのレベルの人たちを対象に、結論から言うと**「Firebaseを使えばインフラ、データベース、APIを学びつつ、簡単にリリース可能なサービスを開発できるよ」**というのを説明していきたいと思います。
Firebaseとは
まずそもそも「Firebase」とは何かと言うと、ネットで調べると色々と説明が見つかるかと思いますが、初学者向けに思い切り簡潔に言ってしまえば**「Googleの提供する、バックエンドで必要とされる一連の機能を提供してくれるサービス」**です。(公式ページはこちら)
Firebaseを使用することで開発者はフロントエンド(上記で述べた④)の開発のみに専念することが可能となるわけです。
*Firebaseについてより詳しく知りたい方は、こちらの記事が平易な言葉遣いで説明してくれていて参考になります。
FirebaseはGoogleが提供するサービスだけあり様々な機能がありますが、この記事では初学者向けということで、サービス開発で必要な最低限の機能に絞って説明していきたいたいと思います。
ミニマムなサービス開発に必要なFirebaseの機能
結論から言うとまずは以下の2つで充分です、、
以降の記事はやや長いので、こちらのnoteにまとめています。
導入方法の概要を紹介しているので、是非ご覧ください!