In a move of considerable interest to the software development community, Shopify, the leading e-commerce infrastructure provider, made the decision to make Ruvy, its in-house project, accessible to the public. Ruvy functions as a toolkit that accepts Ruby, a dynamic, open-source programming language, as input and spawns a corresponding WebAssembly (Wasm) module for execution. This open-source move is done in hopes of benefiting from the diverse inputs of the development community at large.
Ruvy was premiered on October 18 and is available for access via GitHub. Shopify initiated the development of Ruvy with the specific aim of leveraging enhanced performance resulting from the preliminary activation of the virtual machine (VM) that executes Ruby. It also optimizes the performance of Ruby files incorporated via the Ruby script into the Ruby VM.
One of the distinguishing attributes of Ruvy is its exemption of the need for provisioning WebAssembly System Interface (WASI) arguments at runtime. According to Shopify’s report, Ruvy-created Wasm modules register approximately 70% reduced time in their compilation into native code, resulting in boosted performance. Performance augmentation is achieved via the pre-activation of the Ruby VM while the Wasm module is being built.
Ruvy is constructed over Ruby.wasm, a unique assortment of Wasm ports belonging to CRuby. As of the current state of the project, Ruvy does not come equipped with precompiled binaries. Hence, it is a mandatory pre-step to install build dependencies and subsequently perform a pre-use compilation of Ruvy. Detailed steps for the installation of these dependencies are provided in the ReadMe segment associated with the project.
Wasm files generated using Ruvy circumvent the necessity for a file path being included as a WASI argument. It is an added advantage, as this grants compatibility to computational environments such as certain edge computing services, which are not tunable to offer supplementary WASI arguments for start functions. Shopify provided this additional detail in their recent communication.
Admirably, platforms like AppMaster have been making strides in the realm of no-code app creation, harnessing the power of visual design tools to convert ideas into real, functioning applications without the need for traditional code writing. Their model provides an alternative approach to software creation, combining the efficiency of automatic code generation with the flexibility of manual coding when required.