Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後

5,214 views

Published on

VSUG Day 2012 Winter セッション資料
http://vsug.jp/tabid/228/EventID/18/Default.aspx

Published in: Technology
  • Be the first to comment

patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後

  1. 1. patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後 日本マイクロソフト株式会社 デベロッパー & プラットフォーム統括本部 デベロッパー エバンジェリスト 井上 章 (いのうえ あきら) blogs.msdn.com/chack twitter.com/chack411
  2. 2. セッションのゴールSession Takeaways• Web 開発のトレンドと今後 を知る• Project Silk の概要 を学ぶ
  3. 3. patterns & practices Project Silk
  4. 4. Web 開発のトレンド
  5. 5. キーワードとトレンドKeywords and Trend ECMAScript 5 CSS3 HTML5 jQuery Ajax Web API MVC async REST Atom JSON
  6. 6. VideoProductivity Future Vision 2011
  7. 7. 近未来の IT, Cloud, Web ... http://www.microsoft.com/office/vision/
  8. 8. ネイティブ アプリ Web API デスクトップ Web アプリ HTTP ASP.NET REST JSON モバイル XML Web アプリ サーバークライアント
  9. 9. サーバー サイド 開発 クライアント サイド 開発
  10. 10. patterns & practices Project Silk
  11. 11. マイクロソフト プラットフォームを使ったアプリケーションの設計開発および実装のリファレンス(ドキュメント & サンプルコード)patterns & practices MSDN ホーム:http://msdn.microsoft.com/en-us/library/ff921345.aspxWindows Azure GuidanceEnterprise Library GuidanceMobile Web GuidanceWindows Phone 7 Guidance…
  12. 12. Application Web App Architecture Guidance Guide 2.0 Enterprise Millionth EntLib Enterprise Solution Library Download Patterns for .NET p&p Agile 1st Patterns Guide Dev Center opens Prism Data Access CodePlex WPF/ Silverlight 1st Application MSDN Dev Center & CCE Applications Block SharePoint Exchange Dev Team creates “Team Room” ApplicationsDeployment 1st Guide 1st p&p Summit Event Smart Client Unity DI ms.com Center Software Factory Container GAX/GAT CAB VSTS Identity Introduced 1st Composite App ALM FrameworkTeam Formed Enterprise “Improving Web App Security” Service Bus 1st Security Guidance .NET Application Start work on WCF Architecture Guide 1.0 “in-tools” experience” Security2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 Exchange Deployment eCommerce Composite Apps SOA SharePoint AD Deployment .NET App Arch Security and Perf Smart Client OBA Microsoft Systems Data Access Mobile Clients S+S Architecture Web Client ESB
  13. 13. http://silk.codeplex.com/
  14. 14. DemoProject Silk & MileageStats
  15. 15. Project Silk: Mileage Stats に見る アーキテクチャとテクノロジー
  16. 16. http://benalman.com/projects/jquery-bbq-plugin/http://api.jquery.com/category/plugins/templates/
  17. 17. Navigation BBQ Plug-in Layout Manager Template Template jQuery TemplatesClient Pub/Sub jQuery UI Widget Widget Widget Widget Factory Data Manager Data Cache JavaScriptServer JSON Endpoints ASP.NET MVC
  18. 18. JavaScript のモジュール化アプローチ
  19. 19. UI モジュール UI 要素 (コントロール等)Behavioral モジュール 要素への振る舞いを追加 (アニメーション等) UI に限定しないアプリケーション全体で必要とされる役割Infrastructure モジュール (データ アクセスや通信等) JavaScript Object jQuery Plug-ins jQuery UI WidgetsUI モジュール × ○ ◎Behavioral モジュール ○ ◎ ○Infrastructure モジュール ◎ ○ ×
  20. 20. mstats.dataStore = { _data: {}, get: function (token) { return this._data[token]; }, set: function (token, payload) { this._data[token] = payload; }, clear: function (token) { this._data[token] = undefined; }, clearAll: function () { this._data = {}; }};
  21. 21. // Code example not in Mileage Stats (function($) { $.fn.doubleSizeMe = function() { return this.each(function() { var $this = $(this), width = $this.width(), height = $this.height(); $this.width(width * 2); $this.height(height * 2); }); };http://docs.jquery.com/Plugins/Authoring })(jQuery); // How to use doubleSizeMe plug-in $(.icon).doubleSizeMe();
  22. 22. // tagger widgets definition (function($) { $.widget(qs.tagger, { options: { dataUrl: jQuery.widget(ns.name, {...}); }, _create: function () { ... }, destroy: function () { ... $.Widget.prototype.destroy.call(this); } }); }(jQuery)); // How to use tagger widget $(span[data-tag]).tagger({ dataUrl: http://example.com/});
  23. 23. DemojQuery UI Widget Factory
  24. 24. JavaScript の単体テスト
  25. 25. http://docs.jquery.com/QUnit<!-- Contained in test.htm --><!-- Code under test --><script src="../Debug/mstats.header.js"></script><!-- Unit tests --><script src="mstats.header.tests.js"></script>// mstats.header.tests.jsmodule(Header Widget Tests, {...});test(Test 1: header, function() { expect(1); var header = $(#header).header(); // Arrange header.header(option, title, test title); // Act // Assert equal($([data-title]).text(), test title, ...);});
  26. 26. DemoQUnit による JavaScript 単体テスト
  27. 27. Web 開発の今後 ...
  28. 28. Web 開発の今後
  29. 29. Web 開発の今後
  30. 30. Web 開発の今後
  31. 31. Web 開発の今後 http://phonegap.com/ http://dev.windows.com/
  32. 32. Web 開発の今後に向けて 開発者が避けては通れない Web 技術 HTML5 / CSS3 / JavaScript ... 最適な技術選択と アプリケーション アーキテクチャの検討 複雑化するクライアント サイド実装への対応 最適な開発環境・ツールの選択 コーディング、デバッグ、テストへの支援
  33. 33. patterns & practices: Project Silkhttp://silk.codeplex.com/Project Silk: Client-Side Web Development for Modern Browsershttp://msdn.microsoft.com/en-us/library/hh396380.aspxMSDN アーキテクチャ センターhttp://msdn.microsoft.com/ja-jp/architecture/MSDN ASP.NET デベロッパー センターhttp://msdn.microsoft.com/ja-jp/asp.net/THE TRUTH IS OUT THERE ~ 井上 章のブログ ~http://blogs.msdn.com/chack/
  34. 34. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

×