mvcConf @:Japan 〜 ASP.NET MVC ブートキャンプ 〜 に行ってきた
本日 Microsoft 品川本社で行われた、@IT .NET開発者中心 × Microsoft Tech Fielders 共催セミナー「mvcConf @:Japan 〜 ASP.NET MVC ブートキャンプ 〜」 に行ってきました。百戦錬磨の Microsoft MVP 5名による錚々たるセッションです。
わたくしは基本的に Windows クライアントアプリ(Windows Form・WPF)の開発がメインなんで完全畑違いなんですが、最新の技術動向調査するためにあえて参加させて頂きました。が、これが結構面白い。個人的に特に面白いと思ったのは、芝村さんのセッションで話していた Razor 記法。@(アットマーク)ひとつで C# や VB の構文を埋め込める、なかなか素敵なビューエンジン。非常に気に入りました。
で、以下はセッションから拾ったキーワードです。当然予備知識がろくにない状態で聞いたので、うろ覚えや聞き間違いがあるかも知れません。本日のセッションは後日公開されるとのことなので、とりあえずいまは雰囲気だけでも掴んでもらえばいいかも。
芝村さんのセッション
個人的には芝村さんのセッションが一番面白かったかな?特に Razor は興味深いです。
Razor 記法
- @ で始まる。
- 制御構造は @ の直後に書く
- コードブロック内にタグが書ける。
- デザインビューが非対応。
- サーバーコントロールが使えない。
- 部分ビュー利用可能。
- @section
- ヘルパー定義用の記法が用意されている
- Webヘルパー→外部サービスとの連携機能が多い。
NuGet(ぬげっと)
竹原さんのセッション
多くの方が竹原さんのセッションを見て「凄い!」と言ってたのですが、畑違いのため凄さが判らず残念。><
- オンプレミス→自分たちで持ってる機械・・・サーバー等(これは初めて知った)
- クラウド→雲の上・・・これは知ってたけど、前との対比キーワード。
- AppHarbor ソリューション投げると自動でビルドからテスト、デプロイまでしてくれるサービス
小野さんのセッション
Code First の話がなかなか面白ったです。
- Code First
- クラスを定義→DataBase を生成。
- 規約に従えば ID → プライマリキーになる。
- Fluent API (Required)
- 設定に勝る規約(CoC)
- Initiarizer クラス → DropCreateDatabaseIfModelChanged を基底クラスにしてる。
- 必須環境
- MVC3.dll 参照済み
- EF4.1.dll 参照済み
- SQL Server Compact 利用可能
- 用意されているデータアクセス機能をいかに活用するか?
勇さんのセッション
Azure がより身近に感じられた素晴らしいセッションでした。
パネルディスカッション
以下、最後に行われたパネルディスカッションのメモ書きです。かなり内容の濃いディスカッションです。聞いてて大変面白かったです。当然メモなので、聞き間違いや発言者の取り違え、またメモしながら聞いてたため肝心の部分聞き逃して、発言の意図を誤って捉えてる箇所等あるかも知れません。その際はぜひご指摘ください。
MVC を使い始めた理由は?
- 小野 : 技術的な興味・Web フォームを使うよりチーム開発しやすいかな
- 長田 : URLルーキング〜テストまわりで面白そう・・・技術的な興味
- 竹原 : Web フォームコントローラーまわりに絶望。主導権がデベロッパーにない。サーバーコントロールがなぜ View に関与するんだと。
Webフォームとの生産性の比較
- 小野 : そんなに変わらないような気が・・・MVC のパターンを決めてしまえば考えることが減る
Web フォームより MVC の方が楽しい?
MVC と Web フォームを切り分ける指針は?
- 竹原 : MVC → コンシューマー向け(デザイン重視)、Web フォーム→バックエンド
- 勇 : MVC の方が覚えやすそう。PHP の Zend と考え方がほぼ一緒。他の技術を学んでいる人だと、MVC の方がわかりやすい。Web フォームは何が起こってるのかさっぱりわからん。
- 小野 : Web フォームは VB6 ユーザー向けに作った感がある。コントロールぺたぺた貼り付け。だけど HTML や HTTP を中心にみると無理やり感が・・・
MVC と組み合わせる周辺技術・・・
- 芝村 : ガラゲー、フィーチャーフォン向けで制約があるので(容量の問題があるので、ViewStateが使えない)、MVC しかないと思っている。
- 長田 : 長いタグを書きたくない。ASPX なんもいいところがない。Razor 記法の方がいい。デザインビューで見れるのが ASPX がいいところ。
View エンジンについて・・・
- 竹原 : テンプレートエンジン・・・一番しっくり来るやつがいいじゃない!
選択の指針
Silverlight の今後について
- MS 井上 : LightSwicth・・・ほぼノンコーディングでアプリケーションを作成できる。HTML5・CSS?コンシューマー向けにはHTML5 を推奨していく。Silverlight は業務向け
Windows 8 は?
- MS 井上 : ベータ版も出てないし、まだまだ仕様は大きく変わるはず・・・今年9月の「ビルド」というイベントで新しい情報が公開される。
UI のお勧めは?
- 竹原 : jQuery。
エンティティフレームワーク
MVC開発のポイント
REST はオライリーとかの本を読まなければだめですか?
- 長田 : とりあえずは Tech Ed とかで公開されてる情報を読むだけでいいのではないか。
- 竹原 : RESTフルにこだわる必要はない。POST・GET 等の基本的なところを押さえておけばいい。
- 勇 : MVC が何をしているか思想を理解しないと嵌る。
- 小野 : レガシーの ASP の時代から開発していたので、MVC に移ってからも何をやっているのか粗方判っていた。Web フォームのコントロールのことは忘れましょう。
イベントドリブンで開発してきた人に、MVC は移行できるのか?
- 小野 : イベントドリブンではなくでリクエストドリブンで考える。イベントドリブンで考えるとおかしくなる。
質問「Web フォームチームをMVC に乗り換えさせるには?」
- 勇 : お金の問題。
- 竹原 : SOC・・・関心の分離
- 勇 : 目的を思い出してください・・・
感想
とっかかりにくく思えていた Azure が結構身近に感じられ、さらに セミナー全体通して ASP.NET.MVC に対する技術的興味が沸々と湧いてきました。パネルディスカッションでも数人の方が「技術的興味から」ASP.NET.MVC を使い始めたと仰ってましたが、確かにエンジニアを釣るには「これは面白そうだ!」と思わせることが一番ですね。私も釣られそうですが、その前に WPF(MVVM)を習得せねば。もっともその前に英語をせこせこ勉強中ですが(汗
でも畑違いとは言えども、意外に頭にすんなり入ってきて、最後まで本当に楽しく各セッションを拝聴できました。スピーカーの皆様、並びに開催の Microsoft & @IT の皆様、今日はお疲れ様でした。また本当に有難うございました。