SlideShare a Scribd company logo
HTML5 on ASP.NET
 小島富治雄 
@Fujiwo 
 福井コンピュータ株式会社 
 Microsoft MVP C# (2005-2012)
HTML5 に興味を持って 
いただく 
ASP.NET 開発環境で 
HTML5 を使う方法につ 
いて知っていただく
 ASP.NET のトレンド 
 Visual Studio でHTML5 を書くには 
 HTML5 とは 
 HTML5 で追加されたタグ 
 HTML5 API 
 HTML5 on ASP.NET 
 Tips
HTML5 on ASP.NET
• HTML5 周辺 
◦ HTML 5 
◦ CSS 3 
◦ Web API 
• ECMAScript 
◦ jQuery 
• REST 
• RIA
• Web フォームvs. MVC 
• ASP.NET MVC 3 
◦ “Razor” 
◦ HTML5 CSS3 対応プロジェクト 
テンプレート 
◦ 最新jQuery 対応 
◦ NuGet 
◦ Azure 対応
HTML5 on ASP.NET
 HTML5 CSS3 対応 
プロジェクト 
テンプレート 
 最新jQuery 対応
• ASP.NET MVC 3 Tools Update 
◦ Visual Studio 2010 のテンプレート 
とツール
• 準備 
◦ HTML5、CSS3対応 
 インテリセンス、文法チェック 
◦ jQuery 用コードスニペット
• HTML5、CSS3対応 
インテリセンス、文法チェック 
◦Web Standards Update for Microsoft 
Visual Studio 2010 SP1
◦ jQuery 用コードスニペット 
◦ jQuery Cod Snippets for Visual 
Studio 2010 
$(title).fadeOut(1000); 
$(title).fadeIn (1000);
• HTML5、CSS3 に対応 
• Expression Web 4 Service Pack 1 
Available for Download - MSDN 
Blogs 
◦ Microsoft Expression Web 4 
Service Pack 1
HTML5 on ASP.NET
 HTML5を学ぶなら必ず見ておきたい 
WEBサイト35選 
 HTML5の可能性を体験できる、すご 
いサイトのまとめ 
 HTML5で作られた美しいサイト12 | 
Web活メモ帳
狭義のHTML 5 CSS 3 
API 
ECMAScript
 Open Web Technology Platform 
◦オープンかつ標準 
 2011/5/25 最終草案 
◦ 使い始めて良い 
◦2014 W3C勧告(予定)
HTML5 on ASP.NET
 HTML5 & CSS3 Support, Web 
Design Tools & Support - 
FindMeByIP - CSS3 & HTML5 
Browser Support 
http://www.findmebyip.com/litmus/
HTML5 on ASP.NET
<!DOCTYPE html> 
<html lang=ja> 
<head> 
<meta charset=UTF-8> 
<title>タイトル</title> 
<link rel="stylesheet" href="style.css"> 
<script src="linq.js"></script> 
</head> 
<body> 
<!--ページ・コンテンツ--> 
</body> 
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- 
transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; 
charset=UTF-8" /> 
<meta http-equiv="Content-Language" content="ja" /> 
<title>タイトル</title> 
<link rel="stylesheet" href="style.css" type="text/css" /> 
<script type="text/javascript" src="linq.js"></script> 
</head> 
<body> 
<!--ページ・コンテンツ--> 
</body> 
</html>
HTML5 on ASP.NET
セマンティクス 
◦<section> 
◦<nav> 
◦<figure> 
◦<time>
グラフィックス 
◦<canvas> 
マルチメディア 
◦<audio> 
◦<video>
コントロール 
◦<input> 
◦<progress> 
◦<meter> 
UI 
◦<details> 
◦<menu> 
◦<command>
• Ruby 
• MathML 
• SVG 
• WAI-AREA
<ruby>瓊脂<rp> (</rp><rt>ところてん 
</rt><rp>)</rp></ruby>は<ruby>石花 
菜<rp> (</rp><rt>てんぐさ 
</rt><rp>)</rp></ruby>から作られる。
<figure> 
<img src="DSCF7297.JPG" width="240" 
height="180" alt="かんぱーい!" /> 
<figcaption>先週のイベントの様子 
その1</figcaption> 
</figure>
 <video src="v.mp4" controls></video> 
 <audio src="v.mp3" controls></audio> 
