Какво представлява WebAssembly

Содержание

Слайд 2

Какво представлява WebAssembly

Виртуална машина за изпълнение на софтуер
Формат за изпълними файлове
Набор от

Какво представлява WebAssembly Виртуална машина за изпълнение на софтуер Формат за изпълними
инструменти за компилация, свързване, дебъгване и профилиране
Отворен уеб стандарт

Слайд 3

Какво НЕ е WebAssembly

WebAssembly не е стандартна библиотека
WebAssembly не изисква наличието на

Какво НЕ е WebAssembly WebAssembly не е стандартна библиотека WebAssembly не изисква
JavaScript интерпретатор и не заивиси от JavaScript по някакъв начин
WebAssembly не е обвързан по никакъв начин с конкретна хардуерна платформа
WebAssembly не е изцяло и само предназначен за изпълнение в браузър

Слайд 4

Подобни на WebAssembly виртуални машини

По предназначение WebAssembly наподобява JVM
Въпреки това поддържа операции

Подобни на WebAssembly виртуални машини По предназначение WebAssembly наподобява JVM Въпреки това
на по-ниско ниво от JVM
Има съществени разлики с JVM архитектурата
Всъщност WebAssembly се приближава повече до LLVM като архитектура
Даже можем с право да го наричаме LLVM за уеб

Слайд 5

Предимства на WebAssembly

Преносимост (може да се изпълнява на различни платформи)
Оптимизиран откъм размер

Предимства на WebAssembly Преносимост (може да се изпълнява на различни платформи) Оптимизиран
на изпълнимите файлове, както и откъм времето им на зареждане и изпълнение
Поддържа се във всички популярни уеб браузъри (с малко допълнителни настройки)
Поддържа вграждане в софтуер, който не е ориентиран към уеб

Слайд 6

WebAssembly е ефикасен

Стекова виртуална машина
Силно оптимизиран бинарен формат за изпълними файлове
Скорост на

WebAssembly е ефикасен Стекова виртуална машина Силно оптимизиран бинарен формат за изпълними
изпълнение, сходна с тази на native софтуера
Постига над 20-кратно ускорение спрямо JavaScript в бразуъра
Възползва се от възможностите на хардуера на хост машината
Поддръжка за SIMD инструкции (в бъдеще)

Слайд 7

WebAssembly е сигурен

Програмите се изпълняват в изолирана защитена среда (sandbox)
Достъпът до паметта

WebAssembly е сигурен Програмите се изпълняват в изолирана защитена среда (sandbox) Достъпът
е гарантирано безопасен
Няма NULL pointer изключения
Нвеъзможно е да се извърши buffer overflow атака
Следва се same-origin правилото
Следва се моделът за сигурност в уеб като цяло

Слайд 8

WebAssembly е отворен

Той включва само спецификация
Все пак има свободна имплементация по подразбиране
Консистентност

WebAssembly е отворен Той включва само спецификация Все пак има свободна имплементация
между различните браузъри
Дебъгването и тестването е улеснено от текстовия формат, който е human-readable и може да се достъпи чрез View Source командата в браузъра

Слайд 9

WebAssembly е част от уеб платформата

Отворен W3C стандарт
Имплементациите поддържат стандартните уеб интерфейси

WebAssembly е част от уеб платформата Отворен W3C стандарт Имплементациите поддържат стандартните
(т.е. браузърските обекти в Javascript)
Спецификацията няма конкретни версии, което отразява точно същността на уеб екосистемата
Изграден с идеята за обратна съвместимост

Слайд 10

Ресурси

Уебсайт: http://webassembly.org
GitHub: https://github.com/WebAssembly
Community Group на W3C: https://www.w3.org/community/webassembly/
Примерна имплементация: https://github.com/WebAssembly/spec

Ресурси Уебсайт: http://webassembly.org GitHub: https://github.com/WebAssembly Community Group на W3C: https://www.w3.org/community/webassembly/ Примерна имплементация: https://github.com/WebAssembly/spec