Если вы когда-либо начинали урок компьютерного программирования и языков программирования, вы, вероятно, слышали термины «языки высокого уровня» и «языки низкого уровня». И вам, скорее всего, говорили, что языки высокого уровня читаются, интерпретируются и имеют больше смысла на человеческом уровне мышления, в то время как языки низкого уровня ближе к обработке на уровне компьютера. По сути, чтобы подвести итог всему этому, языки более низкого уровня больше напоминают инструкции, которые считывают и выполняют настоящие компьютерные чипы, в то время как языки более высокого уровня содержат больше абстракций для использования человеком.

Тогда имеет смысл, что, хотя языки более высокого уровня более эффективны для человеческого использования, такого как разработка и обслуживание, языки более низкого уровня будут намного быстрее для использования на компьютере, например, для чтения и выполнения инструкций. Таким образом, красота и привлекательность скомпилированного кода, особенно зрелых комплаентных языков, которые усовершенствовали методы компиляции для создания быстрого и эффективного машинного кода из их высокоуровневой формы.

Однако в Интернете, где преобладают браузеры, использующие JavaScript, доступ к этим преимуществам производительности является проблемой. И из этой проблемы в итоге выросла WebAssembly.

Как вы, возможно, уже догадались, WebAssembly — это низкоуровневый язык, похожий на ассемблер, который может запускаться браузерами в Интернете. Он реализован в двоичном формате, который может быть легко интерпретирован машинами, но он был разработан для работы с javascript, де-факто языком Интернета, и вместе с ним.

WebAssembly предоставляет несколько замечательных функций, которые делают веб-разработку более мощной и потрясающей, чем когда-либо прежде:

  1. Он предоставляет целевой формат машинного уровня для языков с моделями памяти более низкого уровня, такими как C/C++, для компиляции.
  2. Он предоставляет язык для непосредственного создания программ веб-сборки.
  3. Хотя он не может напрямую обращаться к DOM и другим веб-функциям, он предоставляет простой в использовании Javascript API, так что программы на любом языке вызывают и используют другой.

Это означает, что, во-первых, программисты могут создавать очень быстрые и мощные крупномасштабные кодовые базы со скоростью, сравнимой с теми, которые выполняются непосредственно на машине. Они также могут портировать программы C/C++ на javascript и веб-браузеры. И в будущем веб-сборка нацелена на то, чтобы иметь возможность компилировать больше языков в свой формат .wasm, начиная с таких, как Java.

Самое приятное то, что он хорошо поддерживается браузерами и хорошо задокументирован Mozilla, так что вы можете проверить его и сразу начать использовать!





WebAssembly
Изменить описаниеwebassembly.org