HIDARI日記(右)

そのときどき興味ある技術を中心にだらだら書いてます。内容は個人の見解であり、所属する企業を代表するものではありません。

ASP.NETSkypeミーティングに参加しました

なにそれ

すでに8月に入ってしまいましたが、去る7/19に大阪で、福井のじんぐる (@xin9le)さん、 岡山のきよくらならみ (@kiyokura)さんと Skypeを通してASP.NETの話を聞かせていただくという勉強会に参加してきたました。

せっかくなので雑ですが、残しておきます。

前半はじんぐるさんにASP.NETの基礎、 特にASP.NET MVCを使ったアプリケーションに作成方法の 概要についてハンズオンを交えて教えてもらいました。

後半には岡山の第19回勉強会 - Okayama IT Engineers Community | Doorkeeperで 発表中だったきよくらさんと繋いで3拠点で「ASP.NET "NOW" and "NEXT"」を聞く勉強会となりました。

じんぐるさんのターン

  • ASP.NETプロジェクトの作成
  • 簡単なルーティングの説明
    • /コントローラ/アクションメソッド/(ID)とかそういうの
    • ActionResultとかヘルパーメソッドView()とか
  • Viewの作成
    • HTMLヘルパー使ったりしながら
  • GET, POSTなどに絞る属性の指定
  • POSTの実装
  • Razor構文の書き方(入門編)
  • マスターページ_ViewStart.cshtmlの書き方
    • @RenderBody()@RenderSection()
    • どこまでをマスターページ含めるか
    • 当然たくさん書くほどサイト全体が重くなる
  • [HttpGet][HttpPost]などのActionNameSelectorAttributeを継承するクラスでのアクションメソッドへの振り分け制御
  • モデルバインダー入門
    • フォーム送信(POST?)されたデータからオブジェクト(クラスのインスタンス)を生成
    • アクションメソッドの引数としてそのオブジェクトを利用できるようになる
  • 検証の実装入門
    • サーバ側ではモデルに検証属性を指定、Viewで検証失敗時のメッセージなどを実装
    • クライアント側に型情報を渡すことで検証属性から、HTMLタグが出力される(jqueryが使用される)

AzureVM上にASP.NET MVCのサイトでも立ち上げたくなりました。 次は認証関係のところを聞きたい(欲張り。

サーバ/クライアントそれぞれでの値の検証についてもう少し掘り下げたい(欲b。

あと、じんぐるさん曰くモデルとコントローラの間にViewModelを挟んで柔軟な構造にするべきとのことでした。

きよくらさんのターン

ASP.NET "NOW" and "NEXT"ということでASP.NETのこれまでの変遷とこれからどのように変わっていくのかを現在公開されているASP.NET vNEXTをもとにわかりやすく説明してもらいました。

ASP.NET

  • ASP.NETは.NET Framwork上で動くWebアプリフレームワーク
    • ASP.NET WebForms, MVC, WebPages, SPA, WebAPI, SignalRすべてをまとめてASP.NETと呼ばれることが多い。
    • ASP.NET WebFormsはすでに完成の域になり大きな進歩はない(VS2005の時点で概ね完成していた)
    • 2009年以降はMVCが着実に進化、WebAPI,Pagesも登場、2013年にはSignalRも登場
    • MVCは現在5.2?、SignalRもすでにバージョン2がリリース済み

One ASP.NET

  • ASP.NETフレームワークをプラガブルに利用できることを目指す
    • NuGetを利用して各フレームワークのライブラリを柔軟かつ整合性のとれた状態で管理
    • 何を使えばいいか迷うときはMVC
    • WebFormsはオススメできない
  • クライアントサイドではjquery, TypeScriptが使える
  • Visual Studioの機能の充実によって開発効率が上がる

OWIN(Open Web Interface for .NET

  • WebアプリとWebサーバーを接続するインタフェースの 規格
  • IISへの依存からの切り離し
  • 現段階の実装としてはKatana Project - Homeがある

ASP.NET vNEXT(ASP.NETの次のバージョン)

  • ASP.NET vNext | The ASP.NET Site
  • まだアルファなのですぐにどうこうという話ではない
  • MVC6でMVC、WebPages、WepAPIが統合(整理)される
  • WebFormsはバージョンアップされない
  • side-by-sideデプロイ
  • Roslynによる実行時コンパイル
  • 破壊的変更がある
    • プロジェクトファイルはkprojに変わる
    • System.Webがなくなる
  • オープンソース化(aspnet

おわりに

実はASP.NET MVCを触るのは初めてでした。が、じんぐるさんが非常に丁寧に説明してくださったので、 チュートリアル程度のものであれば自分でもって気持ちになれました。

きよくらさんの発表はなかなか驚きな内容も含まれていて、非常に興味深いものでした。 vNEXTになってこのままSystem.Webが消失すれば、阿鼻叫喚の地獄絵図になったりするのでしょうか。 でもまだアルファの話なのでなんとも言えませんが。

では最後にじんぐるさんがこれは見とけっておっしゃっていた参考資料を載せておきます。