【Parse】 最近流行りのMBaaS BaaSの Parse.com を触ってみた。
Baas MBaaSなんて言葉を最近良く聞くようになりました。 これは(Mobile) Backend as a Service の略称になり IaaSとかPaaSなんかのように自分でバックエンドのコードを書いて実装する必要がありますが BaaSやMBaaSについてはSDKとAPIでなんとかしちゃおう的な感じです。
要はクライアントサイドは作れる、View周りのコーディングだってできるというフロントの方々が動的なページが必要だったり、システム部分が必要になったらサーバサイドの開発が必要。
更に言うと、PHPやNode.js、Javaだってできるぜって方でもLinux(でなくてもいいけど)環境を構築できるかというと色々とスキルが必要になってきます。
そこでBaaSです。
今回から何度かに渡って最近使ってるParseについて書いていければなと思います。 さて今回はParseとはなんぞやってところからなのかなと。
一言で言うと、サーバ側のコードを書かずにデータストアへのアクセスからプッシュ通知、アカウント管理機能まで付いている 結構便利なやーつ。
しかもチュートリアルも簡単で直感的操作で簡単にできるっていうのが嬉しい。
だがしかし。
あくまで技術ブログなので少しくらい弄りますよ。 ってことで、Parseはサーバ側にCloudCodeというものを備えており、JavascriptでAPIを書くことができる。 ここについて少し書いていこうかと思います。
今回はインストールからCloudCodeにソースをアップして確認するところまで。
まずはParseを登録してCreateAppしておいてください。Appの名前はなんでもいいです。 今回は適当に「test」というアプリを作成しました。 まずはAPIを用意するだけなので、Core(ストレージ)でClassを作ってとかいうのは次にでも。
さてそしたら次はLinux側でParseをインストールします。 もちろんMacやUnix環境でも可能です。
$ curl -s https://www.parse.com/downloads/cloud_code/installer.sh | sudo /bin/bash
公式に書いてあることそのままですが、parseは/usr/local/bin/parseにインストールされ 付随しているファイルもないので、アンインストールは/usr/local/bin/parseを削除するだけです。
次に、プロジェクトを作成します。 自分はとりあえず、/home/[ユーザ名]以下にparseというディレクトリを作り、その中で作業をすることにしました。
$ mkdir parse
早速Cloud Codeのセットアップをしていきます。 以下コマンドを実行して対話形式に行っていきます。
$ parse new test
すると、まずは自動的に必要ディレクトリが作成され、Email、Passwordを求められます。 Email,PasswordについてはParseのログイン時のものを入力します。
Creating a new project in directory /home/[user_name]/parse/test Creating directory /home/[user_name]/parse/test/config Creating config file /home/[user_name]/parse/test/config/global.json Creating directory /home/[user_name]/parse/test/cloud Writing out sample file /home/[user_name]/parse/test/cloud/main.js Creating directory /home/[user_name]/parse/test/public Writing out sample file /home/[user_name]/parse/test/public/index.html Email: deadcode.ben@gmail.com Password:
入力が完了するとParseで作ったアプリケーションの一覧が出てきます。 testの他にもaaaaaという適当なアプリも作ったので2つ出てきています。 どのアプリケーションのAPIを作るかなので、今回はtestを選択します。
1: test 2: aaaaa Select an App: 1 Set test as default Written config for test
これでCloudCodeのセットアップは完了です。
ここから作成されたディレクトリを見て行きましょう。
test ├── cloud │ └── main.js ├── config │ └── global.json └── public └── index.html 3 directories, 3 files
少な! 今回お世話になるのは test/cloud/main.jsになります。
こちらを早速開いてみます。
// Use Parse.Cloud.define to define as many cloud functions as you want. // For example: Parse.Cloud.define("hello", function(request, response) { response.success("Hello world!"); });
既にサンプルコードが書かれていますね。 とりあえずHello world!って表示されそうなものですね。
細かい説明は次にして、早速ちょっと変更してアップしてみましょう。
response.success("Hello world!");
ここの記述を
response.success("Hello parse.com world!");
こんなふうにしてみました。
早速このソースをParseにアップしましょう! まずはtestディレクトリまで移動します。
cd /home/[user_name]/parse/test
そこからDeploy!
$ parse deploy test Uploading source files Deploying recent changes to scripts... Deploying recent changes to hosting... Finished uploading files New release is named v1 (using Parse JavaScript SDK v1.4.2)
ここではparse deploy testとアプリケーション名を指定していますが 特に指定しなくても大丈夫です。
ということでこれでアップが完了しました。
次は確認をします。
curl -X POST \ -H "X-Parse-Application-Id: [Application ID]" \ -H "X-Parse-REST-API-Key: [REST API Key]" \ -H "Content-Type: application/json" \ -d '{}' \ https://api.parse.com/1/functions/hello
こんな感じでCurlでアクセスしにいきます。 [ApplicationID] [Rest API Key] この二点については新しくAppを作成した時に表示されていました。 覚えてない場合はDocsに行くと、App毎のIDやKeyが書かれた状態での上記コマンドがあるのでそれを使いましょう!
参考:https://parse.com/docs/jp/cloud_code_guide
さて、これを叩くと
[root@localhost test]# curl -X POST \ > -H "X-Parse-Application-Id: 9hEaqooViTltgUK5lBZrqGmv8kZQyY5MVflITDzQ" \ > -H "X-Parse-REST-API-Key: CaSYfQGd4tdHZz269qwrOONAeyVvEqxIoxNHcd2r" \ > -H "Content-Type: application/json" \ > -d '{}' \ > https://api.parse.com/1/functions/hello {"result":"Hello parse.com world!"}
こんな感じで出てきます。 最終行に注目してください。
{"result":"Hello parse.com world!"}
先ほど設定した内容がresultとして出力されました。
こういった形でmain.jsに処理を書くことによって少し複雑な事だってできるのです。
今後はここから更にAppのClassよりデータを取得したり、新規にデータ作成、保存したりするような事を書いていければと! 新しい事を覚えるのは楽しいですねー。