SlideShare una empresa de Scribd logo
1 de 75
성능관점에서 본 HTML5
      전용우
HTML5?
Performance
TOC

1. Animation
2. Storage
3. CSS Class
4. CORS
1. Animation




                          텍스트dddddd
               http://www.flickr.com/photos/rasputern/3462874340/
setInterval
this._key = setInterval(function(){
    if(this.start < this.end){
        this.start += 1;
        this.ele.style.left = this.start*10+"px";
    }else{
        clearInterval(this._key);
    }
},1000/60);
• 모든 브라우저 지원
• 비용이 많이 듬.
• UI Thread에서 다른 경우로 멈추는 경
 우가 발생.
CSS3
.move{
    left: 100px;
    -webkit-transition-property: left;
    -webkit-transition-duration: 1s;
    -webkit-transition-timing-function: ease;
}
• UI Thread에서 작동하지 않음.
• 랜더링 엔진을 이용하여 빠름.
• 일부(translate3d...)는 GPU사용.
• 조절하기기 힘듬.
requestAnimationFrame
webkitRequestAnimationFrame(function(){
    this.ele.style.left = this.start*10+"px";
    if(this.start < this.end){
        this.startNum += 1;
        webkitRequestAnimationFrame(
              arguments.callee.caller
        );
    }
});
• 안보일때 발생안함.
• 60fp(16.66ms)실행.
• 한번에 처리할 수 있음.
• 쉽게 마이그레이션이 가능.
Animation


• CSS3
• requestAnimationFrame
2. Storage




             텍스트dddddd
Cookie
document.cookie = "key=value";
• 서버에 전달되어 네트워크 성능이 나쁨.
• 작은 사이즈(4kb)
• IO성능이 나쁨.
localStorage
localStorage.add("key") = "value";
• 사용하기 쉬움.
• 사이즈가 큼.(5mb+)
• 대부분 지원.
• 클라이언트에만 있음.
• IO성능이 좋음.
Write (4kb)
1.5ms
              cookie             localStorage




1.0ms




 .5ms




 .0ms
        IE8            Safari5         Chrome13   Mobile Safari Android Browser
Write (4kb)
1.5ms


                                                          x146
              cookie             localStorage




1.0ms




 .5ms




 .0ms
        IE8            Safari5         Chrome13   Mobile Safari Android Browser
Read (4kb)
2.0ms
          cookie       localStorage


1.5ms




1.0ms




 .5ms




 .0ms
        IE8        Safari5     Chrome13   Mobile Safari Android Browser
Read (4kb)
2.0ms
          cookie       localStorage
                                                          x40
1.5ms




1.0ms




 .5ms




 .0ms
        IE8        Safari5     Chrome13   Mobile Safari Android Browser
동기적으로 실행.
webSQL/indexed DB
var request = indexedDB.open("todos");
var db;
request.onsuccess = function(e) {
    var v = "1.99";
    var setVrequest = db.setVersion(v);
    db = e.target.result;
    setVrequest.onsuccess = function(e) {
       if(db.objectStoreNames.contains("some")) {
         db.deleteObjectStore("some");
       }
       var store = db.createObjectStore("some",{keyPath: "id"});
    };
};

//////////////////////////////////////////////////////////////////

 var trans = db.transaction(["some"], IDBTransaction.READ_WRITE);
 var store = trans.objectStore("some");

 var data = {
    "id": new Date().getTime(),
    "text": "test"
 };

 var request = store.put(data);

 request.onsuccess = function(e) {
    console.log("success");
 };

 request.onerror = function(e) {
    console.log("Error Adding: ", e);
 };
• 비동기로 실행되어 문제 없음
• 사용법이 어려움.
• 호환성 문제.
Storage


• localStorage
• indexedDB
3. CSS Class




               텍스트dddddd
className
var className = ele.className;

if ((" "+className+" ").indexOf(" left ") == -1) {
    ele.className += "left";
}
• 삭제, 추가할 때 직접 스크립트로 파싱.
classList
ele.classList.add("left");
• low level에서 class을 다루기 때문에 성능
 이 좋음.

• 유지보수하기도 좋음.
className          classList


600,000ops/sec



450,000ops/sec
                                                     x3

300,000ops/sec



150,000ops/sec



      0ops/sec
                 Chrome20         FF14   Safari5     MSafari(iOS5)
