今回の内容
本当は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でバージョンを合わせておくのが身のためでしょう。
僕はちょっと人身御供してくる予定です。
圧倒的謝罪
日付一日間違えてまるまる一日遅刻しました・・・。ごめんなさい。