<video autoplay="autoplay" loop="loop“ 
width="480" height="272"> 
<source src="video.mp4" type="video/mp4"> 
<source src="video.webm" type="video/webm"> 
<p>動画を再生するには、videoタグをサポートしたブラウ 
ザが必要です。</p> 
</video>
 検索: <input type="search"> 
 電話番号: <input type="tel"> 
 URL: <input type="url"> 
 Email: <input type="email"> 
 日付: <input type="date"> 
 時刻: <input type="time"> 
 数値: <input type="number"> 
 範囲: <input type="range"> 
 色: <input type="color">
 テキスト(入力必須): 
<input type="text" required> 
 郵便番号: 
<input type="text“ 
pattern="¥d{3}¥-¥d{4}“ 
title="郵便番号:999-9999形式で入力してください。">
 進捗: 
<progress value="50" max="100"></progress> 
 メーター: 
<meter value="50.0" min="0" max="100" ></meter>
二次元ラスターグラフィック 
◦高速描画 
◦アニメーション可 
◦三次元やベクター描画はSVG 
を使う
<canvas width="300" 
height="300"></canvas>
var canvas = 
document.querySelector('canvas'); 
var context = 
canvas.getContext('2d'); 
// 矩形描画 
context.clearRect(0, 0, canvas.width, 
canvas.height); 
context.fillRect(50, 50, 200, 200); 
context.strokeRect(20, 20, 260, 260);
var canvas = document.querySelector('canvas'); 
var context = canvas.getContext('2d'); 
// パス描画 
context.beginPath(); 
context.moveTo(150, 30); 
context.lineTo( 30, 270); 
context.lineTo(270, 270); 
context.closePath(); 
context.fillStyle= "Yellow"; 
context.fill(); 
context.strokeStyle= "Red"; 
context.stroke();
var canvas = document.querySelector('canvas'); 
var context = canvas.getContext('2d'); 
// 円描画 
context.beginPath(); 
context.arc(150, 150, 50, 0, Math.PI * 2, true); 
context.fillStyle = "Magenta"; 
context.fill(); 
context.strokeStyle = "Blue"; 
context.stroke();
 setTimeout() またはsetInterval() 
var flops = 60; 
window.setInterval( 
function() { 
context.clearRect(0, 0, canvas.width, canvas.height); 
// 描画 
}, 
1000 / flops);
<svg width="540" height="200" viewBox="0 0 270 100" style="margin:-2em 0em -3em 
0em"> 
<defs> 
<radialGradient id="radial" cx="50%" cy="50%" fx="25%" fy="25%"> 
<stop offset="0%" stop-color="#60bafc" /> 
<stop offset="50%" stop-color="#409adc" /> 
<stop offset="100%" stop-color="#005a9c" /> 
</radialGradient> 
<path id="curve" d="M18,60 C100,10 180,110 264,60" fill="none"/> 
</defs> 
<circle cx="138" cy="50" r="38" fill="url(#radial)" stroke="#005a9c" /> 
<text font-family="Verdana" font-size="20" fill="#ff9900"> 
<textPath xlink:href="#curve" method="stretch" style="visibility: visible;">Scalable 
<tspan fill="white">Vector</tspan> 
Graphics 
</textPath> 
</text> 
</svg>
<math style="display:block"> 
<mi>t2</mi> 
<mo>=</mo> 
<mfrac> 
<mi>t1</mi> 
<msqrt><mrow> 
<mn>1</mn> 
<mo>-</mo> 
<mfrac> 
<msup> 
<mi>v</mi> 
<mn>2</mn> 
</msup> 
<msup> 
<mi>C</mi> 
<mn>2</mn> 
</msup> 
</mfrac> 
</mrow></msqrt> 
</mfrac> 
</math>
HTML5 on ASP.NET
function show(pos) { 
var location ="<span>"+"緯度:" + pos.coords.latitude + 
"</span>"; 
location += "<span>"+"経度:" + pos.coords.longitude + 
"</span>"; 
document.getElementById("location").innerHTML = 
location; 
} 
if (navigator.geolocation) { 
window.alert("本ブラウザでGeolocation が使えます。"); 
window.navigator.geolocation.getCurrentPosition(show); 
} else { 
window.alert("本ブラウザではGeolocation が使えません。"); 
}
// localStorage への格納 
var storage = localStorage; 
var value = "1" 
storage.setItem("A", value); 
// localStorage からの取得 
var storage = localStorage; 
var value = storage.getItem("A");
HTML5 on ASP.NET
HTML5 on ASP.NET
HTML5 をレンダリングする 
サーバーコントロールを 
作成して貼る
 JavaScript で直にサービスを呼び出す 
