Научная статья на тему 'WEBASSEMBLY: РЕВОЛЮЦИОННАЯ ТЕХНОЛОГИЯ ДЛЯ ВЕБА И НЕ ТОЛЬКО'

WEBASSEMBLY: РЕВОЛЮЦИОННАЯ ТЕХНОЛОГИЯ ДЛЯ ВЕБА И НЕ ТОЛЬКО Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
18
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
WebAssemdy / веб-разработки / развитие / технологии / WebAssemdly / web development / development / technology

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — А.С. Фоканова, А.П. Багаева

В статье рассматривается новейшая технология WebAssemdy, разработанная Консорциумом Всемирной паутины и ее преимущества.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

WEB ASSEMBLY: A REVOLUTIONARY TECHNOLOGY FOR THE WEB AND BEYOND

The article discusses the latest WebAssemdly technology developed by the World Wide Web Consortium and its advantages.

Текст научной работы на тему «WEBASSEMBLY: РЕВОЛЮЦИОННАЯ ТЕХНОЛОГИЯ ДЛЯ ВЕБА И НЕ ТОЛЬКО»

УДК 004.438

WEBASSEMBLY: РЕВОЛЮЦИОННАЯ ТЕХНОЛОГИЯ ДЛЯ ВЕБА

И НЕ ТОЛЬКО

А.С. Фоканова, А.П. Багаева

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: nastyafokanova@mail.ru

В статье рассматривается новейшая технология WebAssemdy, разработанная Консорциумом Всемирной паутиныи ее преимущества.

Ключевые слова: WebAssemdy, веб-разработки, развитие, технологии.

WEB ASSEMBLY: A REVOLUTIONARY TECHNOLOGY FOR THE WEB AND BEYOND

A.S. Fokanova, A.P. Bagaeva

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation E-mail: nastyafokanova@mail.ru

The article discusses the latest WebAssemdly technology developed by the World Wide Web Consortium and its advantages.

Key words: WebAssemdly, web development, development, technology.

Приложения, которые запускаются в браузере (а не с жесткого диска), становятся все более распространенными. Как и разработчики офисного программного обеспечения, такие как Microsoft (Microsoft 365) и Google (Документы и листы), которые постоянно добавляют новые функции в свои пакеты, браузерные игры становятся все более сложными и используют больше ресурсов. Во многих случаях эти веб-приложения написаны с использованием JavaScript. Однако в последнее время все большее число разработчиков обращаются к WebAssembly - новому подходу с блестящими результатами [1].

WebAssembly (Wasm) предоставляет веб-разработчикам новый способ предоставления приложений в режиме онлайн. Раньше единственным вариантом был JavaScript. Проблема в том, что JavaScript работает относительно медленно, и в определенных ситуациях производительность может быть затруднена. Таким образом, Консорциум Всемирной паутины (W3C) придумал новый метод - WebAssembly.И вместо того, чтобы пытаться заменить JavaScript, WebAssembly работает вместе с ним. Веб-сборка, также известная как Wasm, впервые появилась в 2017 году. Для того, чтобы Wasm функционировал, используемый браузер должен быть в состоянии обрабатывать язык. В процессе разработки участвовали Mozilla (Firefox), Microsoft (Edge), Apple (Safari) и Google (Chrome). Приложения для веб-сборки совместимы со всеми последними версиями браузеров этих разработчиков [3].

Чтобы испытать на себе мощь WebAssembly, попробуйте свои силы в фанковых картингах. Игра изначально была разработана как мобильное приложение, но была скомпилирована в веб-сборку, чтобы в нее можно было играть в браузере. Разработчик

Секция «Информационно-экономические системы»

написал интересное сообщение в блоге о проекте, в котором дал пошаговое описание того, как он прошел процесс компиляции.

Теоретически говоря, веб-сборка представлена в байт-коде. Вы можете рассматривать это как промежуточное звено между машинным кодом, который может быть понят только компьютером, и типичным языком программирования, который понимают люди, но только после его компиляции. Это то, что делает веб - сборку такой быстрой по сравнению с другими языками, компьютеры могут компилировать код практически без усилий. Действительно, запись в байт-коде несколько отличается. Преимущество Wasm в том, что вам не нужно самому работать с этим языком программирования. На практике разработчики пишут свои приложения, например, с помощью C или C++ [2].

