Meteor 1.2 RC 版が公開されていたので早速試してみた(パッケージの比較あり)


(追記: 9/22 にめでたく [Meteor 1.2 がリリースされました！](http://info.meteor.com/blog/announcing-meteor-1.2) 変更点は[こちら](https://github.com/meteor/meteor/blob/a8ba5c3a37f7e2fed8f68b49201c40667502b4e6/History.md)。)
# はじめに

Meteor 次期バージョン1.2の RC 版が Meteor Forums で公開されていました。

- [First public release candidate of Meteor 1.2 - core - Meteor forums](https://forums.meteor.com/t/first-public-release-candidate-of-meteor-1-2/8986)

以前から Meteor 1.2 の RC 版の存在は知っていましたが、公式にアナウンスされたのは今回の RC version7(v1.2-rc.7)が初めてです。この RC 版はある程度安定して利用できるようになっている模様です。ただし、まだ正式リリースではないため、本番環境で使用するのはまだ控えた方が良いと思います。

# Meteor 1.2 の主な変更点

Meteor 1.2 の主な変更点は以下の通りです。

- 新しいプラグインアーキテクチャによるビルドの高速化
- ECMAScript 2015(別名ES6)の機能を標準サポート
- LESS と Stylus のクロスパッケージインポート機能
- Cordova を最新版の 5.2.0 にアップグレード
	- Cordova iOS プラグインは v3.9、Cordova Android プラグインは v4.1 にそれぞれアップグレード
	- Cordova Android が Crosswalk プラグインに対応
		- `meteor add crosswalk` で追加できます
- ビューレイヤーで React と Angular を公式サポート
	- Blazeもこれまで通り使えます

個人的には ES2015 と React/Angular の公式対応が嬉しいですね。
それから Cordova Android で Crosswalk が使用できるようになったところですかね。

Meteor 1.2 では 80 以上もの変更・改良が行われています。
上記変更点含む、Meteor 1.2 の変更点を詳しく知りたい方は Meteor リポジトリの [History.md](https://github.com/meteor/meteor/blob/release-1.2/History.md) をご覧ください。

# Meteor 1.2 RC 版を試す

## 1. Meteor 1.2 RC 版の新規プロジェクト作成

すでに Meteor をインストール済みの環境であれば、すぐに Meteor 1.2 RC 版を試すことができます 。

```bash:bash$
meteor create example-app --release METEOR@1.2-rc.7
```

`--release` オプションで、リリースバージョンを指定すると現在の環境を汚さずに Meteor プロジェクトを新規作成できます。

### 既存の Meteor プロジェクトを 1.2 RC版にアップグレード

既存のプロジェクトを 1.2 RC版にアップグレードする際は、[Meteor 1.2 Upgrade Guide](https://quip.com/RXFlAk9Rc2xI)を参考にしてください。

```bash:bash$
meteor update --release METEOR@1.2-rc.7
```

なお、アップグレードすると前のバージョンに戻すのは難しくなる模様です。
既存の Meteor プロジェクトを 1.2 にアップグレードする際は、バックアップをお忘れなく。

## 2. Meteor アプリ起動

Meteor アプリの起動方法はこれまでと同じです。

```bash:bash$
cd example-app
meteor
```

その後ブラウザで http://localhost:3000/ にアクセスして、Meteor アプリの画面が表示されればOKです。

あとはいつも通り開発を行うだけです！

# Meteor 1.2 で標準インストールされるパッケージ一覧

Meteor 1.2 ではパッケージが整理されました。また新規機能に関連するパッケージも追加されています。確認してみましょう。

```bash:bash$
cat .meteor/packages
```

```bash:.meteor/packages
# Meteor 1.2-rc.7 default packages

meteor-base             # Packages every Meteor app needs to have
mobile-experience       # Packages for a great mobile UX
mongo                   # The database Meteor supports right now
blaze-html-templates    # Compile .html files into Meteor Blaze views
session                 # Client-side reactive dictionary for your app
jquery                  # Helpful client-side library
tracker                 # Meteor's client-side reactive programming library

standard-minifiers      # JS/CSS minifiers run for production mode
es5-shim                # ECMAScript 5 compatibility for older browsers.
ecmascript              # Enable ECMAScript2015+ syntax in app code

autopublish             # Publish all data to the clients (for prototyping)
insecure                # Allow all DB writes from clients (for prototyping)
```

ちなみに、v1.1.0.3 の場合はこんな感じでした。

```bash:.meteor/packages(v1.1.0.3)
# Meteor 1.1.0.3 default packages

meteor-platform
autopublish
insecure
```

ずいぶんとパッケージが増えていますね。

v1.1.0.3 と v1.2-rc.7 のデフォルトパッケージを比較すると、`meteor-platfrom` から各種パッケージが分離し、パッケージの入れ替えが簡単にできるようになっています。また、ECMAScript 2015 に関する `ecmascript` パッケージ等が新しく追加されています。

個人的に興味深いのは、`blaze-html-templates` と `mongo` パッケージです。

React と Angular 公式サポートにより、ビューレイヤーのテンプレートエンジンをこれまでの Blaze、それから React、Angular の中から選べるようになりました。それに伴ってテンプレートを簡単に入れ替えできるように `blaze-html-templates` パッケージとして分離されたのだと思われます。

また、`mongo` のパッケージが分離されているのは、将来 MongoDB 以外のデータベースを利用できるようにするためだと思われます。Meteor のロードマップでは将来 [SQL をサポートする予定](http://info.meteor.com/blog/whats-coming-in-meteor-12-and-beyond)となっており、Meteor のデータベースに PostgreSQL を使用する試みがすでに[始まっています](http://info.meteor.com/blog/an-early-look-at-sql-in-meteor)。楽しみですね。


# まとめ

この記事ではもうすぐ登場する Meteor 1.2 の RC 版について紹介しました。

Meteor 1.2 では80箇所以上もの変更や改良が行われています。
また ECMAScript 2015 や React/Angular が公式にサポートされるようになりました。
(なお、Angular 2 も将来公式サポートする予定とのことです)

Meteor は今年の5月に[2000万ドルの資金調達](http://info.meteor.com/blog/announcing-our-20m-series-b-funding)をしたり、先日 GitHub のスター数で[Web Frameworkカテゴリで1位](https://github.com/showcases/web-application-frameworks)を取ったりと、いま勢いに乗っている JavaScript Platform となってます。これからも引き続き Meteor に注目していきたいですね！

それでは良い Meteor ライフを！

# 参考ページ

- [First public release candidate of Meteor 1.2 - core - Meteor forums](https://forums.meteor.com/t/first-public-release-candidate-of-meteor-1-2/8986)
- [meteor/History.md at release-1.2 - GitHub](https://github.com/meteor/meteor/blob/release-1.2/History.md)
- [Meteor 1.2 Upgrade Guide - Quip](https://quip.com/RXFlAk9Rc2xI)
- [An early look at SQL in Meteor](http://info.meteor.com/blog/an-early-look-at-sql-in-meteor)
- [Announcing our $20m Series B Funding](http://info.meteor.com/blog/announcing-our-20m-series-b-funding)
- [Web application frameworks](https://github.com/showcases/web-application-frameworks)