CSS Class


• classList
4. Ajax (CORS)   Cross-origin resource sharing




                                                 텍스트dddddd
JSONP
<script src=”http://www.me2day.net/user.jsonp?id=mixed”/></script>
<script src=”http://www.me2day.net/user.jsonp?id=mixed”/></script>
<script src=”http://www.me2day.net/user.jsonp?id=mixed”/></script>




    <script src=”http://www.me2day.net/user.jsonp?id=mixed”>
        _callback({“name”:”전용우”});
    </script>
• 헤더를 설정할 수 없음.
• get방식만 가능.
• 응답 포맷은 JSON만 사용가능.
• 보안에 취약.
Flash
http://www.me2day.net/user.jsonp?id=mixed
http://www.me2day.net/user.jsonp?id=mixed
http://www.me2day.net/user.jsonp?id=mixed




         {“name”:”전용우”}
http://www.me2day.net/user.jsonp?id=mixed
http://www.me2day.net/user.jsonp?id=mixed




             <name>
                전용우
             </name>
• 헤더 설정 가능.
• 응답 포맷 결정가능.
• 느림.
• 일부 디바이스에서 작동하지 않음.
CORS(XMLHttpRequest2)
Client
var req = new XMLHttpRequest();

req.addEventListener("load", function(){
  console.log(req.responseText);
}, false);

req.open('GET', 'http://www.me2day.net/user.jsonp');
xhr.setRequestHeader("Content-Type",
               "application/x-www-form-urlencoded; charset=utf-8");
req.setRequestHeader('X-Test', 'one');

req.withCredentials = "true";

req.send("id=mixed");
Server
<?
     header("Access-Control-Allow-Origin: http://www.test.com");
     //경로 지정
     header("Access-Control-Allow-Headers: X-Test");
     //받고 싶은 헤더 설정
     header("Access-Control-Allow-Credentials: true");
     //쿠키 사용 설정
?>
{
"data" : "<?=$Name?>"
}
http://www.me2day.net/user.jsonp?id=mixed
http://www.me2day.net/user.jsonp?id=mixed
http://www.me2day.net/user.jsonp?id=mixed




         {“name”:”전용우”}
http://www.me2day.net/user.jsonp?id=mixed
http://www.me2day.net/user.jsonp?id=mixed




             <name>
                전용우
             </name>
•   모바일 서비스에서 사용하기 적합.

    •   iOS 4.2 ~

    •   android 2.1~

•   헤더 설정.

•   보안 해결.

•   성능 좋음.

•   다양한 응답 포맷지원.
CORS


• XMLHttpRequest2
정리

• Animation: CSS3, requestAnimationFrame
• Storage: localStorage, indexedDB
• CSS Class : classList
• CORS : XMLHttpRequest2
감사합니다.

Más contenido relacionado

La actualidad más candente

Pinpoint spring_camp 2015
Pinpoint spring_camp 2015Pinpoint spring_camp 2015
Pinpoint spring_camp 2015Woonduk-Kang
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정Arawn Park
 
Json view 예제 설명
Json view 예제 설명Json view 예제 설명
Json view 예제 설명Hyung Eun Jin
 
C# Game Server
C# Game ServerC# Game Server
C# Game Serverlactrious
 
진짜기초 Node.js
진짜기초 Node.js진짜기초 Node.js
진짜기초 Node.jsWoo Jin Kim
 
