algumas html5 api's para usar já!

26
HTML5 features para usar no futuro já! @w3cbrasil @w3cteam

Upload: yasodara-cordova

Post on 26-Jun-2015

4.764 views

Category:

Entertainment & Humor


2 download

DESCRIPTION

HTML5 hoje pode ser considerada a linguagem mais importante do core da World Wide Web. Desde 2004, quando essa versão foi proposta pelo WHATWG, os recursos e funcionalidades têm crescido exponencialmente, com o objetivo de levar a web a um novo patamar. A quantidade de ferramentas e recursos que visam tornar os desenvolvedores mais produtivos também cresceu muito. Esta palestra faz um apanhado das funcionalidades do HTML5, principalmente as APIs

TRANSCRIPT

Page 1: Algumas Html5 API's para usar já!

HTML5featuresparausarnofuturojá!

@w3cbrasil@w3cteam

Page 2: Algumas Html5 API's para usar já!

@yaso@vanessametonini

Page 3: Algumas Html5 API's para usar já!

W3C

Page 4: Algumas Html5 API's para usar já!

Hámuitotempoatrás...TimBLpropôsaWebem1989(há23anos)-URI+HTTP+HTML

Page 5: Algumas Html5 API's para usar já!

Hámuitotempoatrás...

http://www.w3.org/History/1989/proposal.html

01/10/1994noMIT,LaboratóriodeCiênciadaComputação

• aWebem1989-há24anos

• oW3Cem1994-há19anos

Page 6: Algumas Html5 API's para usar já!
Page 7: Algumas Html5 API's para usar já!

Apolêmicaveio.

Page 8: Algumas Html5 API's para usar já!

hojeHTML5Étambémumatecnologia,mastambémumasiglaquehojeabrangeumaextensaplataformadepadrõesparadarmaispoderaobrowser.

Page 9: Algumas Html5 API's para usar já!

WhatWG

ResponsávelpordesenvolverfeaturesResponsávelportestareproduzirDEMOS

ResponsávelpormanteroHTML5desde2004

http://www.whatwg.org/

Page 10: Algumas Html5 API's para usar já!

HTMLW3CWGResponsávelporpromoverouso

Responsávelpordesenvolvercomopadrãorecomendável

Responsávelpeladocumentação

http://dev.w3.org/html5/

Page 11: Algumas Html5 API's para usar já!

ReferênciasHTML5.1

HTMLWorkingGroup

GitHubW3Cdeliverables

WebPlatformList

HTMLDiff

WhatWG

HTML5VocabW3C

HTML5TestSupport

Page 12: Algumas Html5 API's para usar já!

OquesãoAPI'sAPI'sespecificamcomooscomponentesdeumsoftwaredeveminteragirentresi.

Page 13: Algumas Html5 API's para usar já!

Umadivisãopropostaprafacilitar...Comunicação/rede:comunicaçãoentrebrowsers,WebRTC,WebsocketAPI...Devices:statusdabateria,orientação,geolocation,TouchEvents...DOM:customelements,SelectorsAPI,shadowDOM...Media:WebAudioAPI,EME,MediacaptureAPI...AmbienteOS:contactsAPI,ClipboardAPIandEvents,WebAlarmsAPIspec...Segurança:WebCryptoAPI,WebCryptoKeydiscovery...Armazenamento:QuotamanagementAPI,WebStorage...Userinteraction:IndieUIevents,InputMethodsEditorAPI...

Maisde78especificaçõesatualmente.Vejamaisemw3.org

Page 14: Algumas Html5 API's para usar já!

API's*novinhas*Nome:Element.classList

Adicionarumaclasseàlistadeclassesdeumelemento;

removerumaclassedeumalistadeclassesdeumelemento;

alternaraexistênciadeumaclassenalistadeclassesdeumelemento;

verificarsealistadeclassesdeumelementocontémumaclasseespecífica;

varelementClasses=elementNodeReference.classList;

Exemplo(TiffanyB.Brown)

Page 15: Algumas Html5 API's para usar já!

API's*novinhas*Nome:Element.dataset(data-*)

varstring=element.dataset.camelCasedName;element.dataset.camelCasedName=string;

PermitecarregarcustomdataattributesemelementosHTML.

Exemplo.(RobertNyman)

Page 16: Algumas Html5 API's para usar já!

API's*novinhas*Nome:ContextMenuAPI

Permiteinteraçãocommenusdeoutrocontexto(desktop,browser,etc)contextmenu=menu_id

