More Related Content
Similar to Sflt17 meteorではじめる最速ウェブアプリ開発
Similar to Sflt17 meteorではじめる最速ウェブアプリ開発 (20)
Sflt17 meteorではじめる最速ウェブアプリ開発
- 2. Meteorとは
Meteorとは
● WEBアプリフレームワーク
WEBアプリフレームワーク
+パッケージマネージャ
+データベース
+サーバー
+環境
● 基本言語はjavascript
基本言語はjavascript
● データベースはMongoDB
データベースはMongoDB
(minimongoライブラリを使用)
(minimongoライブラリを使用)
● データベースへの変更はリアルタイムで
全クライアントに伝播する
- 3. 2分で開発が始められる
● Meteorのインストール
Meteorのインストール
$ curl https://install.meteor.com | /bin/sh
● Meteorでプロジェクト作成
Meteorでプロジェクト作成
$ meteor create myapp
● アプリケーションの起動
$ meteor
Running on: http://localhost:3000/
● アプリケーションの公開
$ meteor deploy myapp.meteor.com
- 4. ファイル構成
● 生成直後のアプリケーションディレクトリの中身
myapp/.meteor
/myapp.js アプリケーションロジック
/myapp.html ビューテンプレート
/myapp.css まんまcss
まんまcss
● この状態ではクライアント、サーバーの差がない
● 全てのファイルがクライアント(ブラウザ)に送信さ
全てのファイルがクライアント(ブラウザ)
れ、サーバーでもクライアントでも実行される
- 5. こういう感じに変える
● myapp/.meteor/
myapp/.meteor/ Meteor関係(DBとかもこの中に入ってる)
Meteor関係(DBとかもこの中に入ってる)
/public/
/public/ 静的ファイル置き場
/server/ この中身はクライアントには送信されない
/server.js サーバー側で実行されるjsコード
サーバー側で実行されるjsコード
/client/ この中身はクライアントに全て送信される
/client.js クライアントで実行されるjsコード
クライアントで実行されるjsコード
/myapp.html
/myapp.css
/model.js クライアントでもサーバーでも実行される
● この他、myapp/lib/, myapp/test/, main.* とかいう規約もあるみ
この他、myapp/lib/,
たいだけど、とりあえずは上記の構成で十分
- 6. Smart packages
● 現在有効なパッケージの一覧
http://docs.meteor.com/#packages
● パッケージの有効化
$ meteor add <package_name>
● パッケージの無効化
$ meteor remove <package_name>
● 今回は
accounts-ui, bootstrap, d3, jquery をadd
autopublish, insecure をremove
autopublish,
● この2つはデフォルトで入っているもの
この2
Autopublishを消さないと…
Autopublishを消さないと…
全てのDBコレクションが公開状態になる
全てのDBコレクションが公開状態になる
Insecureを消さないと…
Insecureを消さないと…
データベース操作の全てがクライアントから自由に可能
- 8. 結論
● 究極的にラピッドな開発をしやすい環境
● 「リアルタイム」に囚われる必要なし
Meteorだから「リアルタイムに見続けて面白いものを作ろう」
Meteorだから「リアルタイムに見続けて面白いものを作ろう」
と、考えるとチャットとかゲームとかしか浮かばなくなる…
● ウェブアプリ開発ツールの機能として、たまたま
リアルタイムでDBとシンクしてくれたり…
リアルタイムでDBとシンクしてくれたり…
コード変更して保存したら勝手に反映されたり…
javascriptライブラリをパッケージとして管理してくれたり…
javascriptライブラリをパッケージとして管理してくれたり…
公開用のクラウドプラットフォームもついてきたり…
するだけだから、とりあえずMeteor万歳
するだけだから、とりあえずMeteor万歳