SlideShare a Scribd company logo
1 of 57
 小島富治雄 
@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 周辺 
◦ HTML 5 
◦ CSS 3 
◦ Web API 
• ECMAScript 
◦ jQuery 
• REST 
• RIA
• Web フォームvs. MVC 
• ASP.NET MVC 3 
◦ “Razor” 
◦ HTML5 CSS3 対応プロジェクト 
テンプレート 
◦ 最新jQuery 対応 
◦ NuGet 
◦ Azure 対応
 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を学ぶなら必ず見ておきたい 
WEBサイト35選 
 HTML5の可能性を体験できる、すご 
いサイトのまとめ 
 HTML5で作られた美しいサイト12 | 
Web活メモ帳
狭義のHTML 5 CSS 3 
API 
ECMAScript
 Open Web Technology Platform 
◦オープンかつ標準 
 2011/5/25 最終草案 
◦ 使い始めて良い 
◦2014 W3C勧告(予定)
 HTML5 & CSS3 Support, Web 
Design Tools & Support - 
FindMeByIP - CSS3 & HTML5 
Browser Support 
http://www.findmebyip.com/litmus/
<!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>
セマンティクス 
◦<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>
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 をレンダリングする 
サーバーコントロールを 
作成して貼る
 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.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

html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
Shumpei Shiraishi
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto
 

What's hot (20)

Creators'night#12今井
Creators'night#12今井Creators'night#12今井
Creators'night#12今井
 
Vue.js 2.0を試してみた
Vue.js 2.0を試してみたVue.js 2.0を試してみた
Vue.js 2.0を試してみた
 
Brush up your Coding! 2013 winter
Brush up your Coding! 2013 winterBrush up your Coding! 2013 winter
Brush up your Coding! 2013 winter
 
プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話
 
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
html5j.orgがHTML5+JavaScriptで Metro Style アプリを作ってみた
 
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
マークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScriptマークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScript
 
Nodejs
NodejsNodejs
Nodejs
 
SVG MANIAX Ver.2 - Mars vanilla
SVG MANIAX Ver.2 -  Mars vanillaSVG MANIAX Ver.2 -  Mars vanilla
SVG MANIAX Ver.2 - Mars vanilla
 
Vue.js入門
Vue.js入門Vue.js入門
Vue.js入門
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
後期講座03
後期講座03後期講座03
後期講座03
 
Pjax1
Pjax1Pjax1
Pjax1
 
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~
 
チュートリアルではじめるVue.js
チュートリアルではじめるVue.jsチュートリアルではじめるVue.js
チュートリアルではじめるVue.js
 
はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.js
 
Vue.jsでさくっとMVVM
Vue.jsでさくっとMVVMVue.jsでさくっとMVVM
Vue.jsでさくっとMVVM
 
One night Vue.js
One night Vue.jsOne night Vue.js
One night Vue.js
 
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
 

Similar to HTML5 on ASP.NET

CSS Design and Programming
CSS Design and ProgrammingCSS Design and Programming
CSS Design and Programming
Taku AMANO
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
Hiroaki Wakamatsu
 
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19
Hideki Hashizume
 
勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発
Kazuki Nakajima
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
 

Similar to HTML5 on ASP.NET (20)

CSS Design and Programming
CSS Design and ProgrammingCSS Design and Programming
CSS Design and Programming
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
 
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
 
densan2014-late01
densan2014-late01densan2014-late01
densan2014-late01
 
Backbone.jsとSASSでモジュールをつくった話
Backbone.jsとSASSでモジュールをつくった話Backbone.jsとSASSでモジュールをつくった話
Backbone.jsとSASSでモジュールをつくった話
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
 
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
 
J query ready2.key
J query ready2.keyJ query ready2.key
J query ready2.key
 
WordBench Saitama vol.6
WordBench Saitama vol.6WordBench Saitama vol.6
WordBench Saitama vol.6
 
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19
 
Canvas勉強会
Canvas勉強会Canvas勉強会
Canvas勉強会
 
勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発勉強会force#2 HTML5によるモバイルアプリ開発
勉強会force#2 HTML5によるモバイルアプリ開発
 
jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作
 
Infrastructure as code for azure
Infrastructure as code for azureInfrastructure as code for azure
Infrastructure as code for azure
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
 

More from Fujio Kojima

.NET 5 勉強会 ~.NET Framework から .NET へ~
.NET 5 勉強会 ~.NET Framework から .NET へ~.NET 5 勉強会 ~.NET Framework から .NET へ~
.NET 5 勉強会 ~.NET Framework から .NET へ~
Fujio Kojima
 

More from Fujio Kojima (20)

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

Recently uploaded

Recently uploaded (11)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

HTML5 on ASP.NET

  • 1.
  • 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
  • 5.
  • 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 対応
  • 8.
  • 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
  • 15.
  • 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勧告(予定)
  • 19.
  • 20.  HTML5 & CSS3 Support, Web Design Tools & Support - FindMeByIP - CSS3 & HTML5 Browser Support http://www.findmebyip.com/litmus/
  • 21.
  • 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>
  • 24.
  • 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>
  • 43.
  • 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");
  • 46.
  • 47.
  • 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>
  • 52.
  • 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 エディターとしても既にい ける