どこでやるか?境界線をきちんと引く!
Silicon Valley Super Ware
2020年7月6日
どこでやるか?境界線をきちんと引く!
自分のWebサービスでフロントエンドとバックエンドでサービスを提供するのが、 今月のテーマです。最初に考える事は「今までとは何が違うのか」をきちんと理解することです。
これまでの連載では基本は「フロントエンド」があなたが作る部分でした!
あなたが、作るのはフロントエンドだけで、あとの部分は「既存の物」を使っていました。 これが大きな違いです。境界線は?
4月から6月までのテーマの中心は「フロントエンド」を作る事でした。 フロントエンドを作る際に利用していたのが「Firebase」や「REST API」でした今回は、これ以外に「あなたが作るバックエンド」が追加されます。
これまでは、境界線は「利用する外部のサービスが決めていた」という事です。
Webサービス自体は、一つのサービスですが、「プログラム」という観点で見るとフロントエンドとバックエンドは別々のプログラムです
今までは利用していた既存の外部サービスが、提供する機能を決めてそのうえでAPIを決めてくれていました。 つまり境界線はハッキリしていました。
今月のテーマでは、両方あなたが作るので、「あなたが境界線を決める」必要があります。
ここが、カスタムのバックエンドサービスを作る上で今までよりちょっとだけ難しい所です。どちらでも出来る!
難しいのには理由があります。やりたい処理の殆どはどちらでやっても出来るからです。どちらかでしか出来ない場合は簡単で、それを基に線を引けば良いのですが、 どちらでも出来る事は迷いますよね?
決めるにはある程度方針を決めないといけません。 両方を一人で作る場合と、片方を他の人が作る場合でも違います。 また、全体の性能や制限によっても変わってきます。
この連載はフリーランスの方向けに書いていますので、今回は「一人で両方作る」事を前提に考えます。
この前提で話をすると、作業量はやる事が決まればほぼ同じです。 今回は、フロントエンド、バックエンド共に「JavaScript(Node.js)」で作る事にしていますので、 やる事が同じならば、コーディングの量はほぼ同じ程度と考える事ができます。そこで、今回は「始めてバックエンドを作る」事を前提にしていますので、 バックエンドはできるだけ簡単にするという方針で作る事にします。
つまり、フロントエンドで出来る事はフロントエンド側で処理をして、 バックエンドは最低限の実装という方向で考えます。
バックエンドでやる事は?
では、バックエンドでやる事とは何でしょうか?外部サービスのREST APIの処理は「APIキー」が必要です。 これを、外部の人には見せたくないというのが今回バックエンドサービスを 導入する理由です。
バックエンドでやるのは、外部サービスの「REST API」のみです。
それ以外は全てフロントエンドの処理という事になります。そう考えると、フロントエンドとバックエンドのやり取りで使うAPIは 利用する外部のサービスのAPIと似たインターフェースを使う方が便利です。
ただし、誰でもバックエンドのサービスを使えてしまうとセキュリティ上の問題になります。 そこで、フロントエンドで利用者の認証(ログイン処理)を行い、 バックエンドのサービスを利用する際は、認証後発行されるUIDを一緒に送るという方法を取る事にします。
方針が決まったら?
最初にやるのが、REST APIのようなやり取りに使う「決まり事」を作ります。 つまり「API」です。次回は、このカスタムのAPIを決める事にします。
今回は、バックエンドの実装を体験するのが目的なので、 実装するAPIは一つだけにする予定です。 ただし、「完全なサービス」を実現するのも大切ですので、 ブログの連載とは別に、メッセージ配信のWebサービスを作る別のコースを 提供します。 詳細は、お問合せフォームからお問合せ頂いた方に案内させて頂きます。 (ニュースレターの読者の方には今週発行のニュースレターでも簡単なご案内をさせて頂きました!)
興味のある方は今すぐお問合せください!
またよろしければ、ニュースレターの登録をお願いします!大体週一回お届けしています。ブログよりは一歩踏み込んだもっと濃い内容を発信しています。

コメント
コメントを投稿