Shopify, ведущий поставщик инфраструктуры электронной коммерции, вызвав значительный интерес со стороны сообщества разработчиков программного обеспечения, принял решение сделать Ruvy, свой собственный проект, доступным для общественности. Ruvy функционирует как набор инструментов, который принимает Ruby, динамический язык программирования с открытым исходным кодом, в качестве входных данных и создает соответствующий модуль WebAssembly (Wasm) для выполнения. Этот шаг с открытым исходным кодом сделан в надежде получить выгоду от разнообразного вклада сообщества разработчиков в целом.
Премьера Ruvy состоялась 18 октября, и он доступен для доступа через GitHub. Shopify инициировал разработку Ruvy с конкретной целью повышения производительности за счет предварительной активации виртуальной машины (ВМ), на которой выполняется Ruby. Он также оптимизирует производительность файлов Ruby, включенных с помощью сценария Ruby в виртуальную машину Ruby.
Одним из отличительных свойств Ruvy является отсутствие необходимости предоставления аргументов системного интерфейса WebAssembly (WASI) во время выполнения. Согласно отчету Shopify, модули Wasm, созданные Ruvy, сокращают время компиляции в собственный код примерно на 70%, что приводит к повышению производительности. Повышение производительности достигается за счет предварительной активации виртуальной машины Ruby во время сборки модуля Wasm.
Ruvy создан на основе Ruby.wasm, уникального набора портов Wasm, принадлежащих CRuby. На текущий момент проекта Ruvy не поставляется с предварительно скомпилированными двоичными файлами. Следовательно, обязательным предварительным шагом является установка зависимостей сборки и последующее выполнение компиляции Ruvy перед использованием. Подробные инструкции по установке этих зависимостей представлены в сегменте ReadMe, связанном с проектом.
Файлы Wasm, созданные с помощью Ruvy, устраняют необходимость включения пути к файлу в качестве аргумента WASI. Это дополнительное преимущество, поскольку обеспечивает совместимость с вычислительными средами, такими как определенные службы периферийных вычислений, которые не настраиваются для предоставления дополнительных аргументов WASI для функций запуска. Shopify предоставил эту дополнительную информацию в своем недавнем сообщении.
Поразительно, но такие платформы, как AppMaster , добились успехов в области создания приложений no-code, используя возможности инструментов визуального дизайна для преобразования идей в реальные, функционирующие приложения без необходимости написания традиционного кода. Их модель обеспечивает альтернативный подход к созданию программного обеспечения, сочетая эффективность автоматической генерации кода с гибкостью ручного кодирования, когда это необходимо.