hokusai pocket: 휴대용 앱 및 게임 개발 프레임워크

Show HN: Hokusai Pocket (WIP) – Portable GUIs with MRuby

작성자
HackerNews
발행일
2025년 10월 19일

핵심 요약

  • 1 hokusai pocket은 Ruby 기반으로 휴대용 앱 및 게임을 개발하기 위한 프레임워크로, mruby, Raylib, tree-sitter를 통합합니다.
  • 2 C 컴파일러와 Ruby/Rake 환경에서 작동하며, `hokusai-pocket new` 명령어로 프로젝트를 설정하고 다양한 타겟 시스템을 위한 빌드를 지원합니다.
  • 3 애플리케이션 백엔드는 `Hokusai::Backend`를 통해 설정되며, 폰트 등록 및 `require_relative`와 같은 Ruby 기능을 활용합니다.

도입

hokusai pocket은 hokusai 프레임워크를 활용하여 휴대용 애플리케이션과 게임을 제작하기 위한 진행 중인 프로젝트입니다. 이 프로젝트는 Ruby 개발자들이 C 언어의 성능과 결합하여 경량화된 실행 파일을 만들 수 있도록 돕습니다. mruby, Raylib, tree-sitter와 같은 핵심 기술들을 통합하여, 다양한 플랫폼에서 동작하는 애플리케이션을 개발할 수 있는 환경을 제공하는 것이 목표입니다. 현재 활발히 개발이 진행 중이며, 커뮤니티의 기여를 환영하고 있습니다.

hokusai pocket은 Ruby 개발을 기반으로 하면서도 C 언어 컴파일러와 빌드 도구를 활용하는 독특한 개발 환경을 제공합니다.

프로젝트 설치 및 구조

프로젝트 설정은 hokusai-pocket new 명령어를 통해 이루어지며, 다음과 같은 표준 디렉토리 구조를 생성합니다.

  • .pocket: 설정 파일 (Gem 정의)

  • src/app.rb: 기본 애플리케이션 진입점

  • dist/: 컴파일된 앱이 저장되는 위치 (기본, 웹 타겟 등)

  • vendor/: mruby, Raylib, tree-sitter 등 핵심 라이브러리 소스 코드

  • target/: 빌드된 바이너리, 헤더, 라이브러리 (예: mrbc, libmruby.a, raylib.h)

개발 워크플로우

주요 명령어는 다음과 같습니다.

  • hokusai-pocket compile -t <target>: 다양한 타겟 시스템을 위해 vendor 소스 코드를 다시 컴파일합니다.

  • hokusai-pocket dev -t <target> -a <hokusai app>: 특정 타겟 또는 호스트 시스템에서 src/app.rb를 컴파일하고 실행합니다.

Hokusai 애플리케이션 백엔드

hokusai 애플리케이션은 반드시 Hokusai::Backend 문으로 끝나야 하며, Hokusai::Backend.run 블록 내에서 애플리케이션의 타이틀, FPS, 너비, 높이 등을 설정할 수 있습니다. 폰트 등록 및 활성화와 같은 after_load 훅을 통해 추가적인 초기화 작업을 수행할 수 있습니다. require_relative를 통해 여러 Ruby 파일을 하나의 큰 파일로 병합하여 mrbc로 컴파일하는 방식도 지원합니다.

개발 환경 구성

hokusai pocket 자체 개발을 위해서는 Crystal 언어가 추가적인 전제 조건으로 필요하며, shards build 명령어로 바이너리를 빌드할 수 있습니다. Barista라는 도구를 사용하여 빌드 프로세스를 관리합니다.

결론

hokusai pocket은 Ruby의 유연성과 C의 성능을 결합하여 휴대용 앱 및 게임 개발의 새로운 가능성을 제시합니다. mruby를 활용하여 경량화된 실행 환경을 제공하고, Raylib으로 그래픽 처리를, tree-sitter로 구문 분석을 지원하며, 개발자가 다양한 플랫폼을 대상으로 효율적으로 작업할 수 있도록 설계되었습니다. 이 프로젝트는 Ruby 개발자들이 임베디드 및 휴대용 환경에서 강력한 애플리케이션을 구축하는 데 기여할 중요한 도구가 될 것으로 기대됩니다.

댓글 0

댓글 작성

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

아직 댓글이 없습니다

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