バックエンド実装の方針 ~ 「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のインストール)
ブラウザーでSendGridの管理ページにログインして行います
  • API Keyの取得 -- Setting -> API Keysから取得します
  • 送付先の登録 -- Marketing -> Contacts から「Add Contacts」
  • 送信者の登録 -- Marketing -> Senders から「Create New Sender」
  • Firebase SDKのCloud Functionsを初期化
Firebaseの初期化は、一度にCloud Functionsも含めてた初期化も可能ですし、 既に利用しているプロジェクトがある場合、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サービスを作るだけではなく、どのように作って、どのようにビジネスにつなげて 行くかを提供します。また、フリーランスの方だけではなく、就職を考えている方にも 「実践力」を養うことで「即戦力」のエンジニアとしてのスキルを身に着ける事ができます!

興味のある方は今すぐお問合せください!



またよろしければ、ニュースレターの登録をお願いします!大体週一回お届けしています。ブログよりは一歩踏み込んだもっと濃い内容を発信しています。


Copyright(c) 2020 by Silicon Valley Super Ware, all rights reserved.

コメント

このブログの人気の投稿

足し算以外もできるようにする

ユーザーインターフェースの設計

改良版足し算プログラム