[오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC [오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC Ji-Woong Choi
 
REST API 설계
REST API 설계REST API 설계
REST API 설계Terry Cho
 
Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구ByungJoon Lee
 
Play node conference
Play node conferencePlay node conference
Play node conferenceJohn Kim
 
Naver 오픈api-마이그레이션가이드 20160913-리뷰
Naver 오픈api-마이그레이션가이드 20160913-리뷰Naver 오픈api-마이그레이션가이드 20160913-리뷰
Naver 오픈api-마이그레이션가이드 20160913-리뷰NAVER D2
 
overview of spring4
overview of spring4overview of spring4
overview of spring4Arawn Park
 
Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초Circulus
 
spring.io를 통해 배우는 spring 개발사례
spring.io를 통해 배우는 spring 개발사례spring.io를 통해 배우는 spring 개발사례
spring.io를 통해 배우는 spring 개발사례Daehwan Lee
 
파크히어 Realm 사용 사례
파크히어 Realm 사용 사례파크히어 Realm 사용 사례
파크히어 Realm 사용 사례선협 이
 
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기John Kim
 

La actualidad más candente (20)

Pinpoint spring_camp 2015
Pinpoint spring_camp 2015Pinpoint spring_camp 2015
Pinpoint spring_camp 2015
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정
 
Json view 예제 설명
Json view 예제 설명Json view 예제 설명
Json view 예제 설명
 
Restful API guide
Restful API guideRestful API guide
Restful API guide
 
C# Game Server
C# Game ServerC# Game Server
C# Game Server
 
진짜기초 Node.js
진짜기초 Node.js진짜기초 Node.js
진짜기초 Node.js
 
[오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC [오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
Spring boot actuator
Spring boot   actuatorSpring boot   actuator
Spring boot actuator
 
4-2. ajax
4-2. ajax4-2. ajax
4-2. ajax
 
Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구
 
Play node conference
Play node conferencePlay node conference
Play node conference
 
Naver 오픈api-마이그레이션가이드 20160913-리뷰
Naver 오픈api-마이그레이션가이드 20160913-리뷰Naver 오픈api-마이그레이션가이드 20160913-리뷰
Naver 오픈api-마이그레이션가이드 20160913-리뷰
 
overview of spring4
overview of spring4overview of spring4
overview of spring4
 
Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초
 
Node.js intro
Node.js introNode.js intro
Node.js intro
 
spring.io를 통해 배우는 spring 개발사례
spring.io를 통해 배우는 spring 개발사례spring.io를 통해 배우는 spring 개발사례
spring.io를 통해 배우는 spring 개발사례
 
Node.js 기본
Node.js 기본Node.js 기본
Node.js 기본
 
파크히어 Realm 사용 사례
파크히어 Realm 사용 사례파크히어 Realm 사용 사례
파크히어 Realm 사용 사례
 
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
 

Destacado

제2회 hello world 오픈세미나 collie html5-animationlibrary
제2회 hello world 오픈세미나 collie html5-animationlibrary제2회 hello world 오픈세미나 collie html5-animationlibrary
제2회 hello world 오픈세미나 collie html5-animationlibraryNAVER D2
 
제2회 hello world 오픈세미나 Web Audio API-가능성엿보기
제2회 hello world 오픈세미나 Web Audio API-가능성엿보기제2회 hello world 오픈세미나 Web Audio API-가능성엿보기
제2회 hello world 오픈세미나 Web Audio API-가능성엿보기NAVER D2
 
제2회 hello world 오픈세미나 hello world-raphael차트
제2회 hello world 오픈세미나 hello world-raphael차트제2회 hello world 오픈세미나 hello world-raphael차트
제2회 hello world 오픈세미나 hello world-raphael차트NAVER D2
 
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)Channy Yun
 
[Hello world 오픈세미나]소셜게임 a to z final
[Hello world 오픈세미나]소셜게임 a to z final[Hello world 오픈세미나]소셜게임 a to z final
[Hello world 오픈세미나]소셜게임 a to z finalNAVER D2
 
[Hello world 오픈세미나]공공정보와 네이버 오픈api
[Hello world 오픈세미나]공공정보와 네이버 오픈api[Hello world 오픈세미나]공공정보와 네이버 오픈api
[Hello world 오픈세미나]공공정보와 네이버 오픈apiNAVER D2
 
[Hello world 오픈세미나]거인을 이용해 뻔뻔(fun fun)하게 돈 벌기
[Hello world 오픈세미나]거인을 이용해 뻔뻔(fun fun)하게 돈 벌기[Hello world 오픈세미나]거인을 이용해 뻔뻔(fun fun)하게 돈 벌기
[Hello world 오픈세미나]거인을 이용해 뻔뻔(fun fun)하게 돈 벌기NAVER D2
 
[Hello world 오픈 세미나]ffmpeg android
[Hello world 오픈 세미나]ffmpeg android[Hello world 오픈 세미나]ffmpeg android
[Hello world 오픈 세미나]ffmpeg androidNAVER D2
 
[Hello world 오픈 세미나]oauth
[Hello world 오픈 세미나]oauth[Hello world 오픈 세미나]oauth
[Hello world 오픈 세미나]oauthNAVER D2
 
[Hello world 오픈세미나]실시간웹을위한comet과socket.io
[Hello world 오픈세미나]실시간웹을위한comet과socket.io[Hello world 오픈세미나]실시간웹을위한comet과socket.io
[Hello world 오픈세미나]실시간웹을위한comet과socket.ioNAVER D2
 

Destacado (10)

제2회 hello world 오픈세미나 collie html5-animationlibrary
제2회 hello world 오픈세미나 collie html5-animationlibrary제2회 hello world 오픈세미나 collie html5-animationlibrary
제2회 hello world 오픈세미나 collie html5-animationlibrary
 
제2회 hello world 오픈세미나 Web Audio API-가능성엿보기
제2회 hello world 오픈세미나 Web Audio API-가능성엿보기제2회 hello world 오픈세미나 Web Audio API-가능성엿보기
제2회 hello world 오픈세미나 Web Audio API-가능성엿보기
 
제2회 hello world 오픈세미나 hello world-raphael차트
제2회 hello world 오픈세미나 hello world-raphael차트제2회 hello world 오픈세미나 hello world-raphael차트
제2회 hello world 오픈세미나 hello world-raphael차트
 
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)
 
[Hello world 오픈세미나]소셜게임 a to z final
[Hello world 오픈세미나]소셜게임 a to z final[Hello world 오픈세미나]소셜게임 a to z final
[Hello world 오픈세미나]소셜게임 a to z final
 
[Hello world 오픈세미나]공공정보와 네이버 오픈api
[Hello world 오픈세미나]공공정보와 네이버 오픈api[Hello world 오픈세미나]공공정보와 네이버 오픈api
[Hello world 오픈세미나]공공정보와 네이버 오픈api
 
[Hello world 오픈세미나]거인을 이용해 뻔뻔(fun fun)하게 돈 벌기
[Hello world 오픈세미나]거인을 이용해 뻔뻔(fun fun)하게 돈 벌기[Hello world 오픈세미나]거인을 이용해 뻔뻔(fun fun)하게 돈 벌기
[Hello world 오픈세미나]거인을 이용해 뻔뻔(fun fun)하게 돈 벌기
 
[Hello world 오픈 세미나]ffmpeg android
[Hello world 오픈 세미나]ffmpeg android[Hello world 오픈 세미나]ffmpeg android
[Hello world 오픈 세미나]ffmpeg android
 
[Hello world 오픈 세미나]oauth
[Hello world 오픈 세미나]oauth[Hello world 오픈 세미나]oauth
[Hello world 오픈 세미나]oauth
 
[Hello world 오픈세미나]실시간웹을위한comet과socket.io
[Hello world 오픈세미나]실시간웹을위한comet과socket.io[Hello world 오픈세미나]실시간웹을위한comet과socket.io
[Hello world 오픈세미나]실시간웹을위한comet과socket.io
 

Similar a Html5 performance

Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나JeongHun Byeon
 
Node.js and react
Node.js and reactNode.js and react
Node.js and reactHyungKuIm
 
20131217 html5
20131217 html520131217 html5
20131217 html5DK Lee
 
5-4. html5 offline and storage
5-4. html5 offline and storage5-4. html5 offline and storage
5-4. html5 offline and storageJinKyoungHeo
 
Node.js 팀 스터디 발표자료.
Node.js 팀 스터디 발표자료.Node.js 팀 스터디 발표자료.
Node.js 팀 스터디 발표자료.SeungWoo Lee
 
세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안Lee Ji Eun
 
React native 개발 및 javascript 기본
React native 개발 및 javascript 기본React native 개발 및 javascript 기본
React native 개발 및 javascript 기본Tj .
 
vert.x 를 활용한 분산서버 개발하기
vert.x 를 활용한 분산서버 개발하기vert.x 를 활용한 분산서버 개발하기
vert.x 를 활용한 분산서버 개발하기John Kim
 
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)LanarkSeung
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web AnimationsChang W. Doh
 
Node.js
Node.jsNode.js
Node.jsymtech
 
처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4성일 한
 
Node.js의 도입과 활용
Node.js의 도입과 활용Node.js의 도입과 활용
Node.js의 도입과 활용Jin wook
 
Ji 개발 리뷰 (신림프로그래머)
Ji 개발 리뷰 (신림프로그래머)Ji 개발 리뷰 (신림프로그래머)
Ji 개발 리뷰 (신림프로그래머)beom kyun choi
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기현철 조
 

Similar a Html5 performance (20)

4-3. jquery
4-3. jquery4-3. jquery
4-3. jquery
 
Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나
 
What's new in IE11
What's new in IE11What's new in IE11
What's new in IE11
 
Node.js and react
Node.js and reactNode.js and react
Node.js and react
 
Node.js at OKJSP
Node.js at OKJSPNode.js at OKJSP
Node.js at OKJSP
 
20131217 html5
20131217 html520131217 html5
20131217 html5
 
Html5
Html5 Html5
Html5
 
5-4. html5 offline and storage
5-4. html5 offline and storage5-4. html5 offline and storage
5-4. html5 offline and storage
 
Node.js 첫걸음
Node.js 첫걸음Node.js 첫걸음
Node.js 첫걸음
 
Node.js 팀 스터디 발표자료.
Node.js 팀 스터디 발표자료.Node.js 팀 스터디 발표자료.
Node.js 팀 스터디 발표자료.
 
세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안
 
React native 개발 및 javascript 기본
React native 개발 및 javascript 기본React native 개발 및 javascript 기본
React native 개발 및 javascript 기본
 
vert.x 를 활용한 분산서버 개발하기
vert.x 를 활용한 분산서버 개발하기vert.x 를 활용한 분산서버 개발하기
vert.x 를 활용한 분산서버 개발하기
 
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations
 
Node.js
Node.jsNode.js
Node.js
 
처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4처음배우는 자바스크립트, 제이쿼리 #4
처음배우는 자바스크립트, 제이쿼리 #4
 
Node.js의 도입과 활용
Node.js의 도입과 활용Node.js의 도입과 활용
Node.js의 도입과 활용
 
Ji 개발 리뷰 (신림프로그래머)
Ji 개발 리뷰 (신림프로그래머)Ji 개발 리뷰 (신림프로그래머)
Ji 개발 리뷰 (신림프로그래머)
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
 

Más de yongwoo Jeon

EcmaScript6(2015) Overview
EcmaScript6(2015) OverviewEcmaScript6(2015) Overview
EcmaScript6(2015) Overviewyongwoo Jeon
 
Web Components 101 polymer & brick
Web Components 101 polymer & brickWeb Components 101 polymer & brick
Web Components 101 polymer & brickyongwoo Jeon
 
Html5 시대의 웹앱 프로그래밍 방식의 변화
Html5 시대의 웹앱 프로그래밍 방식의 변화Html5 시대의 웹앱 프로그래밍 방식의 변화
Html5 시대의 웹앱 프로그래밍 방식의 변화yongwoo Jeon
 
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지yongwoo Jeon
 
모바일 디버깅
모바일 디버깅모바일 디버깅
모바일 디버깅yongwoo Jeon
 
Client side storage in html5
Client side storage in html5Client side storage in html5
Client side storage in html5yongwoo Jeon
 

Más de yongwoo Jeon (15)

EcmaScript6(2015) Overview
EcmaScript6(2015) OverviewEcmaScript6(2015) Overview
EcmaScript6(2015) Overview
 
deview2014
deview2014deview2014
deview2014
 
Web notification
Web notificationWeb notification
Web notification
 
Web Components 101 polymer & brick
Web Components 101 polymer & brickWeb Components 101 polymer & brick
Web Components 101 polymer & brick
 
Html5 시대의 웹앱 프로그래밍 방식의 변화
Html5 시대의 웹앱 프로그래밍 방식의 변화Html5 시대의 웹앱 프로그래밍 방식의 변화
Html5 시대의 웹앱 프로그래밍 방식의 변화
 
asm.js
asm.jsasm.js
asm.js
 
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
Html5 앱과 웹사이트를 보다 빠르게 하는 50가지
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
 
모바일 디버깅
모바일 디버깅모바일 디버깅
모바일 디버깅
 
Web component
Web componentWeb component
Web component
 
Html5 use cases
Html5 use casesHtml5 use cases
Html5 use cases
 
Client side storage in html5
Client side storage in html5Client side storage in html5
Client side storage in html5
 
Devfest
DevfestDevfest
Devfest
 
Scriptable cache
Scriptable cacheScriptable cache
Scriptable cache
 
Whats jindo
Whats jindoWhats jindo
Whats jindo
 

Html5 performance

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n