1. 「AJAX 対応WCF サービス」を作成 
2.ASPX 側にScriptManager を貼り、 
サービスを指定 
3. JavaScript でサービスをnew して 
サービス内のメソッドを呼び出す
// MyService.svc - MyService.cs 
[ServiceContract(Namespace = "MyServices")] 
[AspNetCompatibilityRequirements(RequirementsMode = 
AspNetCompatibilityRequirementsMode.Allowed)] 
public class MyService { 
[OperationContract] 
public object MyMethod() { 
return 何かのデータ; 
} 
}
// MyPage.aspx 
<script> 
onload = function() { 
var service = new MyServices.MyService(); 
service.MyMethod(onSuccess, null, null); 
} 
function onSuccess(data) { 
// data を描画 
} 
</script> 
<asp:ScriptManager ID="scriptManager" runat="server"> 
<services> 
<asp:servicereference Path="MyService.svc" /> 
</services> 
</asp:ScriptManager>
HTML5 on ASP.NET
 HTML5.JS 
◦ [参考]HTML5.jsの中身を見てみよう 
<!--[if lt IE 9]> 
<script src= 
"http://html5shiv.googlecode.com/svn/trunk/html5.js" 
> 
</script> 
<![endif]--> 
article,aside,canvas,details,figcaption,figure, 
footer,header,hgroup,menu,nav,section,summary 
{ display:block; }
• JavaScriptで配列をLINQにより処 
理できるライブラリ「linq.js」を利 
用するには? 
• neue cc - linq.js LT資料料 
var result = Enumerable.From(jsonArray) 
.Where("$.Count > 5") 
.OrderByDescending("$.Count") 
.ThenBy("$.Name") 
.Select("$.Name") 
.ToArray();
 Internet Explorer の 
「スクリプトのデバッグを使用しな 
い(Internet Explorer)」 
のチェックを外す 
 Internet Explorer のみ 
 Visual Studio でデバッグ実行 
◦ ブレークポイントやトレース実行
もうHTML5 で 
Visual Studio はHTML5 
エディターとしても既にい 
ける
HTML5 on ASP.NET

More Related Content

What's hot (20)

PDF
Creators'night#12今井
Daisuke Imai
 
PPTX
Vue.js 2.0を試してみた
Toshiro Shimizu
 
PDF
Brush up your Coding! 2013 winter
Shogo Sensui
 
PDF
プロダクトに 1 から Vue.js を導入した話
Shohei Okada
 
PPTX
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
Shumpei Shiraishi
 
PDF
jQuery Performance Tips – jQueryにおける高速化 -
Hayato Mizuno
 
PDF
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
normalian
 
PDF
マークアップ講座 04 jQuery - JavaScript
eiji sekiya
 
PPTX
Nodejs
Masanobu Masuda
 
PDF
SVG MANIAX Ver.2 - Mars vanilla
Naoki Matsuda
 
PDF
Vue.js入門
Takuya Sato
 
PPTX
エンタープライズ分野での実践AngularJS
Ayumi Goto
 
PPTX
後期講座03
Takenori Nakagawa
 
PDF
Native x Webでいいとこどり開発 ~ピグトーク~
Kazunari Hara
 
PPTX
チュートリアルではじめるVue.js
小川 昌吾
 
PDF
はじめよう Backbone.js
Hiroki Toyokawa
 
PDF
Vue.jsでさくっとMVVM
Satoshi Anai
 
PDF
One night Vue.js
Masahiro Kyuden
 
PDF
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
Yuki Minakawa
 
Creators'night#12今井
Daisuke Imai
 
