Meteorを準備する

Meteorとは

まずは今回の開発にフレームワークとして利用するMeteorについて説明していきます。

MeteorはオープンソースのWebアプリケーション・フレームワークであり、2012年に最初のリリースが行われて以降、精力的に機能強化が行われています。現在ではWebブラウザ上での動作はもちろん、iOSアプリやAndoroidアプリとして動作するアプリケーション開発も可能になっています。アプリケーション開発における生産性を高める機能が数多く備わっており、リリース以来多くの注目を集めています。Meteorには大きく以下の3つの特徴があります。

  • UNIVERSAL JAVASCRIPT: Meteorではクライアント側とサーバ側のコードの両方をJavascript言語で記述することを可能にしています。またクライアント側もWebブラウザ/iOSアプリ/Androidアプリに関わらずJavascript言語でのアプリケーション動作の記述を可能にすることで、完全に統一されたコードの管理が可能になり、コードの共用など開発及び保守のコストが軽減されます。

  • Realtime & Reactive: Webアプリケーションの使用者の中の誰かがサーバ側のデータを更新すると、その変更がリアルタイムにアプリケーションを利用している全てのユーザーに伝搬し「再読み込み」のようなユーザーの操作もなく画面に自動的に反映される、といったリアルタイム、かつリアクティブなWebアプリケーションの開発を非常に容易にする仕組みが用意されています。

  • Develop to Deploy: Meteorは開発だけでなくアプリケーションの公開までも非常に容易にします。開発者が独自にサーバを用意しアプリケーションのデプロイと公開を行うこともできますが、MeteorはMeteorを使って開発したアプリケーションの公開用プラットフォームを用意しており、コマンド一つで自分のアプリケーションをWeb上に公開することが可能にしています。

Meteorのこのような特長に加え、既にEthereumのノードとAPI連携するためのライブラリ群(Meteorではパッケージと呼びます)が開発されており、これらを組み込むことでP2PのEthereumネットワーク上で動作するDappの開発が可能になります。実際にEthereumの公式walletであるMistもMeteorを利用して開発されています。

分散型アプリケーションの開発を進めていく準備として、先ずはMeteorインストールしてみましょう。以下特に言及しない場合はubuntu 14.04の環境を前提とします。他のOSの場合には適宜読み替えてください。(Linux OSやMac OSの場合はほぼ同じ操作で進められるでしょう。)

Meteor事始め

Meteorのインストール

Meteorのインストールは極めて簡単です。ターミナルを開き

$ curl https://install.meteor.com | sh

の1行のコマンドを実行するのみです。実行の途中でsudoのパスワードを聞かれるので適宜入力してください。実行後

$ meteor --version

と入力してバージョン情報が表示されればインストールが出来ています。

最初のアプリケーションを作成する

Meteorのインストールしたので、実際にMeteorで簡単なアプリケーションを作ってみます。そのために、任意のディレクトリ上で

$ meteor create myfirstapp

のコマンドを実行します。ここでmyfirstappは今回作るアプリケーション名です。このコマンドを実行すると、

myfirstapp.css
myfirstapp.html
myfirstapp.js

の3つのファイルと.meteorディレクトリが含まれるmyfirstappのディレクトリが作成されます。これはmeteorが自動的に作成するアプリケーションのひな形(boilerplate)です。このディレクトリのファイルを編集したり、必要に応じて追加していくことでMeteorのWebアプリケーションの開発を進めていくことになります。この作成されたひな形は(至極単純なものですが)実際にWebアプリケーションとして動作するので、動かしてみましょう。

myfirstappディレクトリに移動して

$ meteor

コマンドを実行します。実行するとしばらくしてコンソールに=> App running at: http://localhost:3000/と表示されるのでWebブラウザでアドレスに「http://localhost:3000/ 」と入力しアクセスします。すると下図のような(単純な)Webアプリケーションが表示されます。

以上、Meteorのインストールからひな型の作成とその実行までを見てきました。次節以降でこのMeteorを用いたEthereumネットワーク上で動作する分散型アプリケーションの開発の方法をチュートリアル形式で見ていきます。

■TIPS

Meteorの特徴として、「Meteorで開発したWebアプリケーションをコマンド一つで世界に公開できる」というものがあります。公開は作成したアプリケーションのディレクトリで例えば

$ meteor deploy hogehoge

のコマンドを実行するだけです。開発したアプリケーションが自動で公開サーバにアップロード・デプロイされWeb上で公開されます。ここでhogehogeの部分で公開する際のURLのサブドメインを指定しています。この場合URL「http://hogehoege.meteor.com 」で開発したアプリケーションにアクセスできるようになります。

Meteorをさらに知るために

次節以降で、Meteorを用いた「Ethereumネットワーク上で動作するDappの開発」に主眼を置いて解説していきます。そのためMeteor持つ強力な機能の全てを本書内で解説するこはできません。Meteor自体のより詳細で良質な解説を下記に挙げておきます。

  • Meteor公式チュートリアル: 簡単なTODO管理アプリケーションの開発をチュートリアル形式で解説しています。

  • Discover Meteor: リアルタイムのソーシャル・ニュース・アプリを題材にチュートリアル形式でMeteorとそれを用いた開発を解説した電子書籍です。上記の公式チュートリアルよりもより網羅的です。有料($29-)でGumroadにより販売されています。また有志による日本語翻訳版も公開されており、こちらは無料で閲覧が可能です。

  • Meteor Docs: 公式のAPIリファレンスです。

Last updated