-
WasmEdge for Go Developers
Go developers can benefit from WebAssembly and WasmEdge Runtime in two important ways. You can compile Go programs to run in the WasmEdge container, or embed external functions, written in multiple programming languages, into Go applications as plug-ins. Get started by installing WasmEdge or using the WasmEdge development Docker. Embed WasmEdge in Go applications WasmEdge enables Go developers to embed functions and plug-ins written in different languages, including Rust, Swift, Kotlin, C/C++, JavaScript and TinyGo, into their Go applications.…
-
WasmEdge for JavaScript Developers
JavaScript developers can benefit from WebAssembly and WasmEdge Runtime in two important ways. You can run JavaScript programs in the WasmEdge container, or call external functions, written in multiple programming languages, from Node.js applications. Get started by installing WasmEdge or using the WasmEdge development Docker. Run JavaScript programs in WasmEdge WebAssembly is a ploygot runtime that supports many front-end programming languages. You can run JavaScript programs efficiently and safely across all OS and hardware platforms WasmEdge supports.…
-
A lightweight, safe, portable, and high-performance runtime for Dapr
originally published on infoQ.com Key takeaways: Dapr is a versatile framework for building microservices. WebAssembly VMs, such as WasmEdge, provide high-performance and secure runtimes for microservice applications. WebAssembly-based microservices can be written in a number of programming languages, including Rust, C/C++, Swift, and JavaScript. WebAssembly programs are embedded into Dapr sidecar applications, and hence can be portable and agnostic to the Dapr host environment. The WasmEdge SDK provides an easy way to build microservices for Tensorflow inference.…
-
Manage WebAssembly Apps Using Container and Kubernetes Tools
Developers can leverage container tools such as Kubernetes, Docker and CRI-O to deploy, manage, and run lightweight WebAssembly applications. In this article, we will demonstrate how Kubernetes ecosystem tools work with WasmEdge WebAssembly applications. Compared with Docker, WebAssembly could be 100x faster at startup, have a much smaller memory and disk footprint, and have a better-defined safety sandbox. However, the trade-off is that WebAssembly requires its own language SDKs, and compiler toolchains, making it a more constrained developer environment than Docker.…
RustWebAssemblyDockerhow-toOCICRI-ODockerKubernetescruncontainer
-
Calling native functions from JavaScript
WasmEdge enables JavaScript to call native functions in shared libraries. In my previous articles, I explained why and how to run JavaScript programs in a WebAssembly sandbox. I also discussed how to create custom JavaScript APIs for WasmEdge using Rust. However, in order to fully access the underlying system's OS and hardware features, we sometimes need to create JavaScript APIs for C-based native functions. That is, when a JavaScript program calls the pre-defined function, WasmEdge will pass it to a native shared library on the OS for execution.…
-
Creating high-performance JavaScript APIs using Rust
WasmEdge brings together Rust’s performance and JavaScript’s ease of use In my previous article, I discussed how to embed JavaScript code into a Rust program. However, for JavaScript developers, the need is often the opposite – to incorporate Rust functions into JavaScript APIs. That enables developers to write programs in “pure JavaScript” and yet still take advantage of the high performance Rust functions. With the WasmEdge Runtime, you can do exactly that.…
-
Incorporating JavaScript into a Rust app
WasmEdge brings together Rust’s performance and JavaScript’s ease of use In my previous article, I discussed how to run JavaScript programs in a WebAssembly sandbox. The WasmEdge runtime provides a lightweight, high-performance, and OCI compliant “container” for cloud-native JavaScript applications. However, JavaScript is a “slow” language. The reason to use JavaScript is mostly due to its ease of use and developer productivity, especially for beginner developers. WebAssembly, on the other hand, is capable of running high-performance applications written in languages such as Rust.…
-
WebAssembly Serverless Functions in AWS Lambda
Serverless functions save developers a ton of trouble managing the backend infrastructure. It also simplifies the development process as developers only need to focus on the business logic. This article is a step-by-step guide on how to write and deploy your own WebAssembly serverless functions on AWS Lambda, Amazon's serverless computing platform. In our demo, WebAssembly functions are executed with the WasmEdge runtime. The figure below shows the overall architecture of our solution.…
-
😎 WasmEdge 0.8.2 is released. Networking support, Rust SDK, better compatibility and more.
WasmEdge 0.8.2 is finally released. Better cross-platform compatibility. Run WasmEdge applications on Mac OS X (Intel & M1), Windows 10, as well as IoT devices with ARM 32-bit chips. Networking support. Make network requests and run an HTTP server from your WasmEdge application. New and improved APIs. Embed WasmEdge functions in C, Rust, and Golang applications. Generic binary output for WasmEdge’s AoT compiler. Take advantage of AOT performance enhancements in cloud native platforms.…
ProductWasmEdgeWebAssemblyRustServerlesscloud computingSocketCNCF
-
Running JavaScript in WebAssembly with WasmEdge
WebAssembly started as a “JavaScript alternative for browsers”. The idea is to run high-performance applications compiled from languages like C/C++ or Rust safely in browsers. In the browser, WebAssembly runs side by side with JavaScript. Figure 1. WebAssembly and JavaScript in the browser. As WebAssembly is increasingly used in the cloud, it is now a universal runtime for cloud-native applications. Compared with Docker-like application containers, WebAssembly runtimes achieve higher performance with lower resource consumption.…