SlideShare a Scribd company logo
Familiar	
 HTML5
                                     HTML5
HTML5	
 Conference	
 Miyazaki	
 2013
             	
        	
  @sada_h
               2013/02/10
html5j.org	
 /	
 HTML5                   	
 
sadah.github.com 	
 /	
  @sada_h 	
 /	
  techlog
Ruby	
 /	
 Rails	
 /	
 HTML5	
 /	
 JavaScript	
 /	
 Java
Kakaku.com,	
 Inc.	
 Engineer	
 2012/08
                                             	
 [        ]
                                      	
 [cena(            )]
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
HTML5
HTML5	
  W3C
Year Spec         Topic
1993 HTML	
 1.0   IEFT
1997 HTML	
 3.2   W3C
                  W3C
1997 HTML	
 4.0   W3C
1999 HTML	
 4.0.1 W3C
2000 XHTML	
 1.0 W3C
                 HTML	
 4.0.1 XML
HTML5	
  W3C
Year Spec        Topic
2001 XHTML	
 1.1 W3C      	
 
2007 HTML5       W3C               (WG        )
2009 XHTML	
 2.0 XHTML2	
 WG	
 
2011 HTML5       W3C	
 
2012 HTML5       W3C	
            	
 (2012/12/17)
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
HTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
HTML5


            	
 
HTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
HTML5
HTML5	
 Markup
HTML5


  Apple
  LAWSON
  UNITED	
 ARROWS	
 LTD.
  BEAMS
spec
  HTML5 	
 /	
  HTML	
 5.1
HTML5	
 Markup
html5shiv	
                       createElement	
 
   <!--[if lt IE 9]>
    <script src="dist/html5shiv.js"></script>
   <![endif]-->

   elements = "abbr article aside audio bdi canvas data datalist details figcaption figu
   re footer header hgroup mark meter nav output progress section summary time vi
   deo".split(" ");
   for(var i=0; i<elements.length; i++){
     document.createElement(elements[i]);
   }

  Sample:	
 HTML5	
 fall	
 back	
 Sample
JavaScript
Window/History/Location	
  HTML5
Thanks	
 myakura!
  5.2	
 The	
 Window	
 object	
 —	
 HTML5
  5.5.2	
 The	
 History	
 interface
  5.5.3	
 The	
 Location	
 interface
Selectors	
 API jQuery
  Selectors	
 API	
 Level	
 1
  jquery-1.8.2.js
WebStorage
WebStorage	
  	
 Google	
  	
 twitter	
 
  Twitter
  Google
  Web	
 Storage




           	
 IndexedDB	
 
           HTML5Rocks                      …
  IndexedDB                   TODO         	
 HTML5	
 Rocks
WebStorage

5MB
         	
 QUOTA_EXCEEDED_ERR	
 


localStorage.setItem("key","text");
text = localStorage.getItem("key");

sessionStorage.setItem("key",text);
text = sessionStorage.getItem("key");

Sample:	
 WebStorage	
 Sample
CSS3	
 Backgrounds,Borders
border-radius	
       	
 text-shadow	
 
             	
  cena                   	
 transform	
 /	
 transition	
 /
animation	
 
   CSS	
 Backgrounds	
 and	
 Borders	
 Module	
 Level	
 3
   CSS	
 Transforms 	
 /	
  CSS	
 Animations


   modern.IE
   BrowserStack
   Adobe®	
 BrowserLab
CSS3	
 Backgrounds,Borders
 border-radius: 10px 10px 10px 10px;
 box-shadow: 10px 10px 10px #aaa;
 text-shadow: 5px 5px 5px #aaa;

Sample:	
 CSS3	
 Backgrounds,	
 Borders
                 	
 CSS	
 Variables	
 


Sample:	
 CSS	
 Variables	
 Module	
 Level	
 1
MediaQueries
  World	
 Wide	
 Web	
 Consortium	
 (W3C)
                           Microsoft	
 Japan
  NTT
bookmarklet	
 
  Media	
 Queries
  Responsive	
 design	
 testing	
 tool	
 –	
 Viewport	
 Resizer	
 –
  Device	
 simulation	
 tool
  Responsive	
 Design	
 Testing
MediaQueries
     @media screen and (max-width: 479px) {
       .media-test { color: red; }
     }
     @media screen and (min-width: 480px) and (max-width: 1023px) {
       .media-test { color: blue; }
     }
     @media screen and (min-width: 1024px) {
       .media-test { color: green;}
     }

 Sample:	
 MediaQueries
                                                                      Web


