最近のASP.NET事情2013Winter

15,999 views
15,771 views

Published on

2013/12/14 (土) に行われた『合同勉強会 in 大都会岡山 -2013 Winter-』の同名のセッションの資料。
2013年冬時点での、ASP.NET全体の概要やOne ASP.NETというキーワードを紹介。

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
15,999
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
18
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

最近のASP.NET事情2013Winter

  1. 1. ― ASP.NET総選挙 ― 最近のASP.NET事情 2013 Winter きよくら ならみ 合同勉強会 in 大都会岡山 -2013 Winter 2013.12.14
  2. 2. 自己紹介 • きよくら ならみ – @kiyokura / id:kiyokura • 岡山生まれ岡山育ちのプログラマー – 現在は県内の某製造業で社内SE • NET系の開発やWebアプリ開発 – Microsoft MVP for ASP.NET/IIS
  3. 3. OITEC • Okayama IT Engineers Community • 主にマイクロソフトの製品やテクノロジ をターゲットにした勉強会などを行って います • http://oitec.vbstation.net
  4. 4. オープンラボ岡山 • 岡山周辺の技術者のための IT技術勉強会プラットフォーム • http://www.olojp.net/ • 単発で勉強会とかやりたいときに、名前 だけ使ってくれてもOKです!
  5. 5. 私の近況報告
  6. 6. Question.
  7. 7. ASP.NETを使ったことがありますか?
  8. 8. Question.
  9. 9. ASP.NETとは何でしょうか
  10. 10. "ASP.NET is a free web framework for building web sites, apps and services with HTML, CSS and JavaScript." http://www.asp.net/
  11. 11. .NET Framework を基盤とした Web アプリケーション フレームワーク
  12. 12. One more question.
  13. 13. ASP.NETの Webアプリケーションフレームワーク としての 技術的な特徴はどいうものか
  14. 14. 一言ではなかなか言えません
  15. 15. イベントドリブン コンポーネント型開発 コードビハインド フロントコントローラー フロントページ MVC CoC RESTful API リアルタイムWeb クライアントサイドJavaScript MVC
  16. 16. !?
  17. 17. 2013年末時点でASP.NETはこれだけ?ある • • • • • • ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET Web Forms MVC Web Pages Web API SignalR SPA
  18. 18. キーワード『One ASP.NET』
  19. 19. アジェンダ • • • • ASP.NETの特徴あるフレームワークたち One ASP.NET 最近のASP.NETのエトセトラ vNext?
  20. 20. ~ASP.NET 総選挙~ ASP.NETの 特徴あるフレームワークたち
  21. 21. ASP.NET Web Forms
  22. 22. ASP.NET Web Forms • ASP.NET登場時からある一番の古株 – 2002年に登場 – 現在の最新バージョンは「Web Forms 4.5」 • 当初は「ASP.NET=コレ」 – そもそもWeb Formsという名前は 後述の「ASP.NET MVC」が出てきてから 区別のために呼ばれ始めた
  23. 23. ASP.NET Web Forms
  24. 24. ASP.NET Web Forms • Webアプリ”らしくない”開発 – IDEによる"ポトペタ開発" – コントロールのドラッグ&ドロップ – JavaScriptを1行も書くことなくAjaxを実現 • Web特有の事情を抽象化 – ViewStateとPostback
  25. 25. デモ
  26. 26. ASP.NET MVC
  27. 27. ASP.NET MVC • その名の通り「MVC アーキテクチャ」 – 2009年にリリース – 当初はアドオンとして登場 – 現在の最新版は「MVC 5」
  28. 28. ASP.NET MVC Controller View Model
  29. 29. ASP.NET MVC • フレームワークとしての機能 – スキャフォールディング – 設定より規約 – 割とRuby on Railsにインスパイアという噂 • Viewはエンジンを選択可能 – Razor / ASPX の他、オープンソース等々 • Hamlも使える • モデルについては自由 – 基本的に「これを使え」というは縛り無し • 状況に合わせてテクノロジやアーキテクチャを選択すればよ い、というスタンス
  30. 30. デモ
  31. 31. ASP.NET Web Pages
  32. 32. ASP.NET Web Pages • ASP.NET中で最もシンプル – 2011年に最初のバージョンが登場
  33. 33. ASP.NET Web Pages • HTMLにコードを埋め込む方式 – Classic ASPやPHP、JSPに近い • Razor構文 – @を使って、HTML中にコードを埋め込む – コードには、C#とVB.NETが利用可能 • C#とVB.NETの機能はフルに利用可能 • 事前のコンパイルが可能 – サーバ上で直接編集も可能
  34. 34. ASP.NET Web Pages
  35. 35. デモ
  36. 36. ASP.NET Web API
  37. 37. ASP.NET Web API • HTTPサービスを構築するためのもの – 2012年8月リリース
  38. 38. ASP.NET Web API • RESTful – REST • Representational State Transfer – HTTPの動詞とAPIのメソッドを対応させる • POST / GET / PUT / DELETE • 汎用的な出力形式 – JOSN – xml
  39. 39. デモ
  40. 40. ASP.NET SignalR
  41. 41. ASP.NET SignalR • リアルタイムWeb通信を実現 – 2013年2月に1.0リリース
  42. 42. ASP.NET SignalR • リアルタイムWeb – Webによる双方向通信 – WebSocket対応 • 状況に合わせてフォールバック – 自動的に最善の手段を採用 • • • • WebSocket Server Sent Events Forever Frame Ajax long polling
  43. 43. ASP.NET SignalR • クライアント側にもライブラリを提供 – JavaScript – .NET – iOS – Android
  44. 44. デモ
  45. 45. ASP.NET SPA
  46. 46. ASP.NET SPA • Single Page Application – 2012年に登場 • VS2012 Update2より • 単一ページ構成のAjaxアプリケーション – JavaScriptの クライアントサイドライブラリを利用
  47. 47. ASP.NET SPA HTMLページ JavaScript (クライアントサイド MVCフレームワーク) • ビジネスロジック • 画面遷移 クライアント サイド HTMLを 一枚返す データ ページ返却 (MVC or 静的ページ等) Webサービス (Web API 等) サーバ サイド
  48. 48. ASP.NET SPA • 多様なJavaScriptフレームワークに対応 – Knockout.js – Backbone.js – AngularJS – DurandalJS – EmberJS • 各種テンプレートをダウンロード可能 – http://www.asp.net/single-pageapplication/overview/templates
  49. 49. デモ
  50. 50. ここまでのまとめ
  51. 51. ASP.NETは一つじゃない • 現在、6つのフレームワークがある • それぞれ全く異なった特徴を持つ • 用途・スキル・要件に合わせて柔軟に採 用可能
  52. 52. One ASP.NET
  53. 53. One ASP.NETビジョン • "様々"なASP.NETのフレームワークを • 柔軟に組み合わせて利用する構想 – pluggable(プラガブル)に
  54. 54. One ASP.NET Sites Services Single Page Apps Web Forms Web Pages MVC ASP.NET Web API SignalR
  55. 55. Visual Studio 2013
  56. 56. キーポイント • NuGet – NuGetによってライブラリをプラガブルに – 各フレームワークを構成するライブラリを NuGetで柔軟かつ整合性のとれた管理を実現
  57. 57. より柔軟に Sites Services Single Page Apps YOU! Web Forms Web Pages MVC ASP.NET Web API SignalR YOU!
  58. 58. 最近のASP.NETのエトセトラ
  59. 59. オープンソース・プロダクトの採用 • 社外のオープンソースのプロダクトを積 極的に採用 – プロジェクトテンプレートとして組み込み • jQueryやModernizr
  60. 60. プロダクトをOSSに • Microsoft自身のプロダクトをOSSに • 特にASP.NETは顕著 – MVC / Web Pages / Web API • https://aspnetwebstack.codeplex.com • Apache License 2.0 – SignalR • http://signalr.net/ • https://github.com/SignalR/SignalR • Apache License 2.0 – SPA • 構成要素がOSS – MVC / Web API – Knockout / AngularJS / backbone 等々
  61. 61. vNext
  62. 62. MVC 5.1, Web API 2.1, Web Page 3.1 • 2013年12月14現在 – RC版がリリースされている • http://blogs.msdn.com/b/webdev/archive/20 13/12/09/asp-net-and-web-tools-2013-2preview-for-visual-studio-2013.aspx – 正式リリースは年明け?
  63. 63. OWIN • Open Web Interface for .NET – http://owin.org/
  64. 64. OWIN • OWIN defines a standard interface between .NET web servers and web applications. The goal of the OWIN interface is to decouple server and application, encourage the development of simple modules for .NET web development, and, by being an open standard, stimulate the open source ecosystem of .NET web development tools.
  65. 65. Katana Project • OWINのリファレンス実装 – https://katanaproject.codeplex.com
  66. 66. Helios • IIS上でOWINを動かすライブラリ – https://www.nuget.org/packages/Micros oft.Owin.Host.IIS/ – 参考 • Checking out the Helios IIS Owin Web Server Host • http://weblog.westwind.com/posts/2013/Nov/23/Checking-outthe-Helios-IIS-Owin-Web-Server-Host
  67. 67. まとめ
  68. 68. まとめ • One ASP.NET – 多様なフレームワークをプラガブルに • よりオープンに – OSSの採用およびOSSとして実装 • OWIN – より軽量でシンプルに
  69. 69. ご清聴ありがとうございました

×