За последние пару лет было много дискуссий о WebAssembly. Я просмотрел Веб-сайт WebAssembly и некоторые другие посты, чтобы понять, что это такое.

так что давайте добавим еще одну заметку в вашу полку знаний по моему пути что, почему и как.

Какие?

Об этом написано на сайте WebAssembly.

WebAssembly (сокращенно Wasm) — это двоичный формат инструкций для виртуальной машины на основе стека. Wasm разработан как переносимая цель для компиляции языков высокого уровня, таких как C/C++/Rust, что позволяет развертывать в Интернете клиентские и серверные приложения.

Проще говоря, «Вы можете запускать язык программирования, отличный от Javascript, в браузере, используя WebAssembly с большей скоростью и оптимизацией», довольно просто, не так ли?

Как?

Теперь, если мы поговорим о том, как это работает? мой способ понять это сначала практически, чем теоретически.

Обратитесь к документации WebAssembly для получения более подробной информации для разных ОС.

$ git clone https://github.com/juj/emsdk.git
$ cd emsdk
$ ./emsdk install latest
$ ./emsdk activate latest
$ source ./emsdk_env.sh

Это кажется довольно простым шагом, не так ли?

Наша среда готова, теперь нужно написать простую программу «Hello, World!» в С.

$ mkdir hello
$ cd hello
$ cat << EOF > hello.c
#include <stdio.h>
int main(int argc, char ** argv) {
  printf("Hello, world!\n");
}
EOF
$ emcc hello.c -o hello.html

Чтобы передать этот файл HTML через HTTP, используйте следующую команду.

emrun --no_browser --port 8080 . 

Теперь вы верите, что это работает, и вы можете это сделать.

давайте попробуем понять больше, как это работает под капотом.

Emscripten SDK использует LLVM на бэкэнде, что помогает разрабатывать интерфейс для любого языка программирования. и emcc, binaryen компилируется в файл javascript с высокой оптимизацией, хотя binaryen не является частью EMSDK.

Ты правильно думаешь? Поверьте, вы проделали огромную работу!

Почему?

Скорость: это основная причина, и, очевидно, если мы говорим о скорости в Интернете, мы всегда учитываем это в сравнении с javascript. Получил очередной средний пост для подробного анализа бенчмаркинга

просто посмотрите на это как на базовую демонстрацию javascript и webAssembly.

Запускайте язык программирования в браузере, а не javascript: Wasm разработан как переносимая цель для компиляции языков высокого уровня, таких как C/C++/Rust, что позволяет развертывать в Интернете клиентские и серверные приложения.

Заключение

Надеюсь, вам понравилось основное введение в webAssembly.

Это мое понимание, основанное на моем исследовании, но в настоящее время я не работаю над этим, пожалуйста, поправьте меня, если я что-то неправильно понял.

Дайте мне знать, что вы думали об этом.

Какую пользу это принесет вам или другим?

Планируете ли вы использовать это?

Чтобы узнать удивительные вещи, связанные с webAssembly, проверьте это.

Есть пост, который мне понравился, от Lin Clark, вы тоже можете посмотреть здесь.