Trot

駆け出し前プログラマの学習記録

Node.js + Express + Sequelize によるRESTful API

先日、Node.js向けのWebアプリケーションフレームワークExpressに興味がわき、ここ数日間は主にExpressを勉強してみます。フレームワーク全体構成の理解も良いですが、兎にも角にも触ってみないことには始まらないと思ったため、「CRUD機能を実装する」を目下目標と定めて勉強を進めました。

 

まずExpress公式チュートリアルで概要を把握し、簡単なアソシエーションなどの実装をしてみました。そして次に、以下のハンズオン教材に従ってCRUD機能を持ったRESTfulなAPIを作ってみました。内容的にはそれだけでも十分ですが、ORMのSequelizeを使用してMySQLと連携し、Axiosを使用してフロントエンドフレームワークにVue.jsを導入するところまで学べてしまう非常に充実した教材です。

 

ローカル環境で実際に動かすとこのような感じです。

 

Expressは、 Railsと同じMVCアーキテクチャーを採用しているフレームワークですが、例えばディレクトリ構造など、Railsと比較して標準化されている部分が少なく、構成の自由度が高い印象を受けます。Expressはその自由度を上手く活かさなければ、全体がまとまりのないものになる気がします。一方、その自由度を適切に運用することができれば、小さなアプリを作るためにRailsのように巨大なフレームワークを導入する必要がなく、部品のようにして様々な部分に組み込みやすいのかなとも思います。

 

まだまだ全体は見えてきませんが、今しばらくは何かを作りながらExpressにおける開発の流れのようなものを身体に入れたいと思います。