ある中卒がWeb系エンジニアになるまでと、それからのこと

うつ病で高校を中退したり、たこ焼き屋のオヤジにホームページとたこ焼きを作らされたり、そのホームページが訴えられそうになったり、弁護士を目指したりした後にエンジニアになった人が書くブログ

firebase環境構築をして、Laravelとfirebaseを比較する

2020/06/27の日報

Hanasot開発の日報、第1日目です。 今日は

  • GitLabでHanasotのプロジェクトを作成
  • firebaseコンソールでHanasotoのプロジェクトを作成
  • firebase cliのインストール・プロジェクトの反映

を行いました。
時間としては、

  • Hanasot開発 28min
  • 日報ブログ 46min

です。
運動は

  • エアロバイク 15min

です。

GitLabでHanasotのプロジェクトを作成

GitLabのプロジェクト自体は作成していたのですが、こっちはLaravelである程度使っているので新たに作り直しです。
ブランチの切り方とかも矯正したので今度は多少きれいに作っていけるんじゃないかな。

firebaseコンソールでHanasotoのプロジェクトを作成

それからfirebaseの方でも新規プロジェクトを作成しました。
仕事では既に環境はできている状態からスタートだったので、自分でやるのは初めてですね。
下記のサイトを参考に行いました。

Vue.js+Firebaseで認証付きチャット | 基礎から学ぶ Vue.js
Firebaseのプロジェクトを作り直すことになったたった一つの設定項目 - Qiita

デフォルトではロケーションがusになっているので、asia-northeast1(東京)にするのは注意ですね。
今回は

  • メールアドレス
  • Googleアカウント

での登録を受け付けることにしました。
Authentication の項目から簡単に設定できます。(動作未確認)
Databaseの項目もアクセスするだけでルールを作ってくれます。

f:id:chusotsuengineer:20200627233452p:plain
「だれでもどのコレクションでも読み取りも書き込みも好きにしちゃいな!」のルール

あとDBは本番環境かテスト環境か選択できて、本番だとルール通りで動作するようです。
テスト環境だと、どのユーザーでもデータへのアクセスが許可される?とか。
今回は最初から本番設定で行います。
そんなところかな。

firebase cliのインストール・プロジェクトの反映

そしたらローカルのソースコードが格納されるディレクトリとfirebaseプロジェクトを繋げていきます。
下記のサイトを参考にしました。
vue.js firebase 環境構築 (os x) - Qiita
firebaseでhostingするまでの備忘録 - Qiita
Firebaseの初期設定〜デプロイまで – ajike developer's blog – UXデザイン会社アジケの開発者ブログ
グローバルにfirebase-toolsをインストールして、あとは firebase login からの firebase init で選択肢に答えていくだけですね。
1点気になってるのが、

? Which Firebase CLI features do you want to setup for this folder? Press Space to select features, then Enter to confirm your choices.
◯ Database: Deploy Firebase Realtime Database Rules
◯ Firestore: Deploy rules and create indexes for Firestore
◯ Functions: Configure and deploy Cloud Functions
◯ Hosting: Configure and deploy Firebase Hosting sites
◯ Storage: Deploy Cloud Storage security rules

って聞かれて選択する箇所があるんですけど、これ全部選択しちゃったんですよね。
いらなければ使わないだけでいいんじゃないかという浅はかな考えなんですけど、どうなんでしょう。
まあ、個人開発なので困ったらやり直せばいいか。
それ以外は基本デフォルトでOKかと思います。ルール記述用のファイルとかなければ作ってくれるので。
そんな感じですね。
とりあえず今日はここまでです。

所感

Laravelとfirebaseの比較

Laravelとfirebaseのどっちを使おうか迷ってるんですけど、両者はなんとなく似てるんですよね。NoSqlだし。
SPAのバックエンドにするなら必然的にapiで関数を呼び出していくわけですけど、そうなるとLaravelだろうがfirebaseだろうが手間はあんまり変わらない気がするんです。ここらへん経験が浅いのでなんともですが。
firebaseだとcloud functionsというのがあって、そこにapiをなんやかんやと書いていきます。
Laravelならルーティングでapi用のやつ作りますよね。
今の僕レベルだとjsなのかphpなのかくらいしか違いがない気がする。
Laravelで色々つくった時は、あれやろうとかこれやろうってふと思いついたことに対して既にメソッドが用意されてる便利さが凄くよかったのを覚えてます。
でもfirebaseも楽なんですよ。クエリ投げて返ってきた値への操作も色々用意してくれてるし。
ホスティングの簡便さとか考えると、とりあえず今回はfirebaseでやってみようかなーと思ってます。
ただ料金が怖いな。
ちょっとこの辺はまたおいおい詳しく調べていけたらと。
とりあえず乱文でざっくり今日の所感でした。