ΠΡΡΠΏΠ° ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ Π² ΠΡΠ°Ρ (ΠΠ²ΡΡΡΠΈΡ), ΠΏΠΎ-ΡΠ°Π½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Π° Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π°ΡΠ°ΠΊΠΈ , ΠΈ , ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½ΠΎΠ²Π° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π·Π° Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΠΎΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° CPU ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π·Π° Π±ΠΎΡΠ±Π° Ρ ΡΠΊΡΠΈΡΠ°ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
ΠΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π² Π±ΡΠ°ΡΠ·ΡΡΠ° Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ ΠΎΡ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ JavaScript ΠΊΠΎΠ΄. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΠΊΠ°ΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π·Π° ΠΊΠΎΡΠ²Π΅Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, Π½ΠΎ ΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π° Π·Π° ΡΠ΅Π»Π΅Π²ΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡΠΈ Ρ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΠΠ‘, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ Π±ΡΠ°ΡΠ·ΡΡ. ΠΠ΅ΡΠΎΠ΄ΡΡ Π΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π΄ΠΎΡΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠΈ Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΡΠ°ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΊΠ°ΡΠΎ Tor Browser. ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· MIT.
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ Π±ΡΠ°ΡΠ·ΡΡΠΈ, ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π² JavaScript ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π·Π°Π²ΠΈΡΠ΅ΡΠΈ ΠΎΡ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° JIT, CPU ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠΈΡΡΠΊ Ρ Π²ΡΠΈΡΠΊΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΎΡ JavaScript. ΠΠ°ΠΊΡΠΎ ΡΠ΅ ΠΎΠΊΠ°Π·Π°, Π±ΡΠΎΡΡ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ ΠΊΠΎΡΠ΅Π»ΠΈΡΠ° ΠΏΡΡΠΊΠΎ Ρ Π±ΡΠ°ΡΠ·ΡΡΠ½ΠΈΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ.
function getProperties(o) {
var result = [];
while (o !== null) {
result = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
return result;
}
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Firefox Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° 2247 ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ΅Π°Π»Π½ΠΈΡΡ Π±ΡΠΎΠΉ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π΅Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈΡΠ΅, Π΅ 15709 (Π² Tor Browser β 15639), Π·Π° Chrome Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ 2698 ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π° ΡΠ΅Π°Π»Π½ΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ 13570 (Π² Chrome Π·Π° Android β 13119). ΠΡΠΎΡΡ ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΡ Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
Π‘ΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠΈΠΏΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Kubuntu ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ window.innerWidth Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ Π½Π° 1000, Π° Π² Windows 10 β Π½Π° 1001. Π Windows Π΅ Π½Π°Π»ΠΈΡΠ½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ window.navigator.activeVRDisplays, Π΄ΠΎΠΊΠ°ΡΠΎ Π² Linux ΡΠΎ ΠΎΡΡΡΡΡΠ²Π°. ΠΠ° Android ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, Π½ΠΎ window.SharedWorker Π½Π΅ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½. ΠΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° WebGL, ΡΠΈΠ΅ΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° WEBGL_debug_renderer_infoextension ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠΈΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» OpenGL, ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π·Π° Π²ΡΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° CPU ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΊΠΎΠ΄, ΡΠΈΡΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°Π²ΠΈΡΠΈ ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ Π½Π°Π±ΠΎΡ, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° JIT (ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈ Π½Π° CPU ΡΠ΅ Π±ΡΠ΄Π°Ρ Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½ΠΈ ΠΈ Π² ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ»ΡΡΠ°ΠΈ JIT ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΊΠΎΠ΄ Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π° ΠΊΠΎΠ³Π°ΡΠΎ Π½Π΅). ΠΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠΈΠΏΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π° ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ, ΠΏΠΎ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ΄ΠΈ Π·Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ΡΠ΅ ΠΏΠ°ΠΌΠ΅Ρ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΡΠ΅ ΡΡΠ°Π²Π½ΡΠ²Π°Ρ Ρ Π΅ΡΠ°Π»ΠΎΠ½Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΈ Π·Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π°ΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΡΠΎΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ 40 ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΡΡΠ΅Π΄ΠΈ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΠΉΠΊΠΈ Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ Π±ΡΠ°ΡΠ·ΡΡΠΈ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π½Π° CPU, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΡΠ΅Π°Π»Π½ΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ ΠΈΠ»ΠΈ Π² Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°.
ΠΡΠ΄Π΅Π»Π½ΠΎ ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ ΠΈ Π΄ΠΎΡΠΈ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΠΊΡΠΈΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΡΠ°ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄. Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ ΡΡΠ°Π²Π°Ρ ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΠΎΠ±Π°Π²ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΡΡΠ΅Π· ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½ΠΈΡΡΠ° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π°ΡΠ° ΡΡΠ΅Π΄Π°, Π²Π½Π΅ΡΠ΅Π½ΠΈ ΠΎΡ Π΄ΠΎΠ±Π°Π²ΠΊΠΈΡΠ΅.
Π‘ΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΎΡΠΈ Π²Π·Π΅ΠΌΠ°Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° ΠΊΠΎΡΠ²Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ , ΡΠΏΠΈΡΡΠΊ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ MIME ΡΠΈΠΏΠΎΠ²Π΅, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π² Ρ Π΅Π΄ΡΡΠΈΡΠ΅ ( ΠΈ ), Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈΡΠ΅ , Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Web API, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠΈΡΠ΅ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°Π½Π΅ ΡΡΠ΅Π· WebGL ΠΈ , Ρ CSS, Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΈ .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