PC
WebFonts
              DevTools
BEAMS
NTT
FONTPLUS


sadah.github.com
Google	
 Web	
 Fonts	
 Compare
WebFonts
/* using Google Web Fonts */
@font-face {
  font-family: 'Allerta Stencil';
  src: url(http://themes.googleusercontent.com/static/fonts/allertastencil/v4/Cd
SZfRtHbQrBohqmzSdDYKqcRvMv63bhrwdN_8Hu8N8.woff) format('woff');
}

.webfonts{
  font-family: 'Allerta Stencil', sans-serif;
}

Sample:	
 WebFonts
                                                Web	
 Fonts                  	
  IT
          	
 Extension	
 
Chrome	
 -	
 WhatFont
Chrome	
 -	
 Google	
 Font	
 Previewer	
 for	
 Chrome
Video
       …
YouTube	
 -	
 HTML5
              iBooks	
 Author	
 -	
  26 HTML5
-	
 YouTube
Canvas
Canvas	
  GoogleMaps
Thanks	
 komasshu	
 !



                  	
 /	
 Google	
 Maps
                           	
 -	
 WSJ
spec
  HTML	
 Canvas	
 2D	
 Context
Canvas
var ctx = $("#canvas-area")[0].getContext("2d");
// x, y, radius, startAngle, endAngle [, anticlockwise ] )
ctx.arc(200, 100, 50, 0, Math.PI*2, false);
ctx.stroke();

Sample:	
 Canvas
Canvas	
 +	
 WebFonts
   ctx.fillStyle = "navy";
   ctx.font = "72px 'Cabin Sketch', cursive";
   ctx.fillText("WebFonts", 200 , 50);

  Sample:	
 Canvas	
 +	
 WebFonts
Canvas WebFonts                                 	
 WebFonts

  1
WebFont	
 Loader	
 
  WebFont	
 Loader	
 -	
 Google	
 Web	
 Fonts
SVG


Thanks	
 Daniel,	
 wks,	
 myakura.
  Election	
 2010	
 -	
 The	
 Wall	
 Street	
 Journal	
 Online
  Raphaël—JavaScript	
 Library
  The	
 New	
 York	
 Times
SVG
  <svg width="800" height="300">
   <circle cx="150" cy="150" r="100" stroke="blue" fill="white" stroke-width="5"
  />
  </svg>

  <img src="image.svg">

  Sample:	
 SVG
  Sample:	
 SVG	
 +	
 WebFonts
Raphaël             …
  Raphaël	
 ·	
 Australia
  Raphaël	
 ·	
 Text	
 Rotation
FullScreenAPI

Mac         Window
       Flickr	
 -	
 Photo	
 Sharing!
FullScreenAPI
$("h1")[0].webkitRequestFullScreen()
$("h1")[0].mozRequestFullScreen()

                      Sample:	
 FullScreen	
 API
History	
 API
                                           	
 History	
 API(pjax)	
 
github flickr      facebook
  sadah	
 github
  IMG_6077	
 |	
 Flickr	
 -	
 Photo	
 Sharing!
  HTML5	
 Demo:	
 HTML5	
 History	
 API
File	
 API	
 &	
 Drag	
 and	
 Drop
Drag	
 and	
 Drop(&	
 File	
 API)	
 
         	
 -	
 Google+
File	
 API	
 &	
 Drag	
 and	
 Drop
 // jquery
 // var files = e.originalEvent.dataTransfer.files;
 var files = e.dataTransfer.files;
 var fileName = files[0].name;
 var fileSize = files[0].size;

 var reader = new FileReader();
 reader.onload = function() {
   var line = reader.result;
 }
 reader.readAsText(file[0], 'UTF-8');

Sample:	
 Drag	
 and	
 Drop
microdata
       	
 microdata
Barack	
 Obama
Home	
 -	
 schema.org
              	
 -	
 Google	
 
microdata	
                 	
 -	
              	
 
       	
                	
 -	
       	
 -	
          	
 
Google	
 Structured	
 Data	
 Testing	
 Tool
microdata
<div itemscope itemtype="http://data-vocabulary.org/Person">
 私の名前は<span itemprop="name">ひらい さだあき</span>ですが、
 みんなから「<span itemprop="nickname">さだ</span>」と呼ばれています。
 私のホームページは、
 <a href="http://sadah.github.com" itemprop="url">sadah.github.com</a> です
