JavaScript
Node.js
Express
loopback

NodeのIsomorphicなREST APIフレームワークLoopBackについて調べてみた

LoopBackとは?

  • rapid API generationに特化したNodeフレームワーク
  • モデルを定義すると、CRUDの操作が可能なREST APIが自動的に生成される
  • とにかく素早く作ることに焦点をおいている印象
  • クライアントとのコード共通化(Isomorphic JavaScript)も推している
  • 内部でSwaggerが組み込まれているらしく、http://localhost:3000/explorerにアクセスすることでこちらのようなAPIドキュメントを確認することができる。
  • 他フレームワークとの比較
  • LoopBackとは - Documentation
  • LoopBack core concepts - Documentation

実装の雰囲気

  • ECMAScriptなどで書けば特に普通のJavaScriptと変わらない
  • モダンなサンプルがあるにはあるが、あまり多くない/ガッツリ作っているものは少ない印象
  • 全体として英語でも情報が少ないのが気になる

ディレクトリ構成

モデル/ORM

トランザクション

DBマイグレーション

パッケージ管理

  • 普段通りnpmかyarnでOK

バリデーション

テスト

デバッグ/エラーハンドリング

工数感

  • 最初は設計部分など迷うことがありそう
  • CRUD+αレベルであればすぐ作れそう
  • LoopBackで自動生成できるところを上手く使えると工数削減できそう
  • 情報量が少ないように感じる。LoopBack自体に依存する部分はそんなに多くはないかもしれないが、フレームワークがブラックボックスにしている部分はハマることはあるかもしれない。

その他

その他の参考

サンプルアプリケーション