За последние пару лет было много дискуссий о 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, вы тоже можете посмотреть здесь.