LoginSignup
22
25

More than 5 years have passed since last update.

手軽にWebアプリケーションを作る。

Last updated at Posted at 2014-03-04

まず始めに

これを読めばこんなアプリケーションが作れるようになります。( http://milk-cocoa.github.io/chat/ )簡単なWebチャットアプリです。

スクリーンショット 2014-09-02 20.55.59.png

このようなリアルタイムWebアプリケーションを作るには、例えばWebSocketという技術が必要です。WebサーバにNode.jsを利用したりします。データベースにMySQLを使うか、MongoDBなどのNoSQLを使うか。サーバをAWSにするか、HerokuやAzure等のPaaSを利用するか、考えなければいけません。そんな面倒なことを一切考えないで済む方法があるんです。milkcocoaを使いましょう。

milkcocoa : https://mlkcca.com/

( 弊社のサービスです ;) )

今回はmilkcocoaを利用した開発方法をご紹介しようと思います。

  • 2015/5/2 追記 2015/5/7にmilkcocoaが新バージョンになるのに合わせて解説を変更しております。

開発スタート

まずはhttps://mlkcca.com/ で開発者登録をしましょう。そして、ダッシュボードでアプリの登録をします。
uploading detail.png...

「Javascriptで始めよう!」と書いてある場所のコードをコピーすれば準備環境です、今回はとりあえずmilkcocoaが用意してくれているサンプルソースを使ってみましょう。ソースコードはGithubにあります。この中で一番簡単な、chat(https://github.com/milk-cocoa/chat )を使ってみましょう。デモはこちら(http://milk-cocoa.github.io/chat/ )にあります。まずこのソースコードをZipなどでダウンロードします。次に"your app id"のところに、あなたがmilkcocoaで作ったアプリのapp idを入力します。(あなたが入力したものでなく、seai9xxxxxxのように自動生成されるものです。)

var milkcocoa = new MilkCocoa("seai9xxxxxx.mlkcca.com");

とりあえず、これで動きます。
localhostでapacheなどのサーバをたてて動かすか、bitballoon のようなホスティングサービスを利用して確認しましょう。HTMLファイルを直接ブラウザで開いても良いです。

次はソースコードを解説します。

ソースコード解説

解説をするソースコードはこちら( https://github.com/milk-cocoa/chat/blob/master/index.html )です。1.から2.までの番号を付けてコメントを書いています。順番に説明していきます。

1.はmilkcocoaとの接続設定です。先ほど、ここのapp idを編集しましたね。milkcocoaで作成したアプリケーションIDとのひも付けを行います。

2.でmessageデータストアを作成します。たくさんのmessageを入れておく箱を作成するような感覚です。

var ds = milkcocoa.dataStore("message");

3.でmessageがたくさん入るデータストアにクエリをかけます。コールバックでデータが返ってきます。

//3."message"データストアからメッセージを取ってくる
ds.stream().sort("desc").next(function(err, datas) {
  datas.forEach(function(data) {
    renderMessage(data.value);
  });
});

4.では"message"データストアのプッシュイベントを監視します。つまり他の誰かが、このデータストアにデータをpushした時に、ここで登録したコールバックが呼ばれます。

//4."message"データストアのプッシュイベントを監視
ds.on("push", function(e) {
  renderMessage(e.value)
});

5.はPostボタンが押されたときに実行します。データストアにメッセージデータをプッシュします。

//5."message"データストアにメッセージをプッシュする
ds.push({
  content : $("#content").val()
});
$("#content").val("");

これで簡単な解説は終わりです。

22
25
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
22
25