Amazing APIs

The Amazing WebAPIs

mapa mundial de observação de utilização do IPV4.

Agenda

  • Introdução
  • WebAPIs já conhecidas
  • Por que essas APIs?
mapa mundial de observação de utilização do IPV4.

O que é WebAPI?

APIs são Interfaces de Programação de uma Aplicação que possibilitam criarmos interações externas.

No caso da Web, são interfaces para interagirmos com o navegador e em JavaScript!

A mais famosa

Acredite, vocês já usaram APIs web, mesmo que achem que isso nunca aconteceu!

                    document.getElementById( 'raa' );
                

Tipos de APIs

  • Document Object Model (DOM)
  • Devices API
  • Communication APIs
  • Data management APIs
  • Privileged APIs
  • Certified APIs

Battery API

                  var b = navigator.battery,
                      level = Math.round(b.level * 100) + "%",
                      charging = (b.charging) ? "" : "not ",
                      chargeTime = parseInt(b.chargingTime / 60, 10),
                      dischargeTime = parseInt(b.dischargingTime/60,10);
                  b.addEventListener("levelchange", show);
                  b.addEventListener("chargingchange", show);
                  b.addEventListener("chargingtimechange", show);
                  b.addEventListener("dischargingtimechange", show);
                

You gotta catch them all!

Há uma lista na MDN com várias APIs disponíveis: https://developer.mozilla.org/en-US/docs/Web/API

Web Audio API

                    var context = new window.AudioContext();
                    var request = new XMLHttpRequest();
                    request.open("GET", audioFileUrl, true);
                    request.responseType = "arraybuffer";
                    request.onload = function() {
                        var audioData = request.response;
                        createSoundSource(audioData);
                    };
                    request.send();
                

Web Audio API + Audio tag

                    var audioElement = document.querySelector('audio');
                    var mediaSourceNode = 
                            context.createMediaElementSource(audioElement);                    
                    var filter = context.createBiquadFilter();
                    mediaSourceNode.connect(filter);
                    filter.connect(context.destination);
                

Gamepad API

                    window.addEventListener('gamepadconnected', function(e) {
                        e.gamepad; // => Ta tudo aqui!
                    });
                

getUserMedia

                    navigator.getUserMedia({ video: true, audio: false },
                        function(localMediaStream) {
                          var video = document.querySelector('video');
                          video.src = 
                              window.URL.createObjectURL(localMediaStream);
                          video.play();
                        },
                        function(err) { throw 'ferrou'; }
                    });
                

Outros Exemplos

Obrigado!

Red panda (Firefox)
  • Leonardo Balter
  • @leobalter
  • Slides: http://leobalter.github.com/mozilla-talks/apis.html
Foto de Yortw.