。
 鎌倉に住んでおり、<span itemprop="title">エンジニア</span>として
 <span itemprop="affiliation">カカクコム</span>に勤めています。
</div>

Sample:	
 microdata


microdata	
                  	
 -	
                   	
 
      	
                  	
 -	
       	
 -
Custom	
 Data	
 Attributes

Barack	
 Obama
3.2.3.9	
 Embedding	
 custom	
 non-visible	
 data	
 with	
 the
data-*	
 attributes
data	
 URL	
 Scheme


RFC	
 2397	
 -	
 The	
 "data"	
 URL	
 scheme
data	
 URL	
 Scheme
<img src="data:image/jpeg;base64,/9j/4AAQSkZJ ... "

var strDataURI = document.getElementById("canvas-area").toDataURL("image/pn
g");




Sample:	
 data	
 URL	
 Scheme
Sample:	
 data	
 URL	
 Scheme	
 +	
 Canvas


Sample:	
 Video	
 +	
 Canvas	
 +	
 data	
 URL	
 Scheme	
 +
FullScreen
Performance
Navigation	
 Timing
   Navigation	
 Timing
link	
 prefetch	
    	
 script	
 defer	
 async	
 
   4.12	
 Links	
 —	
 HTML5
   4.3	
 Scripting	
 —	
 HTML5
Performance
HTML5                    HTTP	
 2.0	
     	
 SPDY	
 
 draft-ietf-httpbis-http2-01	
 -	
 Hypertext	
 Transfer
 Protocol	
 version	
 2.0
 SPDY	
 -	
 The	
 Chromium	
 Projects
 draft-mbelshe-httpbis-spdy-00	
 -	
 SPDY	
 Protocol
Drag	
 and	
 Drop	
  	
 Canvas
HTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
HTML5	
 
HTML5
The	
 End
 Thank	
 you	
 so	
 mach.
   Familiar	
 HTML5
        @sada_h
http://bit.ly/h5m2013b2

More Related Content

What's hot (20)

HTML5
HTML5HTML5
HTML5
Hatem Mahmoud
 
Ie9 dev overview (300) beta
Ie9 dev overview (300) betaIe9 dev overview (300) beta
Ie9 dev overview (300) beta
Kirk Yamamoto
 
Google’s PRPL Web development pattern
Google’s PRPL Web development patternGoogle’s PRPL Web development pattern
Google’s PRPL Web development pattern
Jeongkyu Shin
 
New Elements & Features in HTML5
New Elements & Features in HTML5New Elements & Features in HTML5
New Elements & Features in HTML5
Jamshid Hashimi
 
HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)
Performics.Convonix
 
Startup eng-camp 3
Startup eng-camp 3Startup eng-camp 3
Startup eng-camp 3
Jollen Chen
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introduction
dynamis
 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
Nathan Smith
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
dynamis
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
Tilak Joshi
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPC
Mayflower GmbH
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)
Shumpei Shiraishi
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
philogb
 
HTML5 Video
HTML5 VideoHTML5 Video
HTML5 Video
Péter Nagy
 
Making HTML5 Work Everywhere
Making HTML5 Work EverywhereMaking HTML5 Work Everywhere
Making HTML5 Work Everywhere
Todd Anglin
 
HTML5 Tutorial
HTML5 TutorialHTML5 Tutorial
HTML5 Tutorial
Avinash Malhotra
 
Introduccion a HTML5
Introduccion a HTML5Introduccion a HTML5
Introduccion a HTML5
Pablo Garaizar
 
課程名稱:八屏一雲時代來臨 教你HTML5六小時打通(3)
課程名稱:八屏一雲時代來臨 教你HTML5六小時打通(3)課程名稱:八屏一雲時代來臨 教你HTML5六小時打通(3)
課程名稱:八屏一雲時代來臨 教你HTML5六小時打通(3)
Jollen Chen
 
NoSQL on microsoft azure april 2014
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014
Brian Benz
 
Html5 and-css3-overview
Html5 and-css3-overviewHtml5 and-css3-overview
Html5 and-css3-overview
Jacob Nelson
 
Ie9 dev overview (300) beta
Ie9 dev overview (300) betaIe9 dev overview (300) beta
Ie9 dev overview (300) beta
Kirk Yamamoto
 
