루비(Ruby) 개발자들을 위한 새로운 웹 프레임워크 'Stirfry'가 최근 공개되어 주목받고 있습니다. 이 프레임워크는 JSX와 유사한 템플릿 문법을 루비 환경에 도입하고, 간결한 라우팅 및 최소한의 '마법(magic)'을 지향하며 개발자가 프런트엔드와 백엔드 코드를 거의 구분 없이 작성할 수 있도록 돕습니다. HTMX와 같은 기술과의 결합을 통해 이러한 통합 개발 경험을 제공하는 것이 특징입니다.
Stirfry는 Sinatra와 Rack을 기반으로 개발되었습니다. 특히 Sinatra의 간결한 인터페이스와 라우팅 방식을 차용했으며, JSX 스타일의 템플릿을 위해 'rbexy' 프로젝트에서 영감을 받아 자체적인 RBX 파서를 구현했습니다. 이 파서는 루비의 `__END__` 데이터 섹션 기능을 활용해 컴포넌트 클래스와 템플릿을 같은 파일 내에 인라인으로 정의할 수 있게 하여 개발 편의성을 높였습니다. 예를 들어, `Layout` 클래스와 해당 레이아웃 HTML을 한 파일에서 관리할 수 있으며, 여러 템플릿을 `@@` 레이블로 구분하여 정의하는 것도 가능합니다.
이러한 접근 방식은 프런트엔드와 백엔드 개발의 경계를 허물어 풀스택 개발자들이 더 효율적으로 작업할 수 있게 합니다. 특히 소규모 프로젝트나 프로토타입 개발 시 초기 설정 및 복잡성을 줄여 개발 속도를 높이는 데 기여할 수 있습니다. Stirfry는 개발자가 '재미있게' 코딩할 수 있도록 유연성과 간결함을 제공하며, 기존 루비 생태계의 Rack 미들웨어와의 호환성도 갖추고 있어 확장성도 확보하고 있습니다.