ReactとFirebaseを使用してリアルタイムチャットアプリを構築します
このチュートリアルでは、ユーザー認証に焦点を当てたReactとFirebaseを使用して、リアルタイムチャットアプリケーションの構築を実証しています。サードパーティ認証プロバイダー(Google、GitHub)を統合し、リアルタイムのデータ同期のためにFirebaseのリアルタイムデータベースを活用します。 Reactで構築されていますが、コアコンセプトは他のフレームワークに転送できます。
ファイアーベースの理解
Googleのアプリ開発プラットフォームであるFirebaseは、認証、リアルタイムNOSQLデータベース、クラウド関数、静的ホスティング、クラウドストレージなど、包括的なツールスイートを提供しています。その寛大なフリーティアは、このプロジェクトに最適で、認証(電子メール/パスワード、Google、GitHub)とリアルタイムデータベースアクセス(同時接続とストレージに制限がある)を提供します。
このアプリケーションで使用されるキーファイアベース機能:
- 認証: GoogleとGithubを使用した電子メール/パスワードとシングルサインオン(SSO)を介してユーザーログインを保護します。
- リアルタイムデータベース:リアルタイムデータの更新を有効にするNOSQLデータベース。
チャットアプリケーション
当社のアプリケーション「Chatty」を使用すると、認証されたユーザーがメッセージを送信および受信できます。ユーザーは電子メール/パスワードで登録するか、Google/Github SSOを使用できます。ソースコードは参照可能です。
セットアップと構成
- FireBaseプロジェクト: FireBaseコンソールで新しいプロジェクトを作成します。名前を付けます(例:「チャット」)。オプションで分析を有効にすることができます。
- Webアプリのセットアップ: FireBaseコンソールで、「Web」セクションに移動してアプリを登録します。構成の詳細(APIキー、著者ドメインなど)を記録します - 後で必要になります。
-
認証プロバイダー: FireBase認証設定で電子メール/パスワード、Google、およびGitHubのサインインメソッドを有効にします。承認されたリダイレクトのために、Webアプリのドメイン(
localhost
など)を追加することを忘れないでください。
開発環境
- node.jsおよびnpm(またはyarn): node.jsとパッケージマネージャー(NPMまたはYARN)がインストールされていることを確認します。
- Reactアプリの作成: Bootstrap新しいReactプロジェクト:
npx create-react-app chatty
-
インストール依存関係: React RouterとFirebaseのインストール:
yarn add react-router-dom firebase
(または、NPMを使用する場合はnpm install
を使用します)。 - プロジェクト構造:コンポーネント、ヘルパー、ページ、およびサービスのフォルダーを使用してプロジェクトを整理します。
Firebaseの統合
FireBase Configuration(
src/services/firebase.js
): Firebaseをインポートし、セットアップのステップ2から構成の詳細を使用して初期化します。auth
およびdatabase
モジュールをエクスポートします。APPセットアップ(
src/App.js
):必要なモジュール(React、Reactルーター、FireBase)をインポートします。PrivateRoute
とPublicRoute
高次コンポーネント(HOC)を作成して、認証ベースのルーティングを処理します。これらのHOCは、認証状態を確認し、それに応じてユーザーをリダイレクトします。認証状態(
src/App.js
):auth().onAuthStateChanged
認証の変更を監視し、アプリの状態(authenticated
、loading
)を更新します。認証ヘルパー(
src/helpers/auth.js
):サインアップ(signup
)、signin(signin
)、google signin(signInWithGoogle
)、およびgithubサインイン(signInWithGitHub
)の関数を作成します。これらの機能は、FireBase認証サービスと対話します。Signup and Login Pages(
src/pages/Signup.js
、src/pages/Login.js
):src/helpers/auth.js
のヘルパー関数を使用して、ユーザー登録とログインのフォームを作成します。フォームの送信を処理し、エラーメッセージを表示します。チャットページ(
src/pages/Chat.js
):db.ref("chats").on("value", ...)
firebaseリアルタイムデータベースからのリアルタイムの更新を聞きます。チャットメッセージをレンダリングし、新しいメッセージを送信するためのフォームを提供します。db.ref("chats").push(...)
を使用して、データベースに新しいメッセージを追加します。データの読み取りと書き込みの両方のエラー処理を実装します。データベースルール: FireBase RealTimeデータベースルールを構成して、認証されたユーザーのみへのアクセスを制限します。
テストと展開
完了したら、アプリケーションを徹底的にテストします。展開は、選択したホスティングプロバイダーによって異なります。
この詳細なガイドは、ReactとFirebaseを使用して、安全でリアルタイムのチャットアプリケーションを構築する包括的なウォークスルーを提供します。より高度な機能とオプションについては、FireBaseドキュメントを参照してください。
以上がReactとFirebaseを使用してリアルタイムチャットアプリを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









最近GraphQLの作業を開始した場合、またはその長所と短所をレビューした場合、「GraphQLがキャッシュをサポートしていない」または

最近のビットコインの価格が20k $ $ USDを超えており、最近30Kを破ったので、イーサリアムを作成するために深く掘り下げる価値があると思いました

開発者としての段階に関係なく、私たちが完了したタスクは、大小を問わず、個人的および専門的な成長に大きな影響を与えます。

それは' Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。