Google’s PRPL Web development pattern
Google’s PRPL Web development patternGoogle’s PRPL Web development pattern
Google’s PRPL Web development pattern
Jeongkyu Shin
 
New Elements & Features in HTML5
New Elements & Features in HTML5New Elements & Features in HTML5
New Elements & Features in HTML5
Jamshid Hashimi
 
HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)HTML5 and Search Engine Optimization (SEO)
HTML5 and Search Engine Optimization (SEO)
Performics.Convonix
 
Startup eng-camp 3
Startup eng-camp 3Startup eng-camp 3
Startup eng-camp 3
Jollen Chen
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introduction
dynamis
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
dynamis
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
Tilak Joshi
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPC
Mayflower GmbH
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)
Shumpei Shiraishi
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
philogb
 
Making HTML5 Work Everywhere
Making HTML5 Work EverywhereMaking HTML5 Work Everywhere
Making HTML5 Work Everywhere
Todd Anglin
 
課程名稱:八屏一雲時代來臨 教你HTML5六小時打通(3)
課程名稱:八屏一雲時代來臨 教你HTML5六小時打通(3)課程名稱:八屏一雲時代來臨 教你HTML5六小時打通(3)
課程名稱:八屏一雲時代來臨 教你HTML5六小時打通(3)
Jollen Chen
 
NoSQL on microsoft azure april 2014
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014
Brian Benz
 
Html5 and-css3-overview
Html5 and-css3-overviewHtml5 and-css3-overview
Html5 and-css3-overview
Jacob Nelson
 

Similar to Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5 (20)

It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
Sadaaki HIRAI
 
HTML5 and Beyond
HTML5 and BeyondHTML5 and Beyond
HTML5 and Beyond
dynamis
 
Change by HTML5
Change by HTML5Change by HTML5
Change by HTML5
dynamis
 
HTML5: The Future of Web Development with IE9, IE10 and Windows 8
HTML5: The Future of Web Development with IE9, IE10 and Windows 8HTML5: The Future of Web Development with IE9, IE10 and Windows 8
HTML5: The Future of Web Development with IE9, IE10 and Windows 8
Shaymaa
 
HTML5 on Mobile(For Designer)
HTML5 on Mobile(For Designer)HTML5 on Mobile(For Designer)
HTML5 on Mobile(For Designer)
Adam Lu
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
Mahbubur Rahman
 
East of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTMLEast of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTML
Frédéric Harper
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview
Nagendra Um
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5
Doris Chen
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
Doris Chen
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
Lohith Goudagere Nagaraj
 
HTML5 어디까지 왔나?
HTML5 어디까지 왔나?HTML5 어디까지 왔나?
HTML5 어디까지 왔나?
정현 황
 
HTML5 and web platform
HTML5 and web platformHTML5 and web platform
HTML5 and web platform
dynamis
 
HTML5 & Friends
HTML5 & FriendsHTML5 & Friends
HTML5 & Friends
Remy Sharp
 
DV10 HTML5: The Future of Web Development
DV10 HTML5: The Future of Web Development DV10 HTML5: The Future of Web Development
DV10 HTML5: The Future of Web Development
Ronald Widha
 
Bringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePointBringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePoint
Chad Schroeder
 
HTML5 & Web Platform
HTML5 & Web PlatformHTML5 & Web Platform
HTML5 & Web Platform
SwapSkills
 
WHAT IS HTML5?(20100510)
WHAT IS HTML5?(20100510)WHAT IS HTML5?(20100510)
WHAT IS HTML5?(20100510)
Shumpei Shiraishi
 
about HTML5
about HTML5about HTML5
about HTML5
Masato KONDO
 
Front end for back end developers
Front end for back end developersFront end for back end developers
Front end for back end developers
Wojciech Bednarski
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
Sadaaki HIRAI
 
HTML5 and Beyond
HTML5 and BeyondHTML5 and Beyond
HTML5 and Beyond
dynamis
 
Change by HTML5
Change by HTML5Change by HTML5
Change by HTML5
dynamis
 
HTML5: The Future of Web Development with IE9, IE10 and Windows 8
HTML5: The Future of Web Development with IE9, IE10 and Windows 8HTML5: The Future of Web Development with IE9, IE10 and Windows 8
HTML5: The Future of Web Development with IE9, IE10 and Windows 8
Shaymaa
 
