次世代のクライアントサイドフレームワーク Aurelia

2ヶ月前のブログエントリーで Aurelia という次世代のクライアントサイドフレームワークについて書きましたが、Aureliaの開発が更に進んでいて、私たちもそれに追随してサンプルアプリケーションの Typescript のバージョンを更新しました。変更個所をご紹介したいと思います。

リポジトリはこちらです。gulp のみで動作し、IDEに依存していません。

Typescript 1.5.0-beta の利用

Typescript 1.5で幾つか新しいフィーチャーが導入されますが、サンプルアプリケーションでは特に以下の2つのを採用しています。

  • ES7 Decorators
  • ES6 Modules

ES7 Decorators 

Typescript では以下のように使っています。
詳しくは仕様を参考にしてください。

ES6 Modules

Typescript 1.4まで独自のモジュールのインポート・エキスポートシンタクスが使われていましたが、1.5から ES6のシンタクスもサポートされています。幾つかの例は以下の通りになります。

インポート・エキスポートシンタクスは結構豊かになりました。詳しくは仕様を参考にしてください。

モジュールのインポート・エキスポート方法が変わったことに伴って、Typescript 用の型の定義のファイル(*.d.ts)の変更も必要となりました。Typescript 対応をしている Aurelia のチームメンバー Mike Graham さんがこの作業を部分的に行ってくださったので、今回も彼の Aurelia 用の *.d.ts ファイルを使わせていただきました。

ちなみに、彼が Typescript で Aurelia というブログエントリーを書いているのですが、コメントに面白い議論がありました。 Aureliaはもともと JavaScript で書かれたフレームワークですから、 *.d.ts ファイルを手動で作る必要がありますが、この作業は結構大変で、また間違いやすいものです。*.d.ts ファイルを自動で作成するために、幾つかのオプションが提案され、ブログの読者に向けて投票のお願いがありました。オプションの中に、Aurelia 自体を Typescript で書き換える(こうすると、Typescript のコンパイラが *.d.ts をおまけで作ってくれます)というオプションもあって、読者のコメントを読むと、このオプションが圧倒的に人気があることがわかります。実現されたら、Aurelia のソースは Typescript で管理されることになります。

Angular 2.0 も Typescript で実装されることが確定しているようなので、大きいフレームワークのソースを Typescript で管理する方針が明らかになっています。ますます、Typescript 自体の人気も上がっています。

フレームワークは Typescript で実装されていても、もちろんアプリケーションを作るときに、普通に JavaScript を使うのは大丈夫です。この機会にTypescript を採用してみてはいかがでしょうか?

コメントを残す

%d人のブロガーが「いいね」をつけました。