Vue.js 2.0を試してみた
Toshiro Shimizu
 
Brush up your Coding! 2013 winter
Shogo Sensui
 
プロダクトに 1 から Vue.js を導入した話
Shohei Okada
 
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
Shumpei Shiraishi
 
jQuery Performance Tips – jQueryにおける高速化 -
Hayato Mizuno
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
normalian
 
マークアップ講座 04 jQuery - JavaScript
eiji sekiya
 
SVG MANIAX Ver.2 - Mars vanilla
Naoki Matsuda
 
Vue.js入門
Takuya Sato
 
エンタープライズ分野での実践AngularJS
Ayumi Goto
 
後期講座03
Takenori Nakagawa
 
Native x Webでいいとこどり開発 ~ピグトーク~
Kazunari Hara
 
チュートリアルではじめるVue.js
小川 昌吾
 
はじめよう Backbone.js
Hiroki Toyokawa
 
Vue.jsでさくっとMVVM
Satoshi Anai
 
One night Vue.js
Masahiro Kyuden
 
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
Yuki Minakawa
 

Similar to HTML5 on ASP.NET (20)

PDF
CSS Design and Programming
Taku AMANO
 
PDF
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
Hiroaki Wakamatsu
 
PDF
Seasarプロジェクト徹底攻略
takezoe
 
PDF
densan2014-late01
Takenori Nakagawa
 
PPTX
Backbone.jsとSASSでモジュールをつくった話
Yosuke Doke
 
PDF
jQuery Mobile 最新情報 & Tips
yoshikawa_t
 
PDF
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
崇之 清水
 
PDF
jQuery と MVC で実践する標準志向 Web 開発
Akira Inoue
 
PDF
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
Osamu Monoe
 
PDF
J query ready2.key
sayoko miura
 
PDF
WordBench Saitama vol.6
masaaki komori
 
PDF
Pro aspnetmvc3framework chap19
Hideki Hashizume
 
PDF
Canvas勉強会
Tsutomu Kawamura
 
PDF
勉強会force#2 HTML5によるモバイルアプリ開発
Kazuki Nakajima
 
PPT
jsライブラリで実装する効率的なWeb制作
西畑 一馬
 
PDF
Infrastructure as code for azure
Keiji Kamebuchi
 
PDF
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Shumpei Shiraishi
 
PDF
SocketStream入門
Kohei Kadowaki
 
PDF
scala+liftで遊ぼう
youku
 
PDF
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
 
CSS Design and Programming
Taku AMANO
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
Hiroaki Wakamatsu
 
Seasarプロジェクト徹底攻略
takezoe
 
densan2014-late01
Takenori Nakagawa
 
Backbone.jsとSASSでモジュールをつくった話
Yosuke Doke
 
jQuery Mobile 最新情報 & Tips
yoshikawa_t
 
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
崇之 清水
 
jQuery と MVC で実践する標準志向 Web 開発
Akira Inoue
 
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
Osamu Monoe
 
J query ready2.key
sayoko miura
 
WordBench Saitama vol.6
masaaki komori
 
Pro aspnetmvc3framework chap19
Hideki Hashizume
 
Canvas勉強会
Tsutomu Kawamura
 
勉強会force#2 HTML5によるモバイルアプリ開発
Kazuki Nakajima
 
jsライブラリで実装する効率的なWeb制作
西畑 一馬
 
Infrastructure as code for azure
Keiji Kamebuchi
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Shumpei Shiraishi
 
SocketStream入門
Kohei Kadowaki
 
scala+liftで遊ぼう
youku
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
 
Ad

More from Fujio Kojima (20)

PDF
ITエンジニア (Developer) 向けAIエージェント勉強会 (2025/06/13)
Fujio Kojima
 
PDF
Burikaigi 2023「C# Live Coding!」 小島の分
Fujio Kojima
 
PDF
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
Fujio Kojima
 
PDF
.NET 6 時代のデスクトップ アプリケーション開発
Fujio Kojima
 
PDF
BuriKaigi 2022 「C# Live Coding!」 小島の分
Fujio Kojima
 
PDF
C#勉強会 ~ C#9の新機能 ~
Fujio Kojima
 
