Download pdf - Html5 - ready yet?(ukr)

Transcript
Page 1: Html5 - ready yet?(ukr)

Мацех Маркіян developer @ Eleks

Ready yet?

Page 2: Html5 - ready yet?(ukr)

ПЛАН ПРЕЗЕНТАЦІЇ

• Вступ

• Історія

• Детальніше про фічі

• Як і чому юзають html5

• Висновки

• Запитання + приклади

Page 3: Html5 - ready yet?(ukr)

ЩО ТАКЕ HTML5?

Wiki каже:

HTML5 is a language for structuring and presenting content for the World Wide Web

HTML5:

- давно очікуване вирішення проблем з клієнтським вебом

- адаптація до сучасних вимог вебу

- домовленість між «всіма» про краще життя

- зачіпає значно більше, ніж html

- документація написана не тільки для дизайнерів і девелоперів, а

й для розробників браузерів

«So this is the problem that HTML5 set out to solve: to provide a standardized API, implemented natively and consistently in multiple browsers, without having to rely on third-party plugins.»

Page 4: Html5 - ready yet?(ukr)

ІСТОРІЯ

SGML

HTML 2.0

XHTML 2.0

XHTML 1.0

HTML 4.01

HTML5

HTML 5

GML

GoodEvil

Tim Berners-Lee

WHATWG

W3C

Page 5: Html5 - ready yet?(ukr)

ЗМІНИ

Основні принципи при розробці HTML5:

1. Підтримувати те, що вже існує

2. Мостити натоптані дороги

3. Пріоритети:

• Користувачі

• Девелопери + дизайнери

• Реалізатори браузерів

• Розробники документації

• Здоровий глузд

Page 6: Html5 - ready yet?(ukr)

Зміни

Semantics

Offline & Storage

Device access

Connectivity

Multimedia

3D, Graphics, Effects

Performance & Integration

CSS3 Styling

Page 7: Html5 - ready yet?(ukr)

Semantics “Мєлачь, но пріятна”

Page 8: Html5 - ready yet?(ukr)

Semantics

<!Doctype html>

<div data-myattr=“yello!” />

<script src=“script.js”></script>

Forms 2.0

Microdata

слабші вимоги до синтаксису

html аналог стандартних дій js

враховані особливості середовища рендерингу

Page 9: Html5 - ready yet?(ukr)

CSS3

Page 10: Html5 - ready yet?(ukr)

Вбудований функціонал, який раніше досягався через javascript

Шрифти (тепер можна

користуватися власними!)

3D

(просто, як двері)Анімації

Змінні! Слабий супорт=(

CSS3

Page 11: Html5 - ready yet?(ukr)

CSS3

Page 12: Html5 - ready yet?(ukr)

Multimedia

Нарешті!

- Теги <audio> і <video> з очікуваним функціоналом

- Вбудований програвач

- API для управління потоком зі скриптів

- Працює у всіх сучасних браузерах (правда не без проблем з форматами)

jPlayer- зручна бібліотека для jQuery

Page 13: Html5 - ready yet?(ukr)

Graphics

Растрова графіка

Ніякої інформації про створені об’єкти з боку HTML

Вища продуктивність

Повний сапорт(з exCanvas для ІЕ)

Векторна графіка

Всі елементи записуються як XML-сутності

Нижча продуктивність

Старший, але менше сапорту

Can

vasS

vg

Page 14: Html5 - ready yet?(ukr)

GraphicsCanvas javascript API

var canvas = document.getElementById("canvas");var ctx = canvas.getContext("2d");

ctx.fillStyle = "red";

ctx.beginPath();ctx.moveTo(30, 30);ctx.lineTo(150, 150);ctx.bezierCurveTo(60, 70, 60, 70, 70, 150);ctx.lineTo(30, 30);ctx.fill();

OpenGL? - WebGL.

Page 15: Html5 - ready yet?(ukr)

function beginCall() {

navigator.getUserMedia(‘audio, video’, onGotStream);

}

function onGotStream(stream) {/*do some logic*/}

Audio/video Capture

Device Access

Page 16: Html5 - ready yet?(ukr)

Device AccessGeolocation!

Page 17: Html5 - ready yet?(ukr)

Device AccessGeolocation!

navigator.geolocation.getCurrentPosition(callback); // тут вискакує попапкаfunction callback(geoPos) {

var latitude = geoPos.coords.latitude;var longitude = geoPos.coords.longitudevar street = geoPos.address.street;// не на всіх браузерах

}

var watchID = navigator.geolocation.watchPosition(onUpdateLocation);navigator.geolocation.clearWatch(watchID)// закінчити стеження

Page 18: Html5 - ready yet?(ukr)

Mobile APIs ?Device Access

Page 19: Html5 - ready yet?(ukr)

Connectivity

Page 20: Html5 - ready yet?(ukr)

Connectivity

Він не справляється з поставленими задачами

Page 21: Html5 - ready yet?(ukr)

Connectivity

+

• Двосторонній зв’язок• Новий протокол• Невелика свобода на

транспортному рівні• Складнощі для сервера

• Односторонній зв’язок• Надбудова над Http• Налагодження транспортного

рівня• Простіша реалізація

Page 22: Html5 - ready yet?(ukr)

Offline & Storage

AppCache

LocalStorage

FileSystem API

indexedDB(+WebSQL)

Page 23: Html5 - ready yet?(ukr)

Performance & Integration

XmlHttpRequest2 Web Workers

Js optimization

Page 24: Html5 - ready yet?(ukr)

Все решта, або те, що не помістилося в попередні пункти

Multiple file upload

Drag and Drop

History API

Web Audio API

Page 25: Html5 - ready yet?(ukr)

***ШО?

Page 26: Html5 - ready yet?(ukr)

Як юзають html5 сьогодні?

Web Sockets

Media History API

Web storage

CORS Canvas

Facebook + + + +

Google + + +

Vkontakte + +

Yandex + + +

Page 27: Html5 - ready yet?(ukr)

Що можна юзати сьогодні?

Page 28: Html5 - ready yet?(ukr)

Чому потрібно знати html5?

Page 29: Html5 - ready yet?(ukr)

Чому потрібно знати html5?

Page 30: Html5 - ready yet?(ukr)

Чому потрібно знати html5?

Page 31: Html5 - ready yet?(ukr)

Чому потрібно знати html5?

Page 32: Html5 - ready yet?(ukr)

Висновки

Page 33: Html5 - ready yet?(ukr)

Висновки

Чим більше ВИ використовуєте html5тим швидше він буде готовий до споживання

Page 34: Html5 - ready yet?(ukr)

Висновки

Page 35: Html5 - ready yet?(ukr)

ЗАПИТАННЯ