Meteor jsの今(2013-07-03)について

png

日本でもリリースされた2012年にはすこし盛り上がってた様子で、2013年の4月には東京でMeetupがあったようです。しかし現在、検索できる形で観測する限りユーザは増えておらずもったいないな〜思い“Meteorの今”についてこの記事でアピールしていこうと思います。

まず、日本語でMeteorについて検索してみると辿り着くおすすめ記事三本

そしてこの記事では、naoyaさんの当時のMeteorに対しての“まだ微妙なところ”を引用しつつ現在 0.6.4はどう変わったのかという話しにしたいと思います。

前提としておそらく当時のバージョンは0.4.1より低いと思われます。

以下、Meteor.js – naoyaのはてなダイアリーからの引用

“できたばかり” という感じは否めない。たとえば Minimongo によるモデルには認証の仕組みが全くない。Minimongo はクライアントサイドで操作もできる上にそれがサーバサイドにも反映される。なのに認証がない = アプリケーションに保存された全データをクライアントでいじり放題、ブラウザの Console からでも操作できる。つまり、まだまともなデータベースアプリケーションを作れるフェーズではない (認証がない点については、ドキュメントにもそう書いている)。 認証だけでなく、そもそも Minimongo の機能がちょっと少ない。

Meteor 0.5.0より認証機構が用意され

Meteor.allow

Meteor.deny

によって権限のコントロールが可能になりました。通常のパスワード登録に加え、Google、Twitter、Facebook、GitHubなどのoauthのパッケージも追加され

{{loginButtons}}

とテンプレートに記述するだけでユーザ認証が可能になりました。

Reactive Programming しようとすると、モデルの操作含めクライアントサイドにコードが集中していってサーバサイドではほとんど何もしないということが多い。それはそれで一見良いようで、そうするとせっかくバックエンドに node.js が控えているのに、node_modules をうまく活用できなかったりする。例えばモデルから find() で引っ張ってきたデータの加工に md5 な処理を加えよう・・・サーバサイドだったら md5.js を npm install して require すればいいところ、実はクライアントサイドにコードを書いているのでそういうわけにいかない。モジュール開発が活発な node という一番良いところがスポイルされてしまっている

Meteor 0.6.0からMeteorのパッケージ側からはNPMを

Npm.require

で利用できるようになったようです。さらに2013/6/15にComplete NPM integration for Meteor – MeteorHacksでユーザ側からもりようになりました。

「しょうがないので md5.js とかインターネットで見つけてきて script タグで読み込ませるか・・・」と思っても、Dirty Hack なしでうまくそれを実現できる方法がない。そういう細かいところの作り込みがまだまだ。この辺は時間が解決するとは思うけれども。

上記の通り解決されたと思われます。

Reactive な要件を満たすためにもフルスタックにしているんだろうというのはなんとなく想像できるのだけれど、たとえば npm ではないパッケージ管理システムを自前で持っていたり (その分、フレームワークによりモジュールを簡単に統合できるようになっているのだけど)、Minimongo しかり、さすがにいろいろ作りすぎている。この作り込み具合でまともにプロダクションで利用できるレベルを維持しようとすると、開発コミュニティが相当活発になる必要があってそこは結構リスクだと感じる

これは今でも続いている問題だと思います。しかし、ソフトウェア開発がホットな投資対象: JavaScriptフレームワークMeteorにAndreessen Horowitzが$11.2M | TechCrunch Japanという話もありとりあえずは大丈夫なのかと。

以上、引用とコメント終わり。

と言うことで、Meteorはかなり使える状況に近づいてきたとおもいます。一年前に触ってそれっきりの方も、これから触ってみようと言う方もMeteor楽しいですよ!

おしらせ

日本語でもMeteorについて雑談がしたい思い、なかったのでMeteorの日本語ユーザコミュニティを作ってみました。ぜひご参加ください。Meteor JP – Google+

リンク

Comments