HTML5 on Mobile(For Designer)
HTML5 on Mobile(For Designer)HTML5 on Mobile(For Designer)
HTML5 on Mobile(For Designer)
Adam Lu
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
Mahbubur Rahman
 
East of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTMLEast of Toronto .NET Usergroup - Put the 5 in HTML
East of Toronto .NET Usergroup - Put the 5 in HTML
Frédéric Harper
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview
Nagendra Um
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5
Doris Chen
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
Doris Chen
 
HTML5 어디까지 왔나?
HTML5 어디까지 왔나?HTML5 어디까지 왔나?
HTML5 어디까지 왔나?
정현 황
 
HTML5 and web platform
HTML5 and web platformHTML5 and web platform
HTML5 and web platform
dynamis
 
HTML5 & Friends
HTML5 & FriendsHTML5 & Friends
HTML5 & Friends
Remy Sharp
 
DV10 HTML5: The Future of Web Development
DV10 HTML5: The Future of Web Development DV10 HTML5: The Future of Web Development
DV10 HTML5: The Future of Web Development
Ronald Widha
 
Bringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePointBringing HTML5 alive in SharePoint
Bringing HTML5 alive in SharePoint
Chad Schroeder
 
HTML5 & Web Platform
HTML5 & Web PlatformHTML5 & Web Platform
HTML5 & Web Platform
SwapSkills
 
Front end for back end developers
Front end for back end developersFront end for back end developers
Front end for back end developers
Wojciech Bednarski
 
Ad

More from Sadaaki HIRAI (7)

Prottを支えるチームと技術
Prottを支えるチームと技術Prottを支えるチームと技術
Prottを支えるチームと技術
Sadaaki HIRAI
 
Goodpatch Berlin Report
Goodpatch Berlin ReportGoodpatch Berlin Report
Goodpatch Berlin Report
Sadaaki HIRAI
 
Make the Prott Faster
Make the Prott FasterMake the Prott Faster
Make the Prott Faster
Sadaaki HIRAI
 
チームでつくるUIデザイン
チームでつくるUIデザインチームでつくるUIデザイン
チームでつくるUIデザイン
Sadaaki HIRAI
 
いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5
Sadaaki HIRAI
 
Java & HTML5 History
Java & HTML5 HistoryJava & HTML5 History
Java & HTML5 History
Sadaaki HIRAI
 
はじめてのEmmet with Sublime Text2
はじめてのEmmet with Sublime Text2はじめてのEmmet with Sublime Text2
はじめてのEmmet with Sublime Text2
Sadaaki HIRAI
 
Prottを支えるチームと技術
Prottを支えるチームと技術Prottを支えるチームと技術
Prottを支えるチームと技術
Sadaaki HIRAI
 
Goodpatch Berlin Report
Goodpatch Berlin ReportGoodpatch Berlin Report
Goodpatch Berlin Report
Sadaaki HIRAI
 
Make the Prott Faster
Make the Prott FasterMake the Prott Faster
Make the Prott Faster
Sadaaki HIRAI
 
チームでつくるUIデザイン
チームでつくるUIデザインチームでつくるUIデザイン
チームでつくるUIデザイン
Sadaaki HIRAI
 
いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5
Sadaaki HIRAI
 
Java & HTML5 History
Java & HTML5 HistoryJava & HTML5 History
Java & HTML5 History
Sadaaki HIRAI
 
はじめてのEmmet with Sublime Text2
はじめてのEmmet with Sublime Text2はじめてのEmmet with Sublime Text2
はじめてのEmmet with Sublime Text2
Sadaaki HIRAI
 
Ad

Recently uploaded (20)

GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
James Anderson
 
Cybersecurity Fundamentals: Apprentice - Palo Alto Certificate
Cybersecurity Fundamentals: Apprentice - Palo Alto CertificateCybersecurity Fundamentals: Apprentice - Palo Alto Certificate
Cybersecurity Fundamentals: Apprentice - Palo Alto Certificate
VICTOR MAESTRE RAMIREZ
 
Grannie’s Journey to Using Healthcare AI Experiences
Grannie’s Journey to Using Healthcare AI ExperiencesGrannie’s Journey to Using Healthcare AI Experiences
Grannie’s Journey to Using Healthcare AI Experiences
Lauren Parr
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
Introducing FME Realize: A New Era of Spatial Computing and AR
Introducing FME Realize: A New Era of Spatial Computing and ARIntroducing FME Realize: A New Era of Spatial Computing and AR
Introducing FME Realize: A New Era of Spatial Computing and AR
Safe Software
 
