JavaScriptだけでWebサイト開発

node.js + Express + mongodb系 + React でサービスを作るメモ

node.js+React CMS開発-ソフトウェア構成

CMS開発の続きです

前提条件と目的および採用基準

今回のCMS開発の考え方として

  • ビジネス向けのwebアプリケーション開発を想定
  • メディアサイトのwebアプリケーションを想定
  • 構造化が容易なアーキテクチャー
  • ある程度枯れている&開発者が多い
  • 手軽に作業ができる&コスト最小
  • デザインが自由にできる
  • IaaSに載せやすい *管理サイトおよびメディアサイトの両方を想定
  • Javascriptだけで開発

Reactは決めの問題

  • Vueもいい
  • Angularもいい
  • JQueryも慣れているしプラグインが豊富
  • サービスのNativeアプリは作りたいかも

などなどありますが比較的目にする頻度が高く学習要素の数が少ないReactを採用することとして話をすすめます。 フロントエンドは create-react-app による開発環境が人気があります

管理画面などSPAのフロントエンドは create-react-appによる開発 create-react-app でbuildしたファイルをExpressのstaticファイルとして配置して配信、ExpressサーバーはそのままアプリのAPIサーバーも兼ねてSPA的な動作も実現する。

Node.js + Express

  • Javascriptサーバーのデファクトスタンダード
  • パッケージが充実してきている
  • Expressのmiddlewareがweb開発で必要なものが揃っている

Expressに必要なデファクトスタンダードなmiddlewareを採用する開発 middlewareは別途まとめたい

Database

アプリケーションの内容により適宜選択,express側のmiddlewareやパッケージで吸収できる * MongoDB * MySQL * Postgres * Redis * その他

CMSの記事保存はMongoDB、計数管理などはMySQLに AWSなどで標準的に提供されている運用安定化したもの,携わる技術者の多いものがベスト

構成図

f:id:ichi-bit:20171121141012p:plain

©ichi-bit