Исходный текст затем компилируется с помощью приложения Emscripten. Этот инструмент существовал задолго до WebAssembly и использовался для компиляции кода C/C++ в JavaScript (или ams.js). Теперь его также можно использовать для преобразования кода в Wasm. Это означает, что код предварительно скомпилирован, так что его не нужно компилировать или интерпретировать при запуске программы. Когда пользователь открывает приложение в браузере, запускается небольшая виртуальная машина и запускает приложение [2].

В настоящее время у WebAssembly есть только один реальный недостаток: он недостаточно быстро схватывается. Веб - разработчики привыкли работать с JavaScript, и нет никаких планов по замене JavaScript. Руководители проектов очень четко заявили, что они хотят продвигать Wasm в качестве альтернативы JavaScript. Тем не менее, благодаря поддержке основных поставщиков браузеров и W3C, популярность веб-сборки растет. Этому также способствует тот факт, что посетителям веб - сайта на самом деле не нужно ничего делать самим, веб-приложения, использующие WebAssembly, загружаются так же легко, как код JavaScript, только быстрее [3].

Разработчики, которые уже знакомы с такими языками, как C, C++ или Rust, теперь могут писать программы непосредственно для Интернета. Этот выбор языка программирования также открывает больше возможностей для проектирования. Если вы не можете найти необходимые библиотеки JavaScript или фреймворки для своей программы, есть другие способы заставить ее работать. Вот некоторые из причин, по которым разработчикам следует внимательнее присмотреться к WebAssembly:

• W3C открытый веб-стандарт;

• высокая производительность и небольшие размеры файлов;

• идеально подходит для мобильного просмотра;

• даже программы виртуальной реальности теоретически могут запускаться в браузере;

• нет необходимости изучать новый язык программирования;

• C, C++ и Rust теперь можно использовать для программирования веб-приложений;

• поддерживается всеми основными производителями браузеров;

• никаких ограничений для пользователей [2].

Разработчикам на самом деле не нужно писать свои программы в WebAssembly. Одним из главных преимуществ решения является то, что программисты могут использовать любой язык, такой как C, а затем переводить свой код в формат Wasm. Тем не менее, имеет смысл узнать больше о скомпилированном коде, чтобы понять, как работает WebAssembly.

Исходный код доступен в двух версиях: Текстовый формат веб-сборки (WAT) и двоичный формат веб-сборки (Wasm). Последнее - это фактический код, который будет выполняться машиной. Поскольку Wasm в основном представляет собой двоичный код и его трудно понять, он более или менее непригоден для анализа человеком. Таким образом, была разработана подформа WAT. Этот тип кода использует читаемые выражения и может быть проверен программистом. Однако это не обеспечивает того же удобства программирования, что и более устоявшиеся языки программирования [3].

Что мы можем сказать в итоге? Wasm-это портативный, предварительно скомпилированный кросс-платформенный набор двоичных команд для виртуальной машины, которая запускается в браузере. Преимущества Wasm включают в себя: небольшой размер, небольшие накладные расходы, почти собственную скорость, а также проверку и безопасность на лету. Кроме того, он доступен для потоковой передачи и распараллеливания. Wasm - это возможность выполнять различные задачи быстрее. Многие показатели могут свидетельствовать об этом. Веб-сборка все еще совершенствуется. Больше языков будут поддерживать компиляцию в WebAssembly. Это особенно касается предложений по доступу к DOM и сбору мусора. Поэтому можно сказать, что Wasm - это будущее, которое ждет нас в веб-разработке. Ведь с его помощью почти каждый программист сможет писать приложения в режиме онлайн.

Библиографические ссылки

1. Что такое WebAssemby [Электронный ресурс]. URL: https://medium.com/javascript-scene/what-is-webassembly-the-dawn-of-a-new-era-61256ec5a8f6 (дата обращения: 11.03.2022).

2. Веб-сборка [Электронный ресурс].URL: https://www.tutorialspoint.com/webassembly/webassembly_quick_guide.htm (дата обращения: 11.03.2022).

3. Знакомство с WebAssemby [Электронный ресурс]. URL: https://habr.com/ru/post/342180/ (дата обращения: 11.03.2022).

© Фоканова А.С., Багаева А.П., 2022

i Надоели баннеры? Вы всегда можете отключить рекламу.