JavaScript + HTML + CSSで Webアプリケーションを作ることができる、 Meteor を使ってみました。
Meteorの特徴
- Node.jsをベースにしているのでクライアントとサーバのコードを一つの言語(JavaScript)で書くことができる
- インストールもデプロイもコマンド一発でできる
- パッケージが充実している
- リロードしなくても修正したコードが同期される
早速インストールしてみましょう。
Meteor のインストール
$ curl install.meteor.com | sh
これで実行に必要なファイルが全てダウンロードされます。
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 3642 0 3642 0 0 1707 0 --:--:-- 0:00:02 --:--:-- 2509 Downloading Meteor distribution ######################################################################## 100.0% Meteor 0.6.4 has been installed in your home directory (~/.meteor). Writing a launcher script to /usr/local/bin/meteor for your convenience. To get started fast: $ meteor create ~/my_cool_app $ cd ~/my_cool_app $ meteor Or see the docs at: docs.meteor.com
インストールされていることの確認
$ meteor --version Release 0.6.4
これでインストールは完了。
Hello World
・プロジェクトを作成する
$ meteor create demo
「demo.css」「demo.html」「demo.js」の3ファイルと「.meteor」ディレクトリが作成されます。
# demo.css /* CSS declarations go here */
# demo.html <head> <title>demo</title> </head> <body> {{> hello}} </body> <template name="hello"> <h1>Hello World!</h1> {{greeting}} <input type="button" value="Click" /> </template>
# demo.js if (Meteor.isClient) { Template.hello.greeting = function () { return "Welcome to demo."; }; Template.hello.events({ 'click input' : function () { // template data, if any, is available in 'this' if (typeof console !== 'undefined') console.log("You pressed the button"); } }); } if (Meteor.isServer) { Meteor.startup(function () { // code to run on server at startup }); }
サーバーを起動する
$ meteor
ブラウザで確認する
ブラウザで http://localhost:3000 にアクセスし
「Click」ボタンを押すとコンソールに「You pressed the button」と表示される。
デプロイする
このコマンド一発でデプロイできてしまう。
$ meteor deploy kzy52demo Deploying to kzy52demo.meteor.com. Bundling... Uploading... Now serving at kzy52demo.meteor.com
http://kzy52demo.meteor.com でアクセスできるようになる。
パスワードを設定する
このままでは誰でも自由にデプロイできてしまうのでパスワードを設定する。
$ meteor deploy kzy52demo --password New Password: New Password (again): Deploying to kzy52demo. Bundling... Uploading... Now serving at kzy52demo.meteor.com
デプロイを取り消す
$ meteor deploy --delete kzy52demo Deleted.
・参考にしたサイト