BT

TypedMVVM - WinJS Windows StoreアプリをTypeScriptを使って開発

| 作者: Anand Narayanaswamy フォローする 0 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2014年1月5日. 推定読書時間: 3 分 |

原文(投稿日:2013/12/10)へのリンク

TypedMVVMはDavide Zordan氏の開発した,WinJSやTypeScript, MVVMを使用してWindows Storeアプリを記述するためのサンプルとライブラリのコレクションだ。WinJSで開発されたシンプルなWindows StoreナビゲーションアプリのMVVMパターンを通じて,関心事の分離を適用することにより,実世界のシナリオにおけるTypeScriptの使用を可能にする。

氏の説明によれば,すべての .jsソースファイルが,クラス/インターフェース実装を備えた新たなフォルダ構造のTypeScriptに変換されている。designDataがデザインタイムのデータの実装を提供してブレンダビリティ(Blendability, 混合性)を担保する一方で,ライブラリにはTypeScript定義やRelayCommand<T>やViewModelBaseといったTypedMVVMコアクラスが格納されている。パッケージにはサービスやビューモデル,ビューモデルファクトリ用のインターフェース,さらにビューモデルの具象クラスやビュー定義なども含まれる。

InfoQではMicrosoft MVPであるソフトウェアアーキテクト兼開発者の氏にコンタクトを取り,TypedMVVMについて詳しく聞いた。

InfoQ: TypedMVVMを開発した背景について説明して頂けますか?

私は構造化された方法でコードを書くのが好きで,"関心事の分離" やオブジェクト指向,モジュール化,テスト容易性,拡張性といったベストプラクティスを受け入れたいと思っています。

TypeScriptは開発者に対して,プロフェッショナルなアプリケーションを開発する上で基本的なものだと私が考える機能を,数多く提供してくれます。特に,型のチェックと推論リファクタリング,インテリセンスの完全サポートといった機能は,複雑で大規模なアプリケーションを開発する場合には必須のものです。このような理由から私は,TypeScriptを使用して,MVVMデザインパターンをWinJSナビゲーションアプリに適用する方法を示すような,シンプルなクラスセットを開発しようと思いました。

InfoQ: TypedMVVMを使わずに開発されたWindows Storeアプリとは,どのような違いがあるのでしょう?

WinJSで開発された通常のWindows Storeアプリでは,コア言語としてJavaScriptを使用します。TypedMVVMでコア言語として使用するのはTypeScriptです。TypeScriptは静的型付け,インターフェース,クラス(ほんの数個ですが)を備えていますが,最終的にはプレーンなJavaScriptにコンパイルされます。その他には,ViewModelパターンを初めて使う開発者が,適切な構成とテスト性を備えたコードを記述できるようにするためのヘルパクラスがいくつか含まれています。

InfoQ: TypedMVVMを使用すると,どのようなタイプのアプリケーションが開発可能なのですか?

当面のターゲットは,WinJSフレームワークを使用したWindows Storeアプリです。

InfoQ: TypedMVVMを実装した実際のアプリケーションとして,何かご存じのものはありますか?

リリースされたばかりですので,現時点では,実際のプロジェクトに関する情報はありません。

InfoQ: 今後のロードマップについて教えてください。

ロードマップはまだ作成中ですが,制御の逆転(inversion of control)や疎結合メッセージング,アプリケーション固有サービスといったものを考えています。これらは本当に有効なものになるでしょう。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT