SlideShare une entreprise Scribd logo
1  sur  29
HTML5


   2010/6/17



    hagino3000
About me...
id

    hagino3000




(     : hagino_3000)
twitter




 Follow
blog (   )
github
• JavaScript
• Oracle
• Java, PL/SQL
• Excel
• Ext JS
• new → Python
• Java-ja
• Python ( / Hack-a-thon)
• Google
 • Hackathon
 • Google Dev Fest (Developers Day)
JavaScript
(   )
Chaos Proxy Viewer
Chaos Proxy
            LAN




http://wiki.github.com/yuiseki/chaos_proxy/for-
• js
•
(   )
JavaScript



    •   CSS3 Animation
    •   WebWorker
CSS3 Animatioin


•
•
CSS3 Animatioin
/*********** CSS **********/
div#hoge img {
  -webkit-animation-timing-function: ease-in;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-duration: 1s;
}
@-webkit-keyframes hide {
  0% { opacity : 1}                  // JavaScript ///////////////////////
  100% { opacity : 0 }               // fadeout
}                                    $(‘#target’).addClass(‘hide’);
.hide { -webkit-animation-name: hide; }
WebWorker

• XMLHttpRequest
•
• DOM
WebWorker
// main thread                            // worker thread
var loader = new Worker('loader.js');     onmessage = function(e) {
loader.onmessage = function(event) {        var data = JSON.parse(e.data);
  var d = JSON.parse(event.data);           if (data.eventName == 'setup') {
  if (d.eventName == 'setup') {                setup(data);
    loader.postMessage(JSON.stringify({     } else
      eventName:'start'                     if (data.eventName == 'start') {
    }));                                       start();
  } else                                    } else {
  if (d.eventName == 'load') {              ...
    renderImages(d.data);                   }
  }                                       }
};
loader.postMessage(JSON.stringify({       function setup(data) {
  eventName:'setup',                        ...
  interval : 5000                           postMessage(JSON.stringify({eventName:'setup'}));
}));                                      }
• WebSocket
WebSocket

• Server-Push
•
WebSocket
•
    • “¥0x00Hello World¥0xff”
• Flash

•         10message/
DOM
        User Input                             DOM Manipuration

                                     DOM Event
                     Main Thread

WebSocket       WebSocket
Connection      Connection

                                   messaging       messaging

                                   Worker           Worker


                                     XHR             XHR


WebSocket      WebSocket                   HTTP Server
 Server         Server
??
HTML5
2012   HTML5
HTML5 API
• Device API
• Web SQL Database API
HTML5を使ったウェブアプリケーションの高速化

Contenu connexe

Tendances

Working With Ajax Frameworks
Working With Ajax FrameworksWorking With Ajax Frameworks
Working With Ajax FrameworksJonathan Snook
 
消费导航项目小结
消费导航项目小结消费导航项目小结
消费导航项目小结anita520
 
Symfony2でMongoDBと仲良くする方法
Symfony2でMongoDBと仲良くする方法Symfony2でMongoDBと仲良くする方法
Symfony2でMongoDBと仲良くする方法Koji Iwazaki
 
Java script.trend(spec)
Java script.trend(spec)Java script.trend(spec)
Java script.trend(spec)dynamis
 
Progressive Mobile Web Apps
Progressive Mobile Web AppsProgressive Mobile Web Apps
Progressive Mobile Web Appsdynamis
 
Javascript4
Javascript4Javascript4
Javascript4mozks
 
ピグライフ と node.js
ピグライフ と node.jsピグライフ と node.js
ピグライフ と node.jsSuguru Namura
 
消费导航项目小结
消费导航项目小结消费导航项目小结
消费导航项目小结eric chen
 
Jquery Preparation
Jquery PreparationJquery Preparation
Jquery Preparationumesh patil
 
Node.js をさりげなく取り入れた 最近のフロントエンド事情について
Node.js をさりげなく取り入れた 最近のフロントエンド事情についてNode.js をさりげなく取り入れた 最近のフロントエンド事情について
Node.js をさりげなく取り入れた 最近のフロントエンド事情についてkamiyam .
 
Collection pipeline par Mathieu Godart
Collection pipeline par  Mathieu GodartCollection pipeline par  Mathieu Godart
Collection pipeline par Mathieu GodartCocoaHeads France
 
Сборка JavaScript-проектов с помощью Grunt
Сборка JavaScript-проектов с помощью GruntСборка JavaScript-проектов с помощью Grunt
Сборка JavaScript-проектов с помощью GruntFDConf
 
лабораторная работа 1 Исправленная
лабораторная работа 1 Исправленнаялабораторная работа 1 Исправленная
лабораторная работа 1 Исправленнаяsheplyakov
 
jQuery for designers
jQuery for designersjQuery for designers
jQuery for designersJohan Ronsse
 
Jquery Introduction Hebrew
Jquery Introduction HebrewJquery Introduction Hebrew
Jquery Introduction HebrewAlex Ivy
 
Introduction to Service Worker
Introduction to Service WorkerIntroduction to Service Worker
Introduction to Service WorkerShogo Sensui
 
aggregation and indexing with suitable example using MongoDB.
aggregation and indexing with suitable example using MongoDB.aggregation and indexing with suitable example using MongoDB.
aggregation and indexing with suitable example using MongoDB.bhavesh lande
 

Tendances (20)

Working With Ajax Frameworks
Working With Ajax FrameworksWorking With Ajax Frameworks
Working With Ajax Frameworks
 
消费导航项目小结
消费导航项目小结消费导航项目小结
消费导航项目小结
 
Symfony2でMongoDBと仲良くする方法
Symfony2でMongoDBと仲良くする方法Symfony2でMongoDBと仲良くする方法
Symfony2でMongoDBと仲良くする方法
 
Java script.trend(spec)
Java script.trend(spec)Java script.trend(spec)
Java script.trend(spec)
 
Progressive Mobile Web Apps
Progressive Mobile Web AppsProgressive Mobile Web Apps
Progressive Mobile Web Apps
 
Javascript4
Javascript4Javascript4
Javascript4
 
ピグライフ と node.js
ピグライフ と node.jsピグライフ と node.js
ピグライフ と node.js
 
消费导航项目小结
消费导航项目小结消费导航项目小结
消费导航项目小结
 
Jquery Preparation
Jquery PreparationJquery Preparation
Jquery Preparation
 
Node.js をさりげなく取り入れた 最近のフロントエンド事情について
Node.js をさりげなく取り入れた 最近のフロントエンド事情についてNode.js をさりげなく取り入れた 最近のフロントエンド事情について
Node.js をさりげなく取り入れた 最近のフロントエンド事情について
 
Load3
Load3Load3
Load3
 
Collection pipeline par Mathieu Godart
Collection pipeline par  Mathieu GodartCollection pipeline par  Mathieu Godart
Collection pipeline par Mathieu Godart
 
Сборка JavaScript-проектов с помощью Grunt
Сборка JavaScript-проектов с помощью GruntСборка JavaScript-проектов с помощью Grunt
Сборка JavaScript-проектов с помощью Grunt
 
Socket.io - Intro
Socket.io - IntroSocket.io - Intro
Socket.io - Intro
 
Web2.0 with jQuery
Web2.0 with jQueryWeb2.0 with jQuery
Web2.0 with jQuery
 
лабораторная работа 1 Исправленная
лабораторная работа 1 Исправленнаялабораторная работа 1 Исправленная
лабораторная работа 1 Исправленная
 
jQuery for designers
jQuery for designersjQuery for designers
jQuery for designers
 
Jquery Introduction Hebrew
Jquery Introduction HebrewJquery Introduction Hebrew
Jquery Introduction Hebrew
 
Introduction to Service Worker
Introduction to Service WorkerIntroduction to Service Worker
Introduction to Service Worker
 
aggregation and indexing with suitable example using MongoDB.
aggregation and indexing with suitable example using MongoDB.aggregation and indexing with suitable example using MongoDB.
aggregation and indexing with suitable example using MongoDB.
 

En vedette

Google App Engine で初めるServerSide JavaScript
Google App Engine で初めるServerSide JavaScriptGoogle App Engine で初めるServerSide JavaScript
Google App Engine で初めるServerSide JavaScripthagino 3000
 
Where does my money go チーム発表
Where does my money go チーム発表Where does my money go チーム発表
Where does my money go チーム発表hagino 3000
 
Secure Code for Interactive Programming
Secure Code for Interactive ProgrammingSecure Code for Interactive Programming
Secure Code for Interactive Programminghagino 3000
 
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様hagino 3000
 
はじめてのChaos Proxy Viewer
はじめてのChaos Proxy ViewerはじめてのChaos Proxy Viewer
はじめてのChaos Proxy Viewerhagino 3000
 
Cloud DatalabとBigQueryを使ったアドホックデータ解析
Cloud DatalabとBigQueryを使ったアドホックデータ解析Cloud DatalabとBigQueryを使ったアドホックデータ解析
Cloud DatalabとBigQueryを使ったアドホックデータ解析hagino 3000
 
(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方Shohei Hido
 
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知hagino 3000
 
[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析Koichi Hamada
 
スパース性に基づく機械学習 2章 データからの学習
スパース性に基づく機械学習 2章 データからの学習スパース性に基づく機械学習 2章 データからの学習
スパース性に基づく機械学習 2章 データからの学習hagino 3000
 
アドネットワークのデータ解析チームを支える技術
アドネットワークのデータ解析チームを支える技術アドネットワークのデータ解析チームを支える技術
アドネットワークのデータ解析チームを支える技術hagino 3000
 

En vedette (12)

Google App Engine で初めるServerSide JavaScript
Google App Engine で初めるServerSide JavaScriptGoogle App Engine で初めるServerSide JavaScript
Google App Engine で初めるServerSide JavaScript
 
Where does my money go チーム発表
Where does my money go チーム発表Where does my money go チーム発表
Where does my money go チーム発表
 
Secure Code for Interactive Programming
Secure Code for Interactive ProgrammingSecure Code for Interactive Programming
Secure Code for Interactive Programming
 
逃亡の勧め
逃亡の勧め逃亡の勧め
逃亡の勧め
 
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
ハイパフォーマンスブラウザネットワーキング 12章「HTTP 2.0」と現在の仕様
 
はじめてのChaos Proxy Viewer
はじめてのChaos Proxy ViewerはじめてのChaos Proxy Viewer
はじめてのChaos Proxy Viewer
 
Cloud DatalabとBigQueryを使ったアドホックデータ解析
Cloud DatalabとBigQueryを使ったアドホックデータ解析Cloud DatalabとBigQueryを使ったアドホックデータ解析
Cloud DatalabとBigQueryを使ったアドホックデータ解析
 
(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方(道具としての)データサイエンティストのつかい方
(道具としての)データサイエンティストのつかい方
 
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
 
[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析[R勉強会][データマイニング] R言語による時系列分析
[R勉強会][データマイニング] R言語による時系列分析
 
スパース性に基づく機械学習 2章 データからの学習
スパース性に基づく機械学習 2章 データからの学習スパース性に基づく機械学習 2章 データからの学習
スパース性に基づく機械学習 2章 データからの学習
 
アドネットワークのデータ解析チームを支える技術
アドネットワークのデータ解析チームを支える技術アドネットワークのデータ解析チームを支える技術
アドネットワークのデータ解析チームを支える技術
 

Plus de hagino 3000

Introduction of Leap Motion
Introduction of Leap MotionIntroduction of Leap Motion
Introduction of Leap Motionhagino 3000
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現hagino 3000
 
PRML ベイズロジスティック回帰
PRML ベイズロジスティック回帰PRML ベイズロジスティック回帰
PRML ベイズロジスティック回帰hagino 3000
 
ノンタッチUI時代とフロントエンドエンジニア (Using emotiv)
ノンタッチUI時代とフロントエンドエンジニア (Using emotiv)ノンタッチUI時代とフロントエンドエンジニア (Using emotiv)
ノンタッチUI時代とフロントエンドエンジニア (Using emotiv)hagino 3000
 
今日からはじめるKinect Hack
今日からはじめるKinect Hack今日からはじめるKinect Hack
今日からはじめるKinect Hackhagino 3000
 
Introduction of Kinect Hacks
Introduction of Kinect HacksIntroduction of Kinect Hacks
Introduction of Kinect Hackshagino 3000
 
JavaScriptとSalesforceとTwitterマーケティングな話をした時の資料
JavaScriptとSalesforceとTwitterマーケティングな話をした時の資料JavaScriptとSalesforceとTwitterマーケティングな話をした時の資料
JavaScriptとSalesforceとTwitterマーケティングな話をした時の資料hagino 3000
 

Plus de hagino 3000 (10)

iOS WebView App
iOS WebView AppiOS WebView App
iOS WebView App
 
Introduction of Leap Motion
Introduction of Leap MotionIntroduction of Leap Motion
Introduction of Leap Motion
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現
 
PRML ベイズロジスティック回帰
PRML ベイズロジスティック回帰PRML ベイズロジスティック回帰
PRML ベイズロジスティック回帰
 
ノンタッチUI時代とフロントエンドエンジニア (Using emotiv)
ノンタッチUI時代とフロントエンドエンジニア (Using emotiv)ノンタッチUI時代とフロントエンドエンジニア (Using emotiv)
ノンタッチUI時代とフロントエンドエンジニア (Using emotiv)
 
NUIとKinect
NUIとKinectNUIとKinect
NUIとKinect
 
今日からはじめるKinect Hack
今日からはじめるKinect Hack今日からはじめるKinect Hack
今日からはじめるKinect Hack
 
Introduction of Kinect Hacks
Introduction of Kinect HacksIntroduction of Kinect Hacks
Introduction of Kinect Hacks
 
JavaScriptとSalesforceとTwitterマーケティングな話をした時の資料
JavaScriptとSalesforceとTwitterマーケティングな話をした時の資料JavaScriptとSalesforceとTwitterマーケティングな話をした時の資料
JavaScriptとSalesforceとTwitterマーケティングな話をした時の資料
 
Extjs + Gears
Extjs + GearsExtjs + Gears
Extjs + Gears
 

HTML5を使ったウェブアプリケーションの高速化

  • 1. HTML5 2010/6/17 hagino3000
  • 3. id hagino3000 ( : hagino_3000)
  • 5. blog ( )
  • 7. • JavaScript • Oracle • Java, PL/SQL • Excel • Ext JS • new → Python
  • 8.
  • 9. • Java-ja • Python ( / Hack-a-thon) • Google • Hackathon • Google Dev Fest (Developers Day)
  • 11. ( )
  • 13. Chaos Proxy LAN http://wiki.github.com/yuiseki/chaos_proxy/for-
  • 15. ( )
  • 16. JavaScript • CSS3 Animation • WebWorker
  • 18. CSS3 Animatioin /*********** CSS **********/ div#hoge img { -webkit-animation-timing-function: ease-in; -webkit-animation-iteration-count: 1; -webkit-animation-duration: 1s; } @-webkit-keyframes hide { 0% { opacity : 1} // JavaScript /////////////////////// 100% { opacity : 0 } // fadeout } $(‘#target’).addClass(‘hide’); .hide { -webkit-animation-name: hide; }
  • 20. WebWorker // main thread // worker thread var loader = new Worker('loader.js'); onmessage = function(e) { loader.onmessage = function(event) { var data = JSON.parse(e.data); var d = JSON.parse(event.data); if (data.eventName == 'setup') { if (d.eventName == 'setup') { setup(data); loader.postMessage(JSON.stringify({ } else eventName:'start' if (data.eventName == 'start') { })); start(); } else } else { if (d.eventName == 'load') { ... renderImages(d.data); } } } }; loader.postMessage(JSON.stringify({ function setup(data) { eventName:'setup', ... interval : 5000 postMessage(JSON.stringify({eventName:'setup'})); })); }
  • 23. WebSocket • • “¥0x00Hello World¥0xff” • Flash • 10message/
  • 24. DOM User Input DOM Manipuration DOM Event Main Thread WebSocket WebSocket Connection Connection messaging messaging Worker Worker XHR XHR WebSocket WebSocket HTTP Server Server Server
  • 25. ??
  • 26. HTML5
  • 27. 2012 HTML5
  • 28. HTML5 API • Device API • Web SQL Database API

Notes de l'éditeur