今回の内容
本当はMeteorでモバイルアプリをうまくつくるときにどうしようか的な記事を書くつもりでしたが、少し煮詰まってしまったので割りと最近アップデートが入ってたAngularMeteorの話でお茶を濁させてください。
Angular Meteorとは
MeteorでAngularJSを使用するためのパッケージです。基本的なAngularのAPIにあたる項目を含んでいるので、Angularでやりたいことはだいたい実現できます。
ただ、いくつか不足しているものもありますがそれらは別のパッケージで補うことができます。
(例: ui-router
と同様の機能を実現するmeteor-angular-ui-router
など)
Meteor公式が紹介している、Meteor + ionicでモバイルアプリを作成するサンプルでも使用されています。
変更点
詳細はMeteor公式ブログを参照。
- 1.2.0でのアップデートの主な内容は、
ng.js
やng.html
の代わりに通常のHTMLやJSをAngularに使用するようになったこと -
ng.html
をhtml
に変更する際はクライアントの負荷を減らすために、blaze-html-temlplate
を削除することが推奨されるようになった -
ng.js
をjs
に変更する際にecmascript
パッケージを削除するすることが推奨されるように
変更の内容について
ecmascript
などを削除したことで、プレーンなAngularを書ける状態までかなり近づいたのではないでしょうか。
これによってAngularJSを使用したモバイルアプリをMeteor上で動作させるのも、やりやすくなるのではと期待しています。
上記にも書いたとおり、AngularMeteor 1.2.0では通常のhtmlを使用するためにblaze-html-templates
を削除することが推奨されるようになりましたが、BLAZEテンプレートを使用したいという人向けに、AngularMeteor向けのBLAZEテンプレートのパッケージが追加されているようです。
BLAZEテンプレートによるUIが気に入っている人はこちらを使用することで、従来どりのUIを実現できます。
おおまかな内容については以上です。
あとは1.3に向けてのモチベーションとして、
- MeteorのAPIにData APIを追加する
- Angular Meteor 1.3.0より$meteor.collectionなどのコレクションを扱うAPIがdeprecatedとなり、1.4.0では削除されることが決定されました。
- 機能向上のために
autobind
を削除する
といった項目が書かれてありました。
Meteorでコレクションを扱うとき、面倒だなあと思うことが多かったのでAngular Meteorの$meteor
を多用していたのですが、
「MeteorのコレクションなんだからMeteorのAPIからさわろうや。な?」
って気持ちでData APIの追加が決まったのかなと思います。
Angular Meteor 1.3.0から順次移行する形かと思いますが、手元で動作が確認できるまではver. 1.2.x
でバージョンを合わせておくのが身のためでしょう。
僕はちょっと人身御供してくる予定です。
圧倒的謝罪
日付一日間違えてまるまる一日遅刻しました・・・。ごめんなさい。