воскресенье, 13 августа 2023 г.

WebAssembly - переносимое кроссплатформенное развёртывание кода

Данная заметка Дика Вейсингера (Dick Weisinger – на фото) была опубликована 17 июля 2023 года на блоге компании Formtek.

Эволюция работающей в центрах обработки данных инфраструктуры уже прошла путь от «чисто железных» серверов к виртуальным машинам, работающим на «чисто железных» серверах, а затем к выполняемым на виртуальных машинах контейнерам, таким как Docker, Следующим шагом эволюции является новая «единица развёртывания» под названием WebAssembly.

WebAssembly (Wasm, https://blog.container-solutions.com/wtf-is-webassembly ) - это переносимый двоичный формат, который содержит скомпилированный код, написанный на языках C++, Javascript и Rust. Идея аналогична переносимому развертыванию контейнеров, но в данном случае развертывание приложений ещё больше упрощается. Wasm похож на виртуальную машину Java JVM, и предоставляет безопасную среду выполнения, которая может работать на различном оборудовании и под различными операционными системами.

Первоначальная задача Wasm заключалась в том, чтобы встроить виртуальную машину в основные браузеры, такие как Chrome, Firefox и Edge, чтобы те могли запускать в своей среде высокопроизводительные игры, графику и другие приложения. Он обеспечивает скорость выполнения, близкую к скорости исполнения оригинального кода, что позволяет повысить производительности браузеров.

WebAssembly поставляется вместе с WASI (WebAssembly System Interface, https://wasmbyexample.dev/examples/wasi-introduction/wasi-introduction.all.en-us.html ) - системным интерфейсом WebAssembly. WASI предоставляет стандартные API-интерфейсы для доступа к системным ресурсам, таким как файловая система, сеть, время, случайные числа и многому другому. Эти возможности также позволяют использовать Wasm для создания высокопроизводительных серверных и мобильных приложений, поэтому его сфера применения не ограничивается только созданием браузерных приложений.

Автор технологии Кевин Хоффман (Kevin Hoffman) отмечает, что «характеристики, которые мы долгое время считали Святым Граалем вычислений - малый размер, переносимость, безопасность, производительность, - всё это мы получаем с помощью WebAssembly, и… весьма вероятно, что масштабы применения данного подхода вырастут настолько, что он будет присутствовать или находится рядом со всем тем, что мы будем делать в будущем как разработчики программного обеспечения» ( https://blog.container-solutions.com/wtf-is-webassembly ).

Дик Вейсингер (Dick Weisinger)

Источник: блог компании Formtek
https://formtek.com/blog/webassembly-portable-cross-platform-deployment/

Комментариев нет:

Отправить комментарий