前回投稿した「フロントエンド編」にご興味ある方はこちらをご覧頂きたい。
今回は本サイト「ポレゴンフーズ」のバックエンドの技術スタックについて綴っていこう。
そんなに盛り込んだものではないので期待しないで頂きたい。
あくまで参考になれば幸いだ。
バックエンド
それでは早速大まかな使用技術を列挙してみよう。
これだけである。
出来れば GraphQL やら AWS やら使うのも良いなぁとは思っていたのだが、手軽さが故に上記の選定となった。
後々GraphQLでサーバー側とクライアント側でしっかり分けるつもりだ。
では、以前のフロントエンドの記事と同様にざっくり「技術詳細」と「選定理由」を綴っていこう。
FireBase
現在はGoogleの傘下にいるFireBase。その概要を一言で言えば
手軽にバックエンド実装できるプラットフォーム
だろう。
バックエンドに必要なサーバーやらデータベースやらストレージやら認証やら、大抵のバックエンド処理を代行してくれる。
FireBaseの中でもポレゴンフーズが使用した技術は下記だ。
- FireAuth
- FireStore
- FireStorage
それぞれざっくり解説しよう。
FireAuth |
---|
FireAuthは認証の部分である。いわゆるユーザー登録とかだ。現在は管理者様のアカウントしか作成できないようにしているが、後々ポレゴンフーズから何かしらのサービスを作成した際に、使う可能性はある。 |
FireStore |
---|
FireStoreはデータベースだ。データの読み込みや書き込みを高速で処理してくれるので便利だ。NOSQLなので直感的にデータを扱いやすいのも魅力だ。 |
FireStorage |
---|
FireStorageはその名の通り、ストレージ機能だ。様々なファイルを格納することが可能だ。 |
大まかな詳細はこんなところだろう。
選定理由
なんといっても
無料 手軽
これ2つに尽きる。
従量課金制のため、使った分だけ支払う形だ。無料枠の上限を超えた場合一時的にそのサービスが停止するので、追加請求が自動的に来るわけではないのでご安心頂きたい。
続いてはTypeScriptについてだ。
TypeScript
モダンフロントエンドではほぼ必須になってきた技術だ。
およそ2014年にMicrosoft社が発表した技術だ。データに型を付けることができる言語でコンパイルするとJavaScriptになる。クラスやインターフェースを使えるので、記述がサーバーサイドっぽい。
マークアップしかやってこなかった人からすると少し鬼門だろう。しかし、予期せぬバグの発生を防いだり、円滑なデータ処理が出来るので是非取り入れて頂きたい。
選定理由
上記で説明した通り予期せぬバグを生まない為と、今後はTypeScript前提でフロント開発する事がほぼ確実だからだ。また、前回のフロントエンド技術スタックでもご紹介したNext.jsではTypeScriptとの親和性が高いのも理由の一つだ。
近年ではVue.jsのフレームワークであるNuxt.jsでもTypeScriptを採用しはじめた事もあり、今後そのシェア数は増加の一方だろう。
さいごに
いかがだっただろうか? 現在はバックエンドにはさほど力を入れておらず実装してしまったが、後々開発の規模が大きくなる前にGraphQL(Apollo)とGCPないしは、FireBaseのCloud Functionを使ってバックエンドとフロントエンドを切り離して実装する予定だ。
現状はリポジトリパターンで関数を書いてしまっている為、少しずつリファクタリング出来れば良いと思う。
少しでも参考になれば幸いだ。