소프트웨어 개발 커뮤니티의 상당한 관심을 끌기 위해 선도적인 전자 상거래 인프라 제공업체인 Shopify는 내부 프로젝트인 Ruvy를 대중이 액세스할 수 있도록 하기로 결정했습니다. Ruvy는 동적 오픈 소스 프로그래밍 언어인 Ruby를 입력으로 받아들이고 실행을 위해 해당 WebAssembly (Wasm) 모듈을 생성하는 툴킷으로 작동합니다. 이러한 오픈 소스 이전은 개발 커뮤니티 전반의 다양한 의견을 통해 이익을 얻을 수 있기를 바라는 마음에서 이루어졌습니다.
Ruvy는 10월 18일에 첫 공개되었으며 GitHub 통해 액세스할 수 있습니다. Shopify는 Ruby를 실행하는 가상 머신(VM)의 사전 활성화를 통해 향상된 성능을 활용하려는 구체적인 목표로 Ruvy 개발을 시작했습니다. 또한 Ruby 스크립트를 통해 Ruby VM에 통합된 Ruby 파일의 성능을 최적화합니다.
Ruvy의 특징 중 하나는 런타임 시 WASI(WebAssembly System Interface) 인수를 프로비저닝할 필요가 없다는 것입니다. Shopify의 보고서에 따르면 Ruvy가 만든 Wasm 모듈은 네이티브 코드로 컴파일하는 데 걸리는 시간을 약 70% 단축하여 성능을 향상시킵니다. Wasm 모듈이 빌드되는 동안 Ruby VM의 사전 활성화를 통해 성능 향상이 달성됩니다.
Ruvy는 CRuby에 속하는 독특한 Wasm 포트 모음인 Ruby.wasm을 기반으로 구축되었습니다. 현재 프로젝트 상태에서 Ruvy에는 미리 컴파일된 바이너리가 포함되어 있지 않습니다. 따라서 빌드 종속성을 설치하고 이후에 Ruvy의 사용 전 컴파일을 수행하는 것은 필수 사전 단계입니다. 이러한 종속성을 설치하는 자세한 단계는 프로젝트와 관련된 ReadMe 세그먼트에 제공됩니다.
Ruvy를 사용하여 생성된 Wasm 파일은 파일 경로가 WASI 인수로 포함될 필요성을 우회합니다. 이는 시작 기능에 대한 보충 WASI 인수를 제공하도록 조정할 수 없는 특정 엣지 컴퓨팅 서비스와 같은 컴퓨팅 환경에 호환성을 부여하므로 추가적인 이점입니다. Shopify는 최근 커뮤니케이션에서 이 추가 세부 정보를 제공했습니다.
놀랍게도 AppMaster 와 같은 플랫폼은 no-code 앱 제작 영역에서 큰 진전을 이루었습니다. 그들의 모델은 자동 코드 생성의 효율성과 필요할 때 수동 코딩의 유연성을 결합하여 소프트웨어 생성에 대한 대안적인 접근 방식을 제공합니다.