ピースペース

スタート SPA

leave a comment »

少し時間が取れそうなので、技術的補給をしておこうと思って、
SPA ・・・なにそれ?気持ちいいの? をやってみている。が、手ごわい(T.T)

喫緊には、モバイルアプリ開発の方が優先要求なわけだが、
モバイルアプリがアクセスするサービスをどうするの?を考えるとweb apiはどうなの?
を片付けておく必要があって、でもって、
web apiなにそれ?に、つっこむと、SPAに着地するので避けられれない→SPA。
おそらくモバイルアプリにもMVVMは必要になるので無駄にはならない。というか重要か。

せっかくなので、VS2013からMVC5のSPA templateを指定してプロジェクトを開始する。
実行してみる → 「は、なに!なにが違うの?」 ここからオラはどこへ行けば良いの?いきなり迷子になる。
唯一の手がかりはこれ
mvc5spa

Templateで追加されたScripts/appフォルダの中のjsが表示しているのは間違いない!
が、それがどうゆうカラクリなのか?の説明はいまのところどこにも見つからない。うわーん

せめて、これくらいの説明でもあればずいぶん助かるのにと思うが、どうなんだろう??http://stackoverflow.com/questions/23036762/how-do-i-add-a-new-view-to-a-asp-net-spa-project

SPAとは、あるURLに関連づくクライアント側のMVVMフレームワークとViewModel群で、
BundleConfigに定義する、bundles.Add(new ScriptBundle("~/bundles/app").Include(
が、Silverlightのxapに相当すると考えるとわかり易い気がする。
SilverlightにはViewも含まれるが、SPAの場合はViewだけ場所が異なるので、この辺りがわかり悪さの原因と思う。
とにかく、ひとつのWebの中にSPAはひとつだけとは限らないわけで。
SPA Templateを使ってWebアプリプロジェクトを開始すると、SPAという形式のWebアプリがあるように誤解するが、
Webアプリは普通に普通のWebアプリとしてあるだけで、その中のひとつのPage(URL)がSPAになる!ってことだ。よね?

生成されるSPAなjsファイルのうち、app.viewmodel.js, app.datamodel.js, _run.jsは、
SPAなフレームワークに属するもので、基本的に開発するものではない。よね?
開発するのは、_Home.cshtmlとhome.viewmodel.cs。つまり、Viewとそれに対応するViewModel。
SPAに新しいView/ViewModelを追加していくのがSPA開発の主作業になるというわけだ。
その開発で追加するViewModelを登録して管理するのがAppViewModel!という感じはわかるが、
説明がまったくないので、その使用方法は手探りだ。
というか、たったそれだけのコードなので見ればわかるでしょ!ってことなんだろうが、
何を話しているのかしっとも理解できない→JavaScript(T.T)
TypeScript版を希望します(どこかに既にあるのかもしれない)

Written by nasu38yen

2014年6月4日 @ 6:37 PM

カテゴリー: 未分類

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

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