The case for on-premises AI
The case for on-premises AIThe case for on-premises AI
The case for on-premises AI
Principled Technologies
 
SDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhereSDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhere
Adtran
 
Measuring Microsoft 365 Copilot and Gen AI Success
Measuring Microsoft 365 Copilot and Gen AI SuccessMeasuring Microsoft 365 Copilot and Gen AI Success
Measuring Microsoft 365 Copilot and Gen AI Success
Nikki Chapple
 
Dev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API WorkflowsDev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API Workflows
UiPathCommunity
 
Fortinet Certified Associate in Cybersecurity
Fortinet Certified Associate in CybersecurityFortinet Certified Associate in Cybersecurity
Fortinet Certified Associate in Cybersecurity
VICTOR MAESTRE RAMIREZ
 
Agentic AI - The New Era of Intelligence
Agentic AI - The New Era of IntelligenceAgentic AI - The New Era of Intelligence
Agentic AI - The New Era of Intelligence
Muzammil Shah
 
Evaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical ContentEvaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical Content
Paul Groth
 
Offshore IT Support: Balancing In-House and Offshore Help Desk Technicians
Offshore IT Support: Balancing In-House and Offshore Help Desk TechniciansOffshore IT Support: Balancing In-House and Offshore Help Desk Technicians
Offshore IT Support: Balancing In-House and Offshore Help Desk Technicians
john823664
 
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptxECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
Jasper Oosterveld
 
Palo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity FoundationPalo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity Foundation
VICTOR MAESTRE RAMIREZ
 
Securiport - A Border Security Company
Securiport  -  A Border Security CompanySecuriport  -  A Border Security Company
Securiport - A Border Security Company
Securiport
 
Introducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRCIntroducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRC
Adtran
 
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Lorenzo Miniero
 
Contributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptxContributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptx
Patrick Lumumba
 
Microsoft Build 2025 takeaways in one presentation
Microsoft Build 2025 takeaways in one presentationMicrosoft Build 2025 takeaways in one presentation
Microsoft Build 2025 takeaways in one presentation
Digitalmara
 
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
James Anderson
 
Cybersecurity Fundamentals: Apprentice - Palo Alto Certificate
Cybersecurity Fundamentals: Apprentice - Palo Alto CertificateCybersecurity Fundamentals: Apprentice - Palo Alto Certificate
Cybersecurity Fundamentals: Apprentice - Palo Alto Certificate
VICTOR MAESTRE RAMIREZ
 
Grannie’s Journey to Using Healthcare AI Experiences
Grannie’s Journey to Using Healthcare AI ExperiencesGrannie’s Journey to Using Healthcare AI Experiences
Grannie’s Journey to Using Healthcare AI Experiences
Lauren Parr
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
Introducing FME Realize: A New Era of Spatial Computing and AR
Introducing FME Realize: A New Era of Spatial Computing and ARIntroducing FME Realize: A New Era of Spatial Computing and AR
Introducing FME Realize: A New Era of Spatial Computing and AR
Safe Software
 
SDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhereSDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhere
Adtran
 
Measuring Microsoft 365 Copilot and Gen AI Success
Measuring Microsoft 365 Copilot and Gen AI SuccessMeasuring Microsoft 365 Copilot and Gen AI Success
Measuring Microsoft 365 Copilot and Gen AI Success
Nikki Chapple
 
Dev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API WorkflowsDev Dives: System-to-system integration with UiPath API Workflows
Dev Dives: System-to-system integration with UiPath API Workflows
UiPathCommunity
 
Fortinet Certified Associate in Cybersecurity
Fortinet Certified Associate in CybersecurityFortinet Certified Associate in Cybersecurity
Fortinet Certified Associate in Cybersecurity
VICTOR MAESTRE RAMIREZ
 
Agentic AI - The New Era of Intelligence
Agentic AI - The New Era of IntelligenceAgentic AI - The New Era of Intelligence
Agentic AI - The New Era of Intelligence
Muzammil Shah
 
Evaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical ContentEvaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical Content
Paul Groth
 
