オープンソースのPaaSソフトウェア CloudFoundry の技術情報やイベント告知などを掲載します

2015-10-01

Uniter を Cloud Foundry で動かす

「Cloud Foundry 百日行」第70日目。
今回はすこし変わったところでJavaScriptなのにPHPを動作させることが出来るUniterです。このアプリはブラウザ上でPHPのコードを書いて、その結果を表示させて確認することまでが可能です。使えるPHPの機能は一部のようですがPHP初心者の方などには簡単に試せて便利なツールになるかもしれません。

基本情報

手順は以下の通りです。

  • 1) ソースコードの取得
  • 2) アプリのデプロイ
  • 3) 動作確認

1. ソースコードの取得

まずはとりあえずソースコードを取得しましょう。

$ git clone https://github.com/asmblah/uniter.git
Cloning into 'uniter'...
remote: Counting objects: 8791, done.
remote: Total 8791 (delta 0), reused 0 (delta 0), pack-reused 8791
Receiving objects: 100% (8791/8791), 3.57 MiB | 1.76 MiB/s, done.
Resolving deltas: 100% (5056/5056), done.
Checking connectivity... done.
$ cd uniter/
uniter$ ls
bin         demo  index.html  js               package.json  research  tests
bower.json  dist  index.js    MIT-LICENSE.txt  README.md     styles    vendor

2. アプリのデプロイ

デプロイ自体はこれまでに何度となく登場しているstaticfile_buildpackで動作させることが可能です。

最初にStaticfileを作成します。

uniter$ touch Staticfile

これで準備完了。ではデプロイしましょう。

uniter$ cf push uniter
:
:
OK

requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: uniter.10.244.0.34.xip.io
last uploaded: Thu Oct 1 01:04:44 UTC 2015
stack: cflinuxfs2
buildpack: Static file

     state     since                    cpu    memory         disk      details   
#0   running   2015-10-01 10:04:57 AM   0.0%   8.7M of 256M   0 of 1G      

完了です。

3. 動作確認

ここまでPHPの影が出てきていませんが出番はここからになります。

URLにアクセスしましょう。

画面が出てきたら中央の interactive demo をクリックして下さい。
そうすると、下記のような 「JavaScript」 , 「PHP」 , 「Result」 が並んで表示されます。

最初にお伝えした通りこのアプリはJavaScriptでPHPを動作させるアプリです。なので中央の「PHP」のコードを好きなように書き換えると「Result」に結果を表示してくれます。

セミコロンを抜いてみるとちゃんとエラーになります。

条件分岐とかも可能。

今回のアプリのように、JavaScriptの実行環境でPHPが利用出来たり、今後、他の言語も利用できるようになると便利そうですね。参考ページに紹介されていますが、「クライアントサイド」から「サーバサイド」ではなく、「サーバサイド」から「クライアントサイド」の流れで、こういったアプリがより充実してくると、アプリ開発の環境がより良くなっていくかもしれませんね。

今回使用したソフトウェア