Framework for building and running server-side WebAssembly applications allows you to compose apps from Wasm components written in different programming languages. Credit: Michal Moravec / Shutterstock Spin 2.0, an upgrade to Fermyon’s framework for building WebAssembly (Wasm) applications for the cloud, has arrived, enabling Wasm component composition and laying a foundation for portability across runtimes and implementations. Introduced November 2 and accessible from GitHub, Spin 2.0 is intended to improve both the developer experience and runtime performance. Featured is an updated spin.toml manifest that focuses on simplicity and on resources a component is allowed to access, such as a Redis database. When writing applications, developers can interact with built-in persistence, configuration, or data services from within Wasm components or communicate with external systems. Spin 2.0 leverages the WebAssembly Component Model and the upcoming WASI Preview 2 (WebAssembly System Interface) in production environments. The component model introduces a way to bring efficient high-level interfaces to content running in Wasm, regardless of the programming language used to create the content, and the ability to compose new components that use these interfaces. Rust, JavaScript, TypeScript, and Python can be used to build components that run inside Spin applications, and these components can interact with each other. Spin 2.0 also offers significantly improved performance compared to Spin 1.0, which was introduced in March 2022, due in large part to the Wasmtime pooling memory allocator. Spin enables the development of event-driven microservices, serverless-style APIs, websites, full-stack, and AI-capable applications as Wasm components. These applications are orders of magnitude smaller than container images, portable across OSes and CPU architectures, offer incredibly low startup latency, and can run tens of thousands of requests per second, Fermyon said. And they can run anywhere, the company added, ranging from tiny devices to Docker Desktop, Kubernetes, Nomad, and Fermyon Cloud. Wasm is a binary instruction format and virtual machine that serves as a compilation target for C/C++, C#, Rust, and other programming languages, offering both choice of languages for building web apps and near-native application performance. Fermyon said Wasm is making its way into more parts of modern computing, from browser applications to server-based apps, plugin systems, IoT scenarios, and more. Related content feature What is Rust? Safe, fast, and easy software development Unlike most programming languages, Rust doesn't make you choose between speed, safety, and ease of use. Find out how Rust delivers better code with fewer compromises, and a few downsides to consider before learning Rust. By Serdar Yegulalp Nov 20, 2024 11 mins Rust Programming Languages Software Development how-to Kotlin for Java developers: Classes and coroutines Kotlin was designed to bring more flexibility and flow to programming in the JVM. Here's an in-depth look at how Kotlin makes working with classes and objects easier and introduces coroutines to modernize concurrency. By Matthew Tyson Nov 20, 2024 9 mins Java Kotlin Programming Languages analysis Azure AI Foundry tools for changes in AI applications Microsoft’s launch of Azure AI Foundry at Ignite 2024 signals a welcome shift from chatbots to agents and to using AI for business process automation. By Simon Bisson Nov 20, 2024 7 mins Microsoft Azure Generative AI Development Tools news Microsoft unveils imaging APIs for Windows Copilot Runtime Generative AI-backed APIs will allow developers to build image super resolution, image segmentation, object erase, and OCR capabilities into Windows applications. By Paul Krill Nov 19, 2024 2 mins Generative AI APIs Development Libraries and Frameworks Resources Videos