Wubular 소개: Ruby+WASM으로 재해석된 Rubular

Wubular: Rubular Reimagined in Ruby+WASM

작성자
HackerNews
발행일
2025년 08월 26일

핵심 요약

  • 1 Wubular는 Ruby를 WebAssembly로 컴파일하여 브라우저에서 직접 실행하는 Rubular의 리메이크 버전입니다.
  • 2 이 아키텍처는 서버 의존성을 제거하여 즉각적인 피드백, 강화된 개인 정보 보호 및 간소화된 배포를 가능하게 합니다.
  • 3 Wubular는 브라우저 내 자동화된 테스트 실행을 포함하여 Ruby+WASM 기반 클라이언트 측 애플리케이션의 잠재력을 보여줍니다.

도입

Wubular는 Ruby 애플리케이션이 서버와의 통신 없이 브라우저에서 완전히 실행될 수 있도록 하는 아이디어에서 시작되었습니다. 이는 2007년에 Michael Lovitt가 개발한 Ruby 정규 표현식 테스트 도구인 Rubular를 재해석한 프로젝트입니다. 기존 Rubular는 오래된 Ruby 버전을 사용하고 서버-클라이언트 모델을 따랐지만, Wubular는 Ruby 3.2부터 지원되는 WebAssembly(WASM)를 활용하여 이 모델을 완전히 뒤집습니다. 이를 통해 Ruby 코드를 브라우저에서 직접 실행함으로써 새로운 가능성을 열고 있습니다.

Wubular는 기존 Rubular의 서버-클라이언트 아키텍처를 Ruby WebAssembly(WASM) 기반의 클라이언트 측 아키텍처로 전환하며 혁신을 이루었습니다.

Rubular의 고전적 아키텍처 한계

기존 Rubular는 사용자 입력을 서버에 POST 요청으로 보내고 Ruby 백엔드에서 정규식을 평가한 후 결과를 받는 Ajax 방식이었습니다. 이는 서버 부하, 네트워크 지연, 백엔드 유지 보수 등의 명확한 한계를 가졌습니다.

Ruby 인 더 브라우저: WASM 도입과 Wubular의 장점

Ruby 3.2부터 MRI(Ruby 인터프리터)가 WebAssembly(WASM) 환경에서 실행 가능해졌습니다. WASM은 웹을 위한 안전하고 빠른 바이트코드입니다. 이 기술을 통해 Wubular는 모든 Ruby 코드를 완전히 클라이언트 측에서 실행합니다.

Wubular의 주요 이점은 다음과 같습니다. * 서버리스: 서버 배포 및 확장이 불필요합니다. * 즉각적인 피드백: 네트워크 왕복 없이 입력 즉시 결과가 표시됩니다. * 개인 정보 보호: 테스트 문자열이 브라우저를 떠나지 않습니다. * 간소화된 배포: 정적 HTML과 Ruby 파일만으로 구성됩니다.

Wubular는 WASM으로 컴파일된 Ruby 인터프리터를 사용하며, 애플리케이션 로직은 일반 .rb 파일로 작성됩니다. require "js" 라이브러리를 통해 Ruby 클래스에서 document.querySelector 같은 브라우저 API를 직접 조작합니다.

브라우저 내 TDD 및 테스트

Wubular는 TDD(테스트 주도 개발)로 구축되었으며, Minitest를 사용하여 브라우저 내에서 직접 테스트 스위트를 실행합니다. ?run_tests 파라미터를 통해 다양한 Ruby 버전으로 통합 테스트를 수 밀리초 내에 완료하며, 클라이언트 측 애플리케이션 개발의 새로운 가능성과 효율성을 입증합니다.

결론

Wubular는 현재 사용 가능하며, 정규식 테스트를 위한 실용적인 도구일 뿐만 아니라 Ruby와 WebAssembly가 웹 애플리케이션 개발에 가져올 수 있는 잠재력을 탐구하는 중요한 실험입니다. 서버리스, 즉각적인 반응, 강화된 보안 및 브라우저 내 테스트 실행 능력은 클라이언트 측 Ruby의 강력한 가능성을 보여줍니다. 이는 Ruby 개발자들이 브라우저 환경에서 더욱 풍부하고 효율적인 애플리케이션을 구축할 수 있는 새로운 길을 열어줄 것입니다.

댓글 0

댓글 작성

0/1000
정중하고 건설적인 댓글을 작성해 주세요.

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!