LoginSignup
59
61

More than 5 years have passed since last update.

Node.jsベースの OSS BaaS LoopBack を動かしてみた

Posted at

LoopBack とは

Node.js ベースの BaaS(Backend as a Services) を作ることが出来るオープンソースです。

BaaSで一般的な認証、ユーザ管理、プッシュ通知、ファイル管理なども最初から用意されていますが、もっとも特徴的なのは、Data Model から JSONベースの REST APIを自動生成してくれるところでしょう。Android, iOS, HTML5 (Angular.js) のClient SDKも用意されているので、アプリを作る際もラクが出来そうです。

同じ Node.jsベースのオープンソースBaaSである deployd と違って、データの保存先を mongo, mysql, oracle, PostgreSQL, REST API 等、いろいろ設定出来ます。Build-in の Memory-connector もあり、下記で紹介するサンプルアプリでは、Memory-connector を使ってくれるので、DBのインストールも必要ありません。

インストール

npm などが使える状況にしたうえで、下記を実施します。
node.js v10.28 で試しています。

$ npm install -g strong-cli

LoopBack Sample App

Getting started にある "Create and run the LoopBack sample app…" を参考に example を動かしてみました。

上記サンプルアプリのインストールは、strong-cli にコマンドとして含まれているようで、下記だけでインストールが出来るようになっています。

$ slc example

すると、sls-sample-app というディレクトリが出来るので、そこに移動した上で、

$ slc run

以上で http://0.0.0.0:3000/ にアクセスすると、下記みたいな格好いい画面が見えるようになりました。

Sample Requests のところは、GETボタンを押すと、その場で GETのリクエストが飛び、レスポンスが画面に表示されるようになっています。なかなかよく出来たサンプルアプリですね!

スクリーンショット 2014-06-15 14.58.53.png

スクリーンショット 2014-06-15 15.04.26.png

また、LoopBack には、loopback-explorer というものがあり、LoopBack で生成したモデルから、カンタンにswagger ベースの API ドキュメントを生成する事ができるようです。すばらしい! サンプルアプリでも http://0.0.0.0:3000/explorer/ にアクセスすると、下記のような画面を見る事が出来ます。

スクリーンショット 2014-06-15 15.09.24.png

この APIドキュメントを実現するためのコードは、下記だけ!!

app.js
// API explorer (if present)
var explorerPath = '/explorer';
try {
  var explorer = require('loopback-explorer');
  app.use(explorerPath, explorer(app, { basePath: apiPath }));
} catch(e){
  // ignore errors, explorer stays disabled
}

いろいろある Module

https://github.com/strongloop/loopback#loopback-modules にあるように、様々なモジュールを利用して拡張が出来るようになっています。

上記URLに載っているモジュール以外にも、下記のようなモジュールがあるようです。

まとめ

今回は、いろいろ調べつつ、とりあえずサンプルを動かしてみた というレベルですが、もう少し触ってみたいと思わせる出来の良さでした。日本でもこれから注目されるかもしれませんね :-)

59
61
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
59
61