PDF
.NET 5 勉強会 ~.NET Framework から .NET へ~
Fujio Kojima
 
PDF
.NETラボ 勉強会 2021年1月 「C#で機械学習」
Fujio Kojima
 
PDF
『議論パターン』 (Discussion Patterns) ~不毛な議論を避け、実り有る議論とするために~
Fujio Kojima
 
PDF
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
Fujio Kojima
 
PDF
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
Fujio Kojima
 
PDF
牛タン会議 2019 @ 仙台 「C# ドキドキ ライブ!!」 小島の分
Fujio Kojima
 
PDF
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
Fujio Kojima
 
PDF
機械学習 (AI/ML) 勉強会 #2 IoT編
Fujio Kojima
 
PDF
機械学習 (AI/ML) 勉強会 #1 基本編
Fujio Kojima
 
PPTX
BuriKaigi2019 「C# ドキドキ・ライブコーディング」 小島の分
Fujio Kojima
 
PPTX
機械学習入門
Fujio Kojima
 
PPTX
C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう
Fujio Kojima
 
PPTX
C# LINQ ~深く知って、使いまくろう~
Fujio Kojima
 
PPTX
「ふくいソフトウェアコンペティション 2014 大賞受賞者プレゼンテーション」
Fujio Kojima
 
ITエンジニア (Developer) 向けAIエージェント勉強会 (2025/06/13)
Fujio Kojima
 
Burikaigi 2023「C# Live Coding!」 小島の分
Fujio Kojima
 
2022.04.23 .NET 6 -7 時代のデスクトップ アプリケーション開発
Fujio Kojima
 
.NET 6 時代のデスクトップ アプリケーション開発
Fujio Kojima
 
BuriKaigi 2022 「C# Live Coding!」 小島の分
Fujio Kojima
 
C#勉強会 ~ C#9の新機能 ~
Fujio Kojima
 
.NET 5 勉強会 ~.NET Framework から .NET へ~
Fujio Kojima
 
.NETラボ 勉強会 2021年1月 「C#で機械学習」
Fujio Kojima
 
『議論パターン』 (Discussion Patterns) ~不毛な議論を避け、実り有る議論とするために~
Fujio Kojima
 
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
Fujio Kojima
 
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
Fujio Kojima
 
牛タン会議 2019 @ 仙台 「C# ドキドキ ライブ!!」 小島の分
Fujio Kojima
 
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
Fujio Kojima
 
機械学習 (AI/ML) 勉強会 #2 IoT編
Fujio Kojima
 
機械学習 (AI/ML) 勉強会 #1 基本編
Fujio Kojima
 
BuriKaigi2019 「C# ドキドキ・ライブコーディング」 小島の分
Fujio Kojima
 
機械学習入門
Fujio Kojima
 
C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう
Fujio Kojima
 
C# LINQ ~深く知って、使いまくろう~
Fujio Kojima
 
「ふくいソフトウェアコンペティション 2014 大賞受賞者プレゼンテーション」
Fujio Kojima
 
Ad

Recently uploaded (9)

PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
 
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
 
PPTX
色について.pptx .
iPride Co., Ltd.
 
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
 
PPTX
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
 
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
 
PPTX
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
 
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
 
色について.pptx .
iPride Co., Ltd.
 
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
 
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
 
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
 
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 

