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

PDF
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
 
PDF
Creators'night#13 tech#2今井
Daisuke Imai
 
PDF
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
Yutaro Miyazaki
 
PDF
React で CSS カプセル化の可能性を考える
Yutaro Miyazaki
 
PDF
Progressive Framework Vue.js 2.0
Toshiro Shimizu
 
PDF
Ma gician <wide version> @meguro.es 2019/10/10
Eucen Stew
 
PDF
AngularJSでの非同期処理の話
Yosuke Onoue
 
PDF
Start React with Browserify
Muyuu Fujita
 
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
 
Creators'night#13 tech#2今井
Daisuke Imai
 
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
Yutaro Miyazaki
 
React で CSS カプセル化の可能性を考える
Yutaro Miyazaki
 
Progressive Framework Vue.js 2.0
Toshiro Shimizu
 
Ma gician <wide version> @meguro.es 2019/10/10
Eucen Stew
 
AngularJSでの非同期処理の話
Yosuke Onoue
 
Start React with Browserify
Muyuu Fujita
 

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
 
Ad

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
AIエージェント勉強会~マイクロソフトの最新技術発表を受けて~ (2025/07)
Fujio Kojima
 
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
 
AIエージェント勉強会~マイクロソフトの最新技術発表を受けて~ (2025/07)
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
 

Recently uploaded (9)

PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 

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 エディターとしても既にい ける