{"id":30015,"date":"2019-10-10T05:12:40","date_gmt":"2019-10-10T05:12:40","guid":{"rendered":"https:\/\/www.bridge-global.com\/blog\/blog\/?p=30015"},"modified":"2019-10-10T05:39:50","modified_gmt":"2019-10-10T05:39:50","slug":"webassembly-a-quick-overview","status":"publish","type":"post","link":"https:\/\/www.bridge-global.com\/blog\/webassembly-a-quick-overview\/","title":{"rendered":"WebAssembly \u2013 A Quick Overview"},"content":{"rendered":"<p>JavaScript has been there on the web and it\u2019s been there on most of the browsers. But it\u2019s not an ultimate solution when it comes to heavy applications on the web. This is where the significance of <a href=\"https:\/\/en.wikipedia.org\/wiki\/WebAssembly\" rel=\"noopener\" target=\"_blank\">WebAssembly<\/a> comes through. <\/p>\n<p>\u201cWebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C\/C++\/Rust, enabling deployment on the web for client and server applications.\u201d <a href=\"https:\/\/webassembly.org\/\" rel=\"noopener\" target=\"_blank\">webassembly.org<\/a>. <\/p>\n<p>It\u2019s a new type of code that is also designed to run alongside JavaScript, allowing both to work together. This next-generation web platform gives a near-native performance to the browser by allowing developers to build high-speed web apps in their preferred language and by helping several JavaScript frameworks to reduce load times remarkably for heavy websites. It enables web applications to run amazing video games, support for computer-aided designs, image\/video editing, and even run heavy computations. <\/p>\n<p> WebAssembly is popularly used in developing web games and it recently gained eminence when it was used for <a href=\"https:\/\/www.bridge-global.com\/blog\/cryptocurrency-a-quick-outline-in-less-than-10-minutes\/\" rel=\"noopener\" target=\"_blank\">cryptocurrency<\/a> mining in browsers. <\/p>\n<p><strong><\/p>\n<h5>Important Features of WebAssembly<\/h5>\n<p><\/strong><\/p>\n<p><strong>1. Efficient and Fast<\/strong><br \/>\nThe Wasm stack machine is designed for speed. As its binaries are far smaller than textual JavaScript files, they possess efficient load time. WebAssembly makes the most of common hardware capabilities to deliver native speed. <\/p>\n<p><strong>2. Safe<\/strong><br \/>\nEach WebAssembly module is stated to be run in a safe, sandboxed execution environment that can even be applied inside existing JavaScript virtual machines. When embedded in the web, each module is subject to the same-origin and permissions security policies of the browser. <\/p>\n<p><strong>3. Open and debuggable<\/strong><br \/>\nWebAssembly is a low-level assembly language, but it has a human-readable textual format allowing for debugging, testing, experimenting, optimizing, learning, teaching, and writing programs by hand. <\/p>\n<p><strong>4. Part of the open web platform<\/strong><br \/>\nWebAssembly is designed to play well with other web technologies. It maintains backward compatibility. WebAssembly modules can call into and out of the JavaScript context and access browser functionality through the same Web APIs accessible from JavaScript. It also supports non-web embeddings.<\/p>\n<p><strong><\/p>\n<h5>More About WebAssembly<\/h5>\n<p><\/strong><\/p>\n<p>The web platform can have transformational effects from WebAssembly. It provides a way to run code written in multiple languages on the web at near-native speed, with client apps running on the web, which wouldn\u2019t have been possible before. <\/p>\n<p>WebAssembly is designed to complement and run beside JavaScript. Using the WebAssembly JavaScript APIs, you can load WebAssembly modules into a JavaScript app and share functionality between the two. This helps you get benefitted from WebAssembly&#8217;s performance and power and JavaScript&#8217;s expressiveness and flexibility in the same apps, even if you don&#8217;t know how to write WebAssembly code.<\/p>\n<p>It\u2019s being developed as a web standard via the W3C WebAssembly Working Group and Community Group with active participation from all major browser vendors, which is indeed great news. <\/p>\n<p>Now let me show you a great example that can motivate you further: <a href=\"https:\/\/wasm.bootcss.com\/demo\/\" rel=\"noopener\" target=\"_blank\">Tanks! Demo &#8211; WebAssembly<\/a> <\/p>\n<p><strong><\/p>\n<h5>Future Prospects<\/h5>\n<p><\/strong><\/p>\n<p>The WebAssembly can be considered as Javascript\u2019s nitro booster. It will surely be adopted in all major web apps to boost their performance in the coming future.<\/p>\n<p>Here\u2019s a great <a href=\"https:\/\/codelabs.developers.google.com\/codelabs\/web-assembly-intro\/#0\" rel=\"noopener\" target=\"_blank\">introduction to WebAssembly by Google Codelabs<\/a> for Wasm beginners. <\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>JavaScript has been there on the web and it\u2019s been there on most of the browsers. But it\u2019s not an ultimate solution when it comes to heavy applications on the web. This is where the significance of WebAssembly comes through. &hellip;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":122,"featured_media":30023,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[298,299],"class_list":["post-30015","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-webassembly","tag-wasm"],"featured_image_src":"https:\/\/www.bridge-global.com\/blog\/wp-content\/uploads\/2019\/10\/Webassembly-banner.jpg","author_info":{"display_name":"Ajin Gopi","author_link":"https:\/\/www.bridge-global.com\/blog\/author\/ajin\/"},"_links":{"self":[{"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/posts\/30015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/users\/122"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/comments?post=30015"}],"version-history":[{"count":10,"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/posts\/30015\/revisions"}],"predecessor-version":[{"id":30027,"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/posts\/30015\/revisions\/30027"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/media\/30023"}],"wp:attachment":[{"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/media?parent=30015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/categories?post=30015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bridge-global.com\/blog\/wp-json\/wp\/v2\/tags?post=30015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}