node.js+ReactベースのCMS開発をはじめます
なぜCMSか
現在CMSのデファクトスタンダードはwordpressです。PHPが動作するサーバーであれば簡単に設置でき、豊富なプラグイン、デザインテーマがあって使いやすくなっています。 これに匹敵できるようなCMSをnode.jsベースで開発してみます。CMSはWebアプリケーションの機能を幅広く実装するため、開発事例を網羅するためにCMSを題材に選びました。
なぜnode.jsか
Webアプリケーションの開発においてフロントエンドの複雑化に対応することが必須となっています。 フロントエンドで動的な機能を実現するためにJavascriptの使用が標準となるため、バックエンドの実装言語にかかわらずJavascriptは必ず通る道です。 それならばバックエンドもJavascriptで構築すべきと考えました。node.jsは一般的に言われているメリットもあるためnode.jsをベースとします。 使用言語をjavascriptに統一することによりエンジニアの人員採用のチャンスも大きくなります。
なぜReactか
よく比較されるAngular,Vueなど選択肢があるなか、どれをとっても有用な点があり、一概にどれが良いと言うことができません。 個人的にはとっつきやすいVueが好みですが、スマホアプリの開発を視野に入れた場合にReact Nativeの活用が考えられるため、Reactを使います。 またcreate-react-appのリリースにより開発環境が簡単に作れることもReactを使う理由です。 今回開発するCMSは画面のカスタマイズを柔軟かつ安定的にするためweb部品をコンポーネント化することも念頭にあり、効果的に利用できそうです。
開発コンセプト
- node.js ベース
- React を利用
- 独自コードをなるべく少なくするためスタンダードなライブラリを利用する
- 大規模組織、大規模トラフィックを対象とする
- すべてjavascriptで構築
- 運用インフラはAWSを想定
- 開発環境はMacOSのlocal環境
- OSSとして公開
開発の進め方
- 実際の設計手順で行います。
- 企画、機能要件は最初に決めずに進行中でも変更可能にします。
プロジェクトの名前
nexpressとします
つづく