Monthly Archives June 2014

SVG

Scalable Vector Graphics exista de multa vreme in Opera, Firefox, Safari si Chrome, insa de abia cand Internet Explorer 9 a inceput sa il suporte, acest API este pregatit pentru utilizare pe scara larga, moment in care a fost eclipsat de elementul canvas din HTML5 – desi sunt instrumente diferite pentru destinatii diferite.

Elementul canvas 2D este nemaipomenit pentru a desenea rapid grafica pe ecran. Insa tot ce puteti sa faceti este sa desenati; nu exista o “amintire” a ce este acolo sau a ceea ce se afla “deasupra” cui; daca aveti nevoie de tipul acesta de contabilitate, trebuie sa o faceti singuri in JavaScript. Deoarece nu este stocat in memorie un DOM, API-ul este rapid, asa ca este adecvat pentru jocuri de tip FPS.

In schimb, SVG este grozav atunci cand trebuie sa stocati un DOM...

Vezi

WebGL

WebGL este acronimul de la Web-based Graphics Library si este un proiect gestionat de catre grupul non-profit Khronos. Este folosit in combinatie cu elementul canvas din HTML5 pentru a produce grafica 3D.

WebGL este greu de invatat, deoarece este un API de nivel inferior(ruleaza pe unitati de procesare grafica) si este de fapt o varianta de JavaScript a OpenGL, un set consacrat de API-uri pe care le folosesc dezvoltatorii de jocuri. Audienta tinta principala este reprezentata de dezvoltatorii existenti de jocuri, care folosesc OpenGL de foarte mult timp, ca sa poata scrie jocuri pentru platforma web...

Vezi

Noi API-uri web pentru dispozitive

O parte din munca noastra la Mozilla este reprezentata de faptul ca vrem sa facem webul sa devina o platforma, iar un factor cheie este sa avem API-urile care sa faca posibil acest lucru. Initiativa WebAPI are in vedere crearea prototipurilor, testarea si standardizarea acestora. Speranta este, in special in zona mobila, de a face posibil orice din web. In zona de telefoane, am vrut sa prezint cateva dintre aceste noi API-uri pentru a va starni interesul si a va arata cam ce devine posibil cu ajutorul lor.

WebTelephony API

//telephony object

var tel=navigator.mozTelephony;

//check if phone is muted(read/write property)

console.log(tel.muted);

//check if the speaker is enabled(read/write property)

console.log(tel.speakerEnabled);

//place a call

var call=tel.dial(“123456789”);

//events for ...

Vezi

WebSockets

Un lucru bun in legatura cu Ajax era posibilitatea de a face modificari din mers, insa dezavantajul era ca nu puteati sa transmiteti dupa dorinta informatia pornind de la server. Cu ajutorul WebSockets obtinem comunicare bidirectionala reala: putem atat sa trimitem, cat si sa primim date.

//create a new Web Socket. Note the use of the ws:// protocol

var ws=new WebSocket(“ws://robertnyman.com/wsmagic”);

//send data

ws.send(“Some data”);

//when the connection is opened

ws.onopen=function() {

console.log(“Conection Opened!”);

};

//when you receive a message pushed from the server

ws.onmessage=function(evt) {

console.log(evt.data);

};

//close the connection

ws.close();

//whe you close the conection

ws.onclose=function() {

console.log(“connection closed”):

};

Vezi

API-ul History

Atunci cand a aparut Ajax, am vazut o explozie a numarului de pagini web care ofereau actualizari dinamice ale unor anumite zone din pagina. Toate bune si frumoase, insa dupa ce utilizatorii dadeau click o vreme, faceau greseala de a folosi butonul Back in browser sau de a reincarca pagina – toate modificarile erau pierdute.

Din fericire, aceasta problema a fost rezolvata si, prin intermediul API-ului History, putem acum sa salvam anumite stari in istoricul browserului si in URL-ul care este afisat. Metoda pushState a obiectului history accepta trei parametri: un obiect stare, un titlu si un URL

var state={

name:”Robert”

},

title=”My Blog”,

url=”http://robertnyman.com“;

window.history.pushState(state,title,url);

Vezi