AngularとFirebaseを使用して完全なWebアプリケーションを作成する方法について、完全かつ包括的な記事を日本語でご紹介します。この記事では、アプリケーションのセットアップ、フロントエンドとバックエンドの構築、Firebaseの設定、そして最終的なデプロイメントまでの手順を順を追って説明します。
1. 必要なツールと技術
Webアプリケーションを作成するために、以下のツールと技術を使用します。

- Angular: モダンなフロントエンドフレームワークで、SPA(Single Page Application)を作成します。
- Firebase: バックエンドサービスとして利用し、認証、データベース、ホスティング、ファイルストレージなどを提供します。
2. 開発環境のセットアップ
2.1 Node.js と npm のインストール
まず最初に、Node.jsをインストールする必要があります。これにより、npm(Node Package Manager)を使用して必要なパッケージをインストールできます。
- Node.js公式サイトから最新版をインストールしてください。
インストール後、ターミナルで以下のコマンドを使って、インストールされているバージョンを確認します。
bashnode -v npm -v
2.2 Angular CLI のインストール
次に、Angularの開発に必要なCLIツールをインストールします。以下のコマンドを実行してAngular CLIをインストールします。
bashnpm install -g @angular/cli
インストールが完了したら、以下のコマンドでバージョンを確認します。
bashng version
3. 新しいAngularプロジェクトの作成
次に、新しいAngularプロジェクトを作成します。以下のコマンドを使用して、新しいアプリケーションを作成します。
bashng new my-angular-app
プロジェクト名は任意で変更できます。このコマンドを実行すると、Angularのプロジェクトが作成され、必要な依存関係がインストールされます。
作成されたプロジェクトディレクトリに移動して、開発サーバーを起動します。
bashcd my-angular-app
ng serve
http://localhost:4200
にアクセスすると、Angularアプリケーションが表示されるはずです。
4. Firebase プロジェクトの作成
4.1 Firebase コンソールにサインイン
Firebaseを使用するためには、まずFirebaseコンソールにアクセスして、Googleアカウントでサインインします。
4.2 新しいプロジェクトを作成
コンソールにサインインしたら、”プロジェクトを追加”をクリックして、新しいFirebaseプロジェクトを作成します。
4.3 Firebase SDKのセットアップ
Firebaseプロジェクトが作成されたら、Firebase SDKをAngularアプリに追加します。
まず、FirebaseとAngularFireパッケージをインストールします。
bashnpm install firebase @angular/fire
次に、Firebaseコンソールから「プロジェクトの設定」ページに移動し、「Firebase SDKの設定と構成」セクションから設定情報を取得します。この設定をsrc/environments/environment.ts
に追加します。
typescriptexport const environment = {
production: false,
firebaseConfig: {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_AUTH_DOMAIN",
databaseURL: "YOUR_DATABASE_URL",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_STORAGE_BUCKET",
messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
appId: "YOUR_APP_ID",
measurementId: "YOUR_MEASUREMENT_ID"
}
};
5. Firebase Authenticationの設定
Firebase Authenticationを使用して、ユーザー認証を簡単に実装できます。以下の手順で設定を行います。
5.1 Firebase Authenticationの有効化
Firebaseコンソールで「Authentication」セクションに移動し、「サインイン方法」タブから必要な認証方法(メール/パスワードなど)を有効にします。
5.2 Angularで認証機能を実装
まず、Firebase Authenticationをインポートします。
typescriptimport { AngularFireAuth } from '@angular/fire/auth';
import { auth } from 'firebase/app';
次に、認証機能を実装するためのサービスを作成します。
bashng generate service auth
auth.service.ts
で、ユーザー登録、ログイン、ログアウトのメソッドを作成します。
typescriptimport { Injectable } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/auth';
import { auth } from 'firebase/app';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class AuthService {
constructor(private afAuth: AngularFireAuth) { }
register(email: string, password: string): Promise<any> {
return this.afAuth.createUserWithEmailAndPassword(email, password);
}
login(email: string, password: string): Promise<any> {
return this.afAuth.signInWithEmailAndPassword(email, password);
}
logout(): Promise<void> {
return this.afAuth.signOut();
}
getUser(): Observable<any> {
return this.afAuth.authState;
}
}
6. Firebase Realtime Databaseの使用
FirebaseのRealtime Databaseを使用して、データを保存および取得する方法を説明します。
6.1 Firebase Databaseの設定
Firebaseコンソールで「Realtime Database」を有効にし、ルールを設定します。初期のルールを設定する例は以下のようになります。
json{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
6.2 Angularでデータを保存
Firebase Realtime Databaseにデータを保存するために、AngularFireDatabase
をインポートします。
typescriptimport { AngularFireDatabase } from '@angular/fire/database';
次に、データを保存するサービスを作成します。
bashng generate service database
database.service.ts
で、データを保存するメソッドを作成します。
typescriptimport { Injectable } from '@angular/core';
import { AngularFireDatabase } from '@angular/fire/database';
@Injectable({
providedIn: 'root'
})
export class DatabaseService {
constructor(private db: AngularFireDatabase) { }
saveData(data: any): void {
this.db.list('/data').push(data);
}
getData(): Observable<any> {
return this.db.list('/data').valueChanges();
}
}
7. Firebase Hostingでアプリをデプロイ
Firebase Hostingを使って、作成したアプリをデプロイします。
7.1 Firebase CLIのインストール
まず、Firebase CLIをインストールします。
bashnpm install -g firebase-tools
7.2 Firebaseにログイン
Firebase CLIを使用して、Firebaseアカウントにログインします。
bashfirebase login
7.3 プロジェクトを初期化
次に、プロジェクトをFirebaseにリンクさせます。
bashfirebase init
Hostingを選択し、プロジェクトをセットアップします。
7.4 アプリをビルドしてデプロイ
ビルドを作成し、Firebase Hostingにデプロイします。
bashng build --prod firebase deploy
これで、Firebase Hostingにアプリケーションがデプロイされます。デプロイ後、提供されたURLにアクセスして、アプリを確認できます。
8. 結論
このガイドを通じて、AngularとFirebaseを使って完全なWebアプリケーションを作成する手順を説明しました。フロントエンドの構築から、Firebaseでの認証、データ保存、デプロイまでの流れを理解できたと思います。これにより、リアルタイムアプリケーションの作成が可能になります。