2015年5月7日木曜日

Meteorは、かなり楽しい。Mongoも。

Meteorというnode.jsで動く、大変面白いライブラリを知った。
今はver1.1。

リアルタイムにデータが複数ブラウザやマシン上で更新される、
あのnode.jsのページリロードなし同期の機能が、
かなり簡単に実装できる。

「体感!JavaScriptで超速アプリケーション開発 -Meteor完全解説」
http://gihyo.jp/dev/serial/01/meteor?ard=1430989100
あたりを読むと、概要がつかめる。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

https://www.meteor.com
が本家サイト。
かなり開発陣も気合が入っている印象。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Mac,Linuxだとterminal上で、インストールも簡単。
アプリのテンプレート作成も、コマンドで一発。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

todoアプリ作成の解説があり、
解説のコードを拾っていくと、パソコンでもiPhoneでも簡単に同期できるアプリができた。
meteor.com上に、簡単にdeployできて、試せる。それがとても気軽で楽しい。

以下がチュートリアル。
https://www.meteor.com/install

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

MongoDBをデフォルトで利用でき、Mongoも気になっていたので学習開始。
コマンドラインで、meteorアプリが起動中は、別terminal窓を開いていじれる。
「MongoDBの薄い本」という無料ドキュメントがあり、わかりやすかった。
http://www.cuspy.org/diary/2012-04-17/the-little-mongodb-book-ja.pdf

DBを最初からスキーマ設定なしで、気軽に作っていけるのがいい。
薄い本で、基本が学べるので、コマンドラインで楽しむのが吉。

リレーショナルDBとの呼び方の違いが最初、分かりにくかった。
以下、大体の対応表
・データベースは、Mongoでもデータベース
・テーブルは、Mongoではコレクション
・カラムは、Mongoではフィールド
・行は、Mongoではドキュメント

完全に一致するものでもないので、用語を変えた様子。
まあ、JSON形式での記述ができるので、確かにリレーショナルデータベースの概念とは違って見える。

一つのカラム内に配列を突っ込めたり、オブジェクトを突っ込めるという感じが柔軟ですごい。