Academy PRO: HTML5 API Introduction

24
HTML5 API binary-studio.com

Transcript of Academy PRO: HTML5 API Introduction

Page 1: Academy PRO: HTML5 API Introduction

HTML5 APIbinary-studio.com

Page 2: Academy PRO: HTML5 API Introduction

Plan1.Introduction. Web components

2.Storages and offline applications

3.Working with media

4.HTML5 Graphics

Page 3: Academy PRO: HTML5 API Introduction

WEB Componentssmall parts of something great

Page 4: Academy PRO: HTML5 API Introduction
Page 5: Academy PRO: HTML5 API Introduction

Web components1.Custom elements

2.Shadow DOM

3.Templating

4.HTML import

Page 6: Academy PRO: HTML5 API Introduction

Custom elementshttp://html5-demos.appspot.com/gangnam

Page 7: Academy PRO: HTML5 API Introduction

Creating custom elementsvar XFoo = document.registerElement('x-foo');document.body.appendChild(new XFoo());

var XFoo = document.registerElement('x-foo', { prototype: Object.create(HTMLElement.prototype)});

var MegaButton = document.registerElement('mega-button', { prototype: Object.create(HTMLButtonElement.prototype), extends: 'button'})

Page 8: Academy PRO: HTML5 API Introduction

Cool and easy… deprecated feature<element name="x-gangnam-style">

...

</element>

<element name="custom-button" extends="button">

...

</element>

Page 9: Academy PRO: HTML5 API Introduction

Templates<template>...</template>

Page 10: Academy PRO: HTML5 API Introduction

HTML import<link rel="import" href="/components/x-gangnam-style.html">

var link = document.querySelector('link[rel=import]'); var content = link.import.querySelector('#intro-dm'); document.body.appendChild(content.cloneNode(true));

Page 11: Academy PRO: HTML5 API Introduction

Shadow DOMhidden power

Page 12: Academy PRO: HTML5 API Introduction

What is shadow DOM?

Page 13: Academy PRO: HTML5 API Introduction

What is shadow DOM?

<video src="http://craftymind.com/factory/html5video/BigBuckBunny_640x360.mp4" controls></video>

Page 14: Academy PRO: HTML5 API Introduction

How to find it?

Page 15: Academy PRO: HTML5 API Introduction

Why do we need it?1.Encapsulation

2.Tempating

3.Stable DOM behaviour

Page 16: Academy PRO: HTML5 API Introduction

How does it work?

Shadow Host (Element)

Shadow root

Contents

Page 17: Academy PRO: HTML5 API Introduction

How does it work?

Page 18: Academy PRO: HTML5 API Introduction

How does it work?

Page 19: Academy PRO: HTML5 API Introduction

How does it work?

Page 20: Academy PRO: HTML5 API Introduction

Let’s play!http://codepen.io/anon/pen/ONJBoY

http://codepen.io/anon/pen/QNWZZb

http://codepen.io/anon/pen/MyWPNp

http://codepen.io/anon/pen/bpGQVE

http://codepen.io/jasonmayes/pen/HxEiv

http://html5-demos.appspot.com/shadowdom-visualizer

Page 21: Academy PRO: HTML5 API Introduction

Support

Page 22: Academy PRO: HTML5 API Introduction

Polymer

Page 23: Academy PRO: HTML5 API Introduction

UsageINSTEAD OF <element name="..."> USE <polymer-element name="...">

Page 24: Academy PRO: HTML5 API Introduction

Otherhttps://customelements.io/X-Tags от Mozilla