HTML5 on ASP.NET

  • 2.  小島富治雄 @Fujiwo  福井コンピュータ株式会社  Microsoft MVP C# (2005-2012)
  • 3. HTML5 に興味を持って いただく ASP.NET 開発環境で HTML5 を使う方法につ いて知っていただく
  • 4.  ASP.NET のトレンド  Visual Studio でHTML5 を書くには  HTML5 とは  HTML5 で追加されたタグ  HTML5 API  HTML5 on ASP.NET  Tips
  • 6. • HTML5 周辺 ◦ HTML 5 ◦ CSS 3 ◦ Web API • ECMAScript ◦ jQuery • REST • RIA
  • 7. • Web フォームvs. MVC • ASP.NET MVC 3 ◦ “Razor” ◦ HTML5 CSS3 対応プロジェクト テンプレート ◦ 最新jQuery 対応 ◦ NuGet ◦ Azure 対応
  • 9.  HTML5 CSS3 対応 プロジェクト テンプレート  最新jQuery 対応
  • 10. • ASP.NET MVC 3 Tools Update ◦ Visual Studio 2010 のテンプレート とツール
  • 11. • 準備 ◦ HTML5、CSS3対応  インテリセンス、文法チェック ◦ jQuery 用コードスニペット
  • 12. • HTML5、CSS3対応 インテリセンス、文法チェック ◦Web Standards Update for Microsoft Visual Studio 2010 SP1
  • 13. ◦ jQuery 用コードスニペット ◦ jQuery Cod Snippets for Visual Studio 2010 $(title).fadeOut(1000); $(title).fadeIn (1000);
  • 14. • HTML5、CSS3 に対応 • Expression Web 4 Service Pack 1 Available for Download - MSDN Blogs ◦ Microsoft Expression Web 4 Service Pack 1
  • 16.  HTML5を学ぶなら必ず見ておきたい WEBサイト35選  HTML5の可能性を体験できる、すご いサイトのまとめ  HTML5で作られた美しいサイト12 | Web活メモ帳
  • 17. 狭義のHTML 5 CSS 3 API ECMAScript
  • 18.  Open Web Technology Platform ◦オープンかつ標準  2011/5/25 最終草案 ◦ 使い始めて良い ◦2014 W3C勧告(予定)
  • 20.  HTML5 & CSS3 Support, Web Design Tools & Support - FindMeByIP - CSS3 & HTML5 Browser Support http://www.findmebyip.com/litmus/
  • 22. <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8> <title>タイトル</title> <link rel="stylesheet" href="style.css"> <script src="linq.js"></script> </head> <body> <!--ページ・コンテンツ--> </body> </html>
  • 23. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Language" content="ja" /> <title>タイトル</title> <link rel="stylesheet" href="style.css" type="text/css" /> <script type="text/javascript" src="linq.js"></script> </head> <body> <!--ページ・コンテンツ--> </body> </html>
  • 27. コントロール ◦<input> ◦<progress> ◦<meter> UI ◦<details> ◦<menu> ◦<command>
  • 28. • Ruby • MathML • SVG • WAI-AREA
  • 29. <ruby>瓊脂<rp> (</rp><rt>ところてん </rt><rp>)</rp></ruby>は<ruby>石花 菜<rp> (</rp><rt>てんぐさ </rt><rp>)</rp></ruby>から作られる。
  • 30. <figure> <img src="DSCF7297.JPG" width="240" height="180" alt="かんぱーい!" /> <figcaption>先週のイベントの様子 その1</figcaption> </figure>
  • 31.  <video src="v.mp4" controls></video>  <audio src="v.mp3" controls></audio> <video autoplay="autoplay" loop="loop“ width="480" height="272"> <source src="video.mp4" type="video/mp4"> <source src="video.webm" type="video/webm"> <p>動画を再生するには、videoタグをサポートしたブラウ ザが必要です。</p> </video>
  • 32.  検索: <input type="search">  電話番号: <input type="tel">  URL: <input type="url">  Email: <input type="email">  日付: <input type="date">  時刻: <input type="time">  数値: <input type="number">  範囲: <input type="range">  色: <input type="color">
  • 33.  テキスト(入力必須): <input type="text" required>  郵便番号: <input type="text“ pattern="¥d{3}¥-¥d{4}“ title="郵便番号:999-9999形式で入力してください。">
  • 34.  進捗: <progress value="50" max="100"></progress>  メーター: <meter value="50.0" min="0" max="100" ></meter>
  • 37. var canvas = document.querySelector('canvas'); var context = canvas.getContext('2d'); // 矩形描画 context.clearRect(0, 0, canvas.width, canvas.height); context.fillRect(50, 50, 200, 200); context.strokeRect(20, 20, 260, 260);
  • 38. var canvas = document.querySelector('canvas'); var context = canvas.getContext('2d'); // パス描画 context.beginPath(); context.moveTo(150, 30); context.lineTo( 30, 270); context.lineTo(270, 270); context.closePath(); context.fillStyle= "Yellow"; context.fill(); context.strokeStyle= "Red"; context.stroke();
  • 39. var canvas = document.querySelector('canvas'); var context = canvas.getContext('2d'); // 円描画 context.beginPath(); context.arc(150, 150, 50, 0, Math.PI * 2, true); context.fillStyle = "Magenta"; context.fill(); context.strokeStyle = "Blue"; context.stroke();
  • 40.  setTimeout() またはsetInterval() var flops = 60; window.setInterval( function() { context.clearRect(0, 0, canvas.width, canvas.height); // 描画 }, 1000 / flops);
  • 41. <svg width="540" height="200" viewBox="0 0 270 100" style="margin:-2em 0em -3em 0em"> <defs> <radialGradient id="radial" cx="50%" cy="50%" fx="25%" fy="25%"> <stop offset="0%" stop-color="#60bafc" /> <stop offset="50%" stop-color="#409adc" /> <stop offset="100%" stop-color="#005a9c" /> </radialGradient> <path id="curve" d="M18,60 C100,10 180,110 264,60" fill="none"/> </defs> <circle cx="138" cy="50" r="38" fill="url(#radial)" stroke="#005a9c" /> <text font-family="Verdana" font-size="20" fill="#ff9900"> <textPath xlink:href="#curve" method="stretch" style="visibility: visible;">Scalable <tspan fill="white">Vector</tspan> Graphics </textPath> </text> </svg>
  • 42. <math style="display:block"> <mi>t2</mi> <mo>=</mo> <mfrac> <mi>t1</mi> <msqrt><mrow> <mn>1</mn> <mo>-</mo> <mfrac> <msup> <mi>v</mi> <mn>2</mn> </msup> <msup> <mi>C</mi> <mn>2</mn> </msup> </mfrac> </mrow></msqrt> </mfrac> </math>
  • 44. function show(pos) { var location ="<span>"+"緯度:" + pos.coords.latitude + "</span>"; location += "<span>"+"経度:" + pos.coords.longitude + "</span>"; document.getElementById("location").innerHTML = location; } if (navigator.geolocation) { window.alert("本ブラウザでGeolocation が使えます。"); window.navigator.geolocation.getCurrentPosition(show); } else { window.alert("本ブラウザではGeolocation が使えません。"); }
  • 45. // localStorage への格納 var storage = localStorage; var value = "1" storage.setItem("A", value); // localStorage からの取得 var storage = localStorage; var value = storage.getItem("A");
  • 49.  JavaScript で直にサービスを呼び出す 1. 「AJAX 対応WCF サービス」を作成 2.ASPX 側にScriptManager を貼り、 サービスを指定 3. JavaScript でサービスをnew して サービス内のメソッドを呼び出す
  • 50. // MyService.svc - MyService.cs [ServiceContract(Namespace = "MyServices")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class MyService { [OperationContract] public object MyMethod() { return 何かのデータ; } }
  • 51. // MyPage.aspx <script> onload = function() { var service = new MyServices.MyService(); service.MyMethod(onSuccess, null, null); } function onSuccess(data) { // data を描画 } </script> <asp:ScriptManager ID="scriptManager" runat="server"> <services> <asp:servicereference Path="MyService.svc" /> </services> </asp:ScriptManager>
  • 53.  HTML5.JS ◦ [参考]HTML5.jsの中身を見てみよう <!--[if lt IE 9]> <script src= "http://html5shiv.googlecode.com/svn/trunk/html5.js" > </script> <![endif]--> article,aside,canvas,details,figcaption,figure, footer,header,hgroup,menu,nav,section,summary { display:block; }
  • 54. • JavaScriptで配列をLINQにより処 理できるライブラリ「linq.js」を利 用するには? • neue cc - linq.js LT資料料 var result = Enumerable.From(jsonArray) .Where("$.Count > 5") .OrderByDescending("$.Count") .ThenBy("$.Name") .Select("$.Name") .ToArray();
  • 55.  Internet Explorer の 「スクリプトのデバッグを使用しな い(Internet Explorer)」 のチェックを外す  Internet Explorer のみ  Visual Studio でデバッグ実行 ◦ ブレークポイントやトレース実行
  • 56. もうHTML5 で Visual Studio はHTML5 エディターとしても既にい ける