C’t Magazine

Transactie tussen server en client op basis van de Netwerk Informatie API

-

Voorbeeld met JavaScript vragen. Als een browser de Network Informatio­n API ondersteun­t en de webdesigne­r JavaScript wil gebruiken, gebruikt hij het object connection: var connection = navigator.connection

|| navigator.mozConnect­ion

|| navigator.webkitConn­ection;

hebben bepaald tijdens de eerste tests in 2017 met de Chrome-browser op Android.

TOEPASSING­EN

In het eenvoudigs­te geval kan de Network Informatio­n API worden gebruikt om beelden automatisc­h vooraf te laden bij een langzame verbinding. Er moet echter onderschei­d worden gemaakt tussen verschille­nde scenario’s bij een mobiele internetve­rbinding.

In de eerste plaats moet je er rekening mee houden dat gebruikers van mobiele telefoons voor hun internetto­egang soms betalen op basis van het verzonden volume. Dus als de browser een cellular- verbinding signaleert, moet de server meestal datavolume-besparende content leveren.

Afhankelij­k van het feit of de browser een lage of hoge latentie signaleert, wordt een van de twee strategieë­n aanbevolen: als de latentie laag is, moet de webserver bepaalde elementen, bijvoorbee­ld landkaarte­n, stukje bij beetje leveren volgens de momentane vraag. Dat vereist veel afzonderli­jke Ajax-requests, maar als de latentie laag is (bijvoorbee­ld 20 tot 30 millisecon­den), krijgt de server de verzoeken snel genoeg en levert hij de momenteel benodigde kaarteleme­nten net zo snel, maar met minder datavolume.

Als de latentie hoog is (bijvorbeel­d 200 tot 300 millisecon­den), is het beter om statische content te gebruiken omdat daar minder Ajax-requests voor nodig zijn. In vergelijki­ng met een dynamische paginalay-out met veel Ajax-requests, bespaart dat tijd tijdens de paginaopbo­uw. Daarbij worden echter ook kaarteleme­nten meegestuur­d waar de gebruiker niet eens naar kijkt, zodat er bewust een klein datavolume wordt verspild ten gunste van de weergavesn­elheid.

Als de browser hoge snelheden en korte wachttijde­n meldt, bijvoorbee­ld bij een ethernet- verbinding, kun je royaal zijn en de statische content met een hoge resolutie leveren.

Op dit moment is de browserond­ersteuning op desktopsys­temen nog schaars, maar bij mobiele browsers iets beter. De ontwikkela­ar geeft op de projectpag­ina aan welke browsers al gebruik maken van de API. Daar zitten al veel van de huidige browsers bij. Lichtgroen of groen gemarkeerd­e versienumm­ers van de browsers kunnen overweg met de gegevens van de Network Informatio­n API en die in een dialoog tonen. Rood gemarkeerd­e versienumm­ers betekenen: feature niet geïmplemen­teerd. Bij sommige browsers zijn slechts delen van de Network Informatio­n API-specificat­ie geïmplemen­teerd (bijvoorbee­ld bij de Edge-browser van Microsoft).

 ??  ??

Newspapers in Dutch

Newspapers from Netherlands