Offshore IT Support: Balancing In-House and Offshore Help Desk Technicians
Offshore IT Support: Balancing In-House and Offshore Help Desk TechniciansOffshore IT Support: Balancing In-House and Offshore Help Desk Technicians
Offshore IT Support: Balancing In-House and Offshore Help Desk Technicians
john823664
 
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptxECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
ECS25 - The adventures of a Microsoft 365 Platform Owner - Website.pptx
Jasper Oosterveld
 
Palo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity FoundationPalo Alto Networks Cybersecurity Foundation
Palo Alto Networks Cybersecurity Foundation
VICTOR MAESTRE RAMIREZ
 
Securiport - A Border Security Company
Securiport  -  A Border Security CompanySecuriport  -  A Border Security Company
Securiport - A Border Security Company
Securiport
 
Introducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRCIntroducing the OSA 3200 SP and OSA 3250 ePRC
Introducing the OSA 3200 SP and OSA 3250 ePRC
Adtran
 
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Lorenzo Miniero
 
Contributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptxContributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptx
Patrick Lumumba
 
Microsoft Build 2025 takeaways in one presentation
Microsoft Build 2025 takeaways in one presentationMicrosoft Build 2025 takeaways in one presentation
Microsoft Build 2025 takeaways in one presentation
Digitalmara
 

Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5

  • 1. Familiar HTML5 HTML5 HTML5 Conference Miyazaki 2013 @sada_h 2013/02/10
  • 2. html5j.org / HTML5 sadah.github.com / @sada_h / techlog Ruby / Rails / HTML5 / JavaScript / Java Kakaku.com, Inc. Engineer 2012/08 [ ] [cena( )]
  • 6. HTML5 W3C Year Spec Topic 1993 HTML 1.0 IEFT 1997 HTML 3.2 W3C W3C 1997 HTML 4.0 W3C 1999 HTML 4.0.1 W3C 2000 XHTML 1.0 W3C HTML 4.0.1 XML
  • 7. HTML5 W3C Year Spec Topic 2001 XHTML 1.1 W3C 2007 HTML5 W3C (WG ) 2009 XHTML 2.0 XHTML2 WG 2011 HTML5 W3C 2012 HTML5 W3C (2012/12/17)
  • 10. HTML5
  • 13. HTML5 HTML5
  • 15. HTML5
  • 16. HTML5 Markup HTML5 Apple LAWSON UNITED ARROWS LTD. BEAMS spec HTML5 / HTML 5.1
  • 17. HTML5 Markup html5shiv createElement <!--[if lt IE 9]> <script src="dist/html5shiv.js"></script> <![endif]--> elements = "abbr article aside audio bdi canvas data datalist details figcaption figu re footer header hgroup mark meter nav output progress section summary time vi deo".split(" "); for(var i=0; i<elements.length; i++){ document.createElement(elements[i]); } Sample: HTML5 fall back Sample
  • 18. JavaScript Window/History/Location HTML5 Thanks myakura! 5.2 The Window object — HTML5 5.5.2 The History interface 5.5.3 The Location interface Selectors API jQuery Selectors API Level 1 jquery-1.8.2.js
  • 19. WebStorage WebStorage Google twitter Twitter Google Web Storage IndexedDB HTML5Rocks … IndexedDB TODO HTML5 Rocks
  • 20. WebStorage 5MB QUOTA_EXCEEDED_ERR localStorage.setItem("key","text"); text = localStorage.getItem("key"); sessionStorage.setItem("key",text); text = sessionStorage.getItem("key"); Sample: WebStorage Sample
  • 21. CSS3 Backgrounds,Borders border-radius text-shadow cena transform / transition / animation CSS Backgrounds and Borders Module Level 3 CSS Transforms / CSS Animations modern.IE BrowserStack Adobe® BrowserLab
  • 22. CSS3 Backgrounds,Borders border-radius: 10px 10px 10px 10px; box-shadow: 10px 10px 10px #aaa; text-shadow: 5px 5px 5px #aaa; Sample: CSS3 Backgrounds, Borders CSS Variables Sample: CSS Variables Module Level 1
  • 23. MediaQueries World Wide Web Consortium (W3C) Microsoft Japan NTT bookmarklet Media Queries Responsive design testing tool – Viewport Resizer – Device simulation tool Responsive Design Testing
  • 24. MediaQueries @media screen and (max-width: 479px) { .media-test { color: red; } } @media screen and (min-width: 480px) and (max-width: 1023px) { .media-test { color: blue; } } @media screen and (min-width: 1024px) { .media-test { color: green;} } Sample: MediaQueries Web PC
  • 25. WebFonts DevTools BEAMS NTT FONTPLUS sadah.github.com Google Web Fonts Compare
  • 26. WebFonts /* using Google Web Fonts */ @font-face { font-family: 'Allerta Stencil'; src: url(http://themes.googleusercontent.com/static/fonts/allertastencil/v4/Cd SZfRtHbQrBohqmzSdDYKqcRvMv63bhrwdN_8Hu8N8.woff) format('woff'); } .webfonts{ font-family: 'Allerta Stencil', sans-serif; } Sample: WebFonts Web Fonts IT Extension Chrome - WhatFont Chrome - Google Font Previewer for Chrome
  • 27. Video … YouTube - HTML5 iBooks Author - 26 HTML5 - YouTube
  • 28. Canvas Canvas GoogleMaps Thanks komasshu ! / Google Maps - WSJ spec HTML Canvas 2D Context
  • 29. Canvas var ctx = $("#canvas-area")[0].getContext("2d"); // x, y, radius, startAngle, endAngle [, anticlockwise ] ) ctx.arc(200, 100, 50, 0, Math.PI*2, false); ctx.stroke(); Sample: Canvas
  • 30. Canvas + WebFonts ctx.fillStyle = "navy"; ctx.font = "72px 'Cabin Sketch', cursive"; ctx.fillText("WebFonts", 200 , 50); Sample: Canvas + WebFonts Canvas WebFonts WebFonts 1 WebFont Loader WebFont Loader - Google Web Fonts
  • 31. SVG Thanks Daniel, wks, myakura. Election 2010 - The Wall Street Journal Online Raphaël—JavaScript Library The New York Times
  • 32. SVG <svg width="800" height="300"> <circle cx="150" cy="150" r="100" stroke="blue" fill="white" stroke-width="5" /> </svg> <img src="image.svg"> Sample: SVG Sample: SVG + WebFonts Raphaël … Raphaël · Australia Raphaël · Text Rotation
  • 33. FullScreenAPI Mac Window Flickr - Photo Sharing!
  • 35. History API History API(pjax) github flickr facebook sadah github IMG_6077 | Flickr - Photo Sharing! HTML5 Demo: HTML5 History API
  • 36. File API & Drag and Drop Drag and Drop(& File API) - Google+
  • 37. File API & Drag and Drop // jquery // var files = e.originalEvent.dataTransfer.files; var files = e.dataTransfer.files; var fileName = files[0].name; var fileSize = files[0].size; var reader = new FileReader(); reader.onload = function() { var line = reader.result; } reader.readAsText(file[0], 'UTF-8'); Sample: Drag and Drop
  • 38. microdata microdata Barack Obama Home - schema.org - Google microdata - - - Google Structured Data Testing Tool
  • 39. microdata <div itemscope itemtype="http://data-vocabulary.org/Person"> 私の名前は<span itemprop="name">ひらい さだあき</span>ですが、 みんなから「<span itemprop="nickname">さだ</span>」と呼ばれています。 私のホームページは、 <a href="http://sadah.github.com" itemprop="url">sadah.github.com</a> です 。 鎌倉に住んでおり、<span itemprop="title">エンジニア</span>として <span itemprop="affiliation">カカクコム</span>に勤めています。 </div> Sample: microdata microdata - - -
  • 40. Custom Data Attributes Barack Obama 3.2.3.9 Embedding custom non-visible data with the data-* attributes
  • 41. data URL Scheme RFC 2397 - The "data" URL scheme
  • 42. data URL Scheme <img src="data:image/jpeg;base64,/9j/4AAQSkZJ ... " var strDataURI = document.getElementById("canvas-area").toDataURL("image/pn g"); Sample: data URL Scheme Sample: data URL Scheme + Canvas Sample: Video + Canvas + data URL Scheme + FullScreen
  • 43. Performance Navigation Timing Navigation Timing link prefetch script defer async 4.12 Links — HTML5 4.3 Scripting — HTML5
  • 44. Performance HTML5 HTTP 2.0 SPDY draft-ietf-httpbis-http2-01 - Hypertext Transfer Protocol version 2.0 SPDY - The Chromium Projects draft-mbelshe-httpbis-spdy-00 - SPDY Protocol
  • 45. Drag and Drop Canvas
  • 46. HTML5
  • 50. The End Thank you so mach. Familiar HTML5 @sada_h http://bit.ly/h5m2013b2