
Qt Group 공식 발표와 문서에 따르면 회사는 Rust 애플리케이션 로직을 QML·Qt Quick 사용자 인터페이스와 연결하는 ‘Qt Bridge for Rust’ 공개 베타를 선보였다. 개발자는 C++ 코드를 직접 작성하지 않고 Rust 구조체를 QML 요소로 만들거나 메서드, 속성, 시그널을 양쪽에서 사용할 수 있다.
Qt Bridges는 하나의 Qt Quick 프런트엔드를 여러 백엔드 언어와 연결하려는 프로젝트다. 이번 Rust 브리지는 속성 매크로와 트레이트를 이용해 Rust 타입을 QML에 노출한다. 빌드 시 Qt 기반 래퍼를 만들어 객체 생성, 메서드 호출, 속성 접근, 시그널 전달 같은 상호운용 작업을 처리한다.
공개 베타에는 QML에서 Rust 메서드를 호출하고 시그널을 처리하는 기능, Rust 속성 읽기·쓰기와 데이터 바인딩, Rust 컬렉션을 QML 뷰에 연결하는 기능, QML 객체 트리 조작, 스레드 간 메서드 호출, serde_json 지원이 포함됐다. 애플리케이션 로직은 Rust로 작성하고 화면은 Qt의 선언형 언어인 QML로 구성한다.
메모리 모델 차이는 런타임 검사로 조정한다. 공식 문서는 QML에 노출한 Rust 객체를 `Rc<RefCell<T>>` 형태로 공유하며, 읽기와 쓰기 차용 규칙을 `RefCell`이 실행 중에 강제한다고 설명한다. Qt는 애플리케이션 로직에 안전한 Rust API를 제공한다고 밝혔지만, QML에서 Rust로 진입하는 호출이 충돌하는 경우 패닉이 발생할 수 있다는 동작도 문서에 명시했다.
지원 환경과 설치 조건에는 제한이 있다. 공식 스냅샷 문서 기준 지원 대상은 Linux x86_64와 Windows x64이며, macOS arm64는 실험 단계다. Rust 1.87 이상과 Qt 6.10 이상이 필요하다. 사용자 코드에 C++를 작성할 필요는 없지만 현재는 브리지의 C++ 기반 구성 요소를 빌드하기 위해 C++ 도구 모음과 qmake를 시스템에 설치해야 한다.
Qt는 Qt Quick의 하드웨어 가속과 크로스플랫폼 기능을 Rust 백엔드에서 활용할 수 있다는 점을 내세웠다. 다만 이번 배포는 정식 안정판이 아닌 공개 베타다. 회사는 API를 다듬고 설치·링크 절차와 IDE 지원을 개선한 뒤 기술 프리뷰 단계로 발전시킬 계획이다. 공식 예제 저장소에는 Hello World, 최소 애플리케이션, 호스트 모니터, 색상 팔레트 예제가 공개돼 있다.
출처: Qt Group 공식 발표 https://www.qt.io/blog/qt-bridges-public-beta-for-rust
Qt Group 기술 소개 https://www.qt.io/blog/rust-ui-framework-via-bridging-technology
Qt Bridge for Rust 공식 문서 https://doc-snapshots.qt.io/qtbridge-rust/qtbridge/index.html
Qt 공식 예제 저장소 https://github.com/qt/qtbridge-rust-examples