Какво е WebAssembly?

Какво е WebAssembly?
Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Повече от две десетилетия JavaScript беше единственият език за програмиране, който можеше да работи в браузъри. Други езици като Python, C++ и Go бяха основно за изграждане на сървърната страна на уеб приложения и услуги.





JavaScript се справи доста добре, но много други езици за програмиране са по-бързи. Има много предимства, от които уеб приложенията могат да се възползват, като изпълняват други, по-производителни езици за програмиране директно в браузъра.





MAKEUSEOF ВИДЕО НА ДЕНЯ

WebAssembly предлага ефективна, отворена и безопасна опция, която е част от отворената уеб платформа. Можете да го използвате за създаване на приложения, които работят в браузъри, сървъри и в други среди.





Представяме ви WebAssembly

  Въведение в WebAssembly

WebAssembly (WASM) е ефективен, преносим стандартизиран от W3C език на ниско ниво. Той дефинира кодов формат и интерфейси за взаимодействие на програми с платформи в мрежата.

Можете да компилирате повечето езици за програмиране във формата на двоичен код на WebAssembly. Браузърите могат да интерпретират и изпълняват получения WASM код точно както правят с обикновен JavaScript. Можете също да стартирате WebAssembly заедно с JavaScript код за по-висока производителност на приложението и оперативна съвместимост между двете.



WebAssembly стана стандарт на W3C през 2019 г. с поддръжка на много езици за програмиране. Според Направено с WebAssembly , вече има много популярни проекти, които използват WebAssembly, за да доставят бърз и сигурен софтуер на своите потребители.

Много езици за програмиране, включително тези, които са специфични за сървъра, поддържат WebAssembly. Те включват Rust, Go, Python, C++, TypeScript, Java, PHP и Ruby. Разгледайте awesome-wasm-langs ресурс за да научите за поддържаните от WebAssembly езици и пакетите, които можете да използвате с тях.





Ето един пример Програма WebAssembly от Tutorials Point който връща максимум две цели числа:

  Примерен WASM код

Синтаксисът на WebAssembly е относително подробен в сравнение с JavaScript, но това не би трябвало да е проблем. Няма да е необходимо да изучавате синтаксиса, тъй като WebAssembly ще бъде целта за компилиране на програмите, които пишете на предпочитания от вас език.





Как работи WebAssembly

WASM съществува като цел за компилация, в която да се транспилират други езици за програмиране. Можете да пишете любимия ви език за програмиране и компилирайте изходния код в WASM байт код, който се изпълнява на клиента. Превеждането му в собствен машинен код означава, че може да работи с висока скорост, обикновено по-бързо от JavaScript.

Една от критичните характеристики на WASM е оперативната съвместимост на JavaScript. Можете да импортирате WASM модули в уеб приложение и да изложите WASM функциите за използване в JavaScript код. JavaScript рамките могат да се възползват от WASM за по-висока производителност.

WASM използва модел на изпълнение в пясъчна среда, подобен на JavaScript. WASM взаимодейства с хост машината, използвайки ABI (двоичен интерфейс на приложението), като Системен интерфейс WebAssembly който осигурява достъп до ресурси и други системни услуги въз основа на изискванията на програмата.

Много съвременни браузъри поддържат WASM, включително Chrome, Microsoft Edge, Mozilla Firefox, Opera и Safari. Езици като Go и Rust поддържа WASM извън кутията.

Защо мрежата има нужда от WebAssembly

  Функции на WebAssembly

JavaScript има ограничена функционалност по дизайн. Не е един от най-бързите или най-производителните езици тъй като започна като скриптов език за мрежата. Въпреки че има много времена за изпълнение, където JavaScript работи с различна скорост, има по-бързи и по-производителни езици, които WebAssembly може да предостави в мрежата за случаи на употреба като игри, видеоклипове и музика.

WebAssembly също предлага повече преносимост и гъвкавост към езици, които не работят в мрежата. Въвеждането на повече езици в мрежата (най-популярната платформа с отворен код) трябва да доведе до цялостно подобрено преживяване.

настройки за ускоряване на windows 10

Приемането на WebAssembly се развива бързо

Много компании и разработчици създават приложения с WebAssembly. Google, Dropbox и Cloudflare активно използват WebAssembly в някои от своите приложения.

WebAssembly е популярен сред разработчиците на Python, C++ и Rust. Разработчиците на Python обикновено използват Pyoidide и PyScript, разработчиците на C++ и Emscripten, а разработчиците на Rust с Percy, Yew, Sycamore, MoonZoon и рамката Seed.