Exemplo.(PaulRoget-Mozilla)

*Firefox

Page 17: Algumas Html5 API's para usar já!

API's*dorolê*Nome:Geolocation

Permitequevocêtroqueinformaçõesrelacionadasàlocalizaçãocomoutrosrecursos.

functionget_location(){navigator.geolocation.getCurrentPosition(show_map);}

obs:nuncaenviardadosdegeolocalizaçãodeusuáriossemsuaexpressapermissão[1]

[1]http://www.w3.org/TR/geolocation-API/#security

Exemplo.(DGlobalTech)

Page 18: Algumas Html5 API's para usar já!

API's*dorolê*Nome:CalendarAPI

Utilizadaparaacessarserviçosdecalendáriodeusuários.https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/pimcalendarfunctionsuccess(events){//dosomethingwithresultinglistofobjectsfor(variinevents)alert(events[i].id);}functionerror(err){//dosomethingwithresultingerrorsalert(err.code);}//Performancalendarsearch.InitiallyfilterthelisttoCalendarrecordsstarting//beforeApril9,2011@5pm(UTC).navigator.calendar.findEvents(success,error,{filter:{startBefore:'2011-04-10T05:00:00+12:00'}});

Exemplo.(BlackBerry)

Page 19: Algumas Html5 API's para usar já!

API's*dorolê*Nome:ContactsAPI

OuPicContactsIntent[WebIntents=DeviceAPI'SWG+PublicAppsWG]

Permiteinteraçãocomferramentasdearmazenamentodecontatosdousuário.(pergunteantes!)

Atéagora,gmail,twittereOSAdressBook.

Page 20: Algumas Html5 API's para usar já!

API's*demídia*Nome:WebAudioAPI

PermiteprocessaresintetizaráudioemaplicaçõesWeb.https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html

Exemplo1.(GangnamStyle-Mozilla)

Exemplo2.(AlexGibson-GitHub)

Page 21: Algumas Html5 API's para usar já!

API's*demídia*Nome:WebMIDIAPI

Esta-fantásticaAPI-permitequeaplicaçõesseconectemcomdevicesdeproduçãoáudio,ouinputdousuárioparasimulação,entreoutrasbrincadeiras.

Exemplo.(MidiDrums-GitHub)

Page 22: Algumas Html5 API's para usar já!

API's*novinhas*

Nome:FullscreenAPI

Permiterealizarfullscreenemqualquerelemento.Muitoútilparadesenvolvimentodejogos.

Exemplo.(BananBread-Mozilla)

Page 23: Algumas Html5 API's para usar já!

API's*esquecidas*

Nome:TexttrackAPI

TexttrackoferecemétodosparamanipularlegendasnoHTML5paraelementosdeáudioevídeo<video><sourcesrc="http://video-js.zencoder.com/oceans-clip.mp4"type='video/mp4'/><trackkind="captions"src="http://example.com/path/to/captions.vtt"srclang="en"label="English"default></video>

Exemplo.(LongTailVideo)

Page 24: Algumas Html5 API's para usar já!

API's*dorolê*Nome:DragandDrop

Aespecificaçãodefineummecanismobaseadoemeventos,aAPIdoJavaScript,eumamarcaçãoadicionalparadeclararquequalquertipodeelementopossaserarrastadoemumapágina.Arrastaresoltaremumnavegadornativosignificaaplicativosdawebmaisrápidosemaisresponsivos.

**ObjetoDataTransfer:ApropriedadedataTransferéoverdadeirosegredodomovimentoarrastar-e-soltar.Eladetémosdadosenviadosemumaaçãodesoltar.dataTransferédefinidanoeventodragstartelida/manipuladanoeventodrop.

Achamadadee.dataTransfer.setData(format,data)definiráoconteúdodoobjetoparaomimetypeeacargadedadostransmitidacomoargumentos.

Exemplo.(HTML5demos)

Page 25: Algumas Html5 API's para usar já!

API's*dorolê*

Estaespecificaçãopermiteacessoàcâmeraemdevicesvariados.

navigator.getUserMedia();

Exemplo:DavidWalsh

Page 26: Algumas Html5 API's para usar já!

API's*novinhas*

Nome:BatteryAPI

ÉumaAPIqueconcentraesforçosemaplicaçõesmobileparaproveracessoàinformaçõessobreníveldabateriaestatus.

window.navigator.battery

Exemplo.(DavidWalsh)