HapInS Developers Blog

HapInSが提供するエンジニアリングの情報サイト

Vue.js 3 と Firebase を使用したリアルタイム チャット アプリ

こんにちは、エートゥエです!

システム事業部でウェブ開発者をやっていたが、この時間で単純なチャットアプリを作ってみたいと思いながら、 Vue.jsと Firebase を使用してリアルタイム チャット アプリを構築しました。

いったいどうして…。

Vue.jsを触ったことがありますが、Firebaseの知識とかは全くありません。

現状自分でプロジェクトを最初からやれるチャンスがないので、この際ロジック周りも触れるように、勉強とアドカレのネタを兼ねてなにかアプリをつくってみようと思って作ってみました! そしてできたのがこちら!

Vue Chat App

名前のとおり、Vueのチャット アプリです。

ブラウザ別からログインされた各ユーザーがチャット出来ます。 ログイン出来なければ、新ユーザーとして登録が必要なので“Sign Up”で登録してくださいね。

開発期間は月曜の夜ほぼ徹夜して水曜で完成させました(この記事は水曜の夜に書いてます)。

なぜVue.js 3 と Firebase?

Vue.js 3 は、直感的な API と堅牢なリアクティブ システムを備えており、リアルタイムで更新される動的な UI を非常に簡単にセットアップできます。これを、強力なリアルタイム データベースを含むバックエンド サービスである Firebase と組み合わせると、インフラストラクチャを気にすることなくリアルタイム アプリケーションに最適な組み合わせが実現します。

制作工程

1. デザイン

Sign Up
Login

まずVueでのコンポーネント ディレクトリに、SignUp.vue と Login.vue という 2 つの新しいコンポーネントを作成します。これらは、それぞれ新しいユーザーの登録とユーザーのログインを処理します。

2. Firebase と VUE.JS の統合

このプロジェクトでは、バックエンドの処理に Firebase を使用します。まず、Firebase アカウントが必要です。Firebase にアクセスしてサインアップまたはログインします。Firebase コンソールで新しいプロジェクトを作成し、Firestore データベースと認証を有効にすることを忘れないでください (このチュートリアルでは、メール/パスワード認証を使用します)。

firebase.google.com

次に、Vue プロジェクトに Firebase をインストールします。

npm install firebase

Firebase を初期化するには、src フォルダーに firebase.js ファイルを作成します。

firebase.js

Firebase による認証

src/firebase.js に認証方法を追加します。

firebase.js

3. チャットインターフェースの構築

ChatRoom.vue コンポーネントは、メッセージの表示、新しいメッセージの送信、Firebase のリッスンによるリアルタイム更新を処理します。

ChatRoom.vue

4. VUEルーターの設定

src/router/index.jsでルートを設定します

index.js

5. アプリをデプロイ

アプリケーションをデプロイする前に、Firebase CLI をインストールする必要があります。

npm install -g firebase-tools

FIREBASEにログインする

firebase login

プロジェクトの構築

npm run build

Firebaseホスティングへのデプロイ

firebase deploy

おわりに

というわけで、大変勉強になりました。

課題としては最後の実装につれて疲れて、どのようにアプリをデプロイする方法とか色々探しながらコピペでコード貼り付けてたりしたので、その辺りまとめられるとよいですね!

このアプリやるのは楽しくて、うまくできれば少しずつデザインを追加したらもっといいかなあと思ってます。

それでは素敵な一日を!