バックエンド実装の方針 ~ 「express」で実装!
Silicon Valley Super Ware
2020年7月8日
バックエンド実装の方針 ~ 「express」で実装!
今日は、どのような方針でバックエンドのサービスを作るかという話です。ブラウザで動作しているフロントエンドはコードをサーバからブラウザにダウンロードして ブラウザで実行しています。一方で、バックエンドのコードはWebページ(サイト)の ホスティングをしているサーバーで実行されます。
WordPressはバックエンドサービスにPHPを使っています。
今回のSendGridを使ったメッセージ配信のサービスも当然PHPで作ることもできます。 SendGridもサンプルを提供していますので、こちらに興味がある方は検索してみてください。この連載では、バックエンドとフロントエンドで共通の言語「JavaScript」で対応するために、 Node.jsを利用してバックエンドサービスを実装していきます。
Node.jsの簡単な紹介!
サーバーサイドの実装としてよく利用されるので、サーバーサイドの開発の為の言語のように見えますが、 プログラミング言語そのものはJavaScriptです。もともとのアイディアは、ブラウザーで動作しているプログラムを普通にPCで実行できるようにしたものが Node.jsというわけです。ブラウザーで利用していた実行エンジンを取り出して、ブラウザ以外で実行できる ようにしたものです。サーバーサイドのバックエンドサービスで使われる事が多いですが、npmなど、 PCで動作するアプリの開発も可能な言語です。
サーバー側でNode.jsが実行可能ならば利用できます!
実は、Node.jsを実行できるサーバー環境はWordPressのPHPが主流のホスティングサービスでは 利用できないサービスも多くあります。 今回は、このブログで積極的に利用している「Firebase」のホスティングサービスを利用して Node.jsによるバックエンドの実装を勧めるというのが基本方針です。Firebaseで提供しているサービスの一つに「Cloud Function」という機能がありますが、 これを利用してNode.jsのバックエンドサービスを作成します。
Cloud Functionの利用には、FirebaseのCLIの開発環境(npm を使ったWeb開発環境)で、 Cloud Functionを初期化する必要があります。
まずは、Firebaseの公式ドキュメントを 参考にして設定をします。Firebase側の準備
4月からのテーマでFirebaseを利用してきていますので、基本的な設定は同じようにできます。- Firebaseプロジェクトの作成
- Node.jsとFirebase CLIの設定(firebase-toolsのインストール)
- API Keyの取得 -- Setting -> API Keysから取得します
- 送付先の登録 -- Marketing -> Contacts から「Add Contacts」
- 送信者の登録 -- Marketing -> Senders から「Create New Sender」
- Firebase SDKのCloud Functionsを初期化
Firebaseの設定ができたら、必要なモジュールを追加すれば準備完了です
今回利用するモジュールは「express」というモジュールで、バックエンドのサービスを 作成する場合非常によく利用されているモジュールです。Express
Expressを利用しないでJavaScriptだけでも勿論バックエンドサービスを実装できます。 しかし、使った方がシンプルに実装できるので今回は迷わずに利用します。「npm」がインストールされていれば、「> npm install express --save」で簡単にインストールできます。 詳細はWebページにドキュメントや役に立つリンクがあります。
あとは、便利なミドルウエア(body-parser)などを入れると実装が簡単になります。
今日は、必要なモジュールの準備などができればOKです。実際に「SendGrid」のAPIを実装する前に、次回は簡単にブラウザのフロントエンドとの やり取りをするシンプルなサービスを作って概念を理解するようにする予定です。
APIの定義
今回定義するAPIはメッセージを送信するAPIだけです。(完全なサービスにする場合は他のAPIが必要になります)基本のバックエンドサービスのURLにAPIを追記したURLにアクセスするとバックエンドのサービスが 動くようにします。 「Cloud Functions」ではこのサービスを「function(関数)」と読んでいて、 そのURLが指定された場合、バックエンドのサービスを起動する仕組みになっています。
今回のAPIは例えば「http://xxx.yyy.zzz/api/send」のようにURLを指定して メッセージの情報を添付して送れば、バックエンドサービスがメッセージの情報を SendGridに転送するというサービスです。
シリコンバレースーパーウエアでは、バックエンドを含めた本格的なWebサービスを短期間で 作れるようになる講座を提供しています。 単純に、Webサービスを作るだけではなく、どのように作って、どのようにビジネスにつなげて 行くかを提供します。また、フリーランスの方だけではなく、就職を考えている方にも 「実践力」を養うことで「即戦力」のエンジニアとしてのスキルを身に着ける事ができます!
興味のある方は今すぐお問合せください!
またよろしければ、ニュースレターの登録をお願いします!大体週一回お届けしています。ブログよりは一歩踏み込んだもっと濃い内容を発信しています。

コメント
コメントを投稿