안녕하세요. 그간 제가 개발에 참여한 Rust-In-Flutter라는 프레임워크를 소개해드리고자 글을 쓰게 되었습니다. 10분만에 세팅이 완료될 정도로 사용하기 쉽도록 설계되었으며, 링크도 아래에 남겨 드립니다.
아시다시피 Rust에는 egui
, iced
등 여러 프레임워크가 있지만, 실제 상업용 앱 개발에 사용하기에는 많이 부족한 것이 사실입니다. 내부적으로 HTML, CSS를 사용하는 웹뷰에 의존한다든지, 운영체제 지원이 한정되어 있다든지, 핫 리로딩 등의 디버깅 기능이 부족하다든지, 아직까지 완벽한 솔루션은 나오지 않은 상황입니다.
한편으로는, 그동안 고성능 앱을 개발하는 데에 Dart로는 무리스러웠던 문제도 있었죠. Dart는 네이티브 성능을 내지 못하니까요.
물론 egui
같은 경우는 HTML로 성능을 극한까지 끌어올렸지만, 그것조차도 위젯이 10000개를 넘어간다면 성능 부하가 매우 심하겠죠. Flutter는 6개의 주요 플랫폼을 모두 지원하고, GPU를 직접 활용하기 때문에 Rust의 네이티브 성능에 가장 잘 어울리는 GUI 프레임워크입니다.
그간 Flutter와 Rust를 연결하는 작업에는 상당한 수고가 들었고, 생태계 자체도 상당히 파편화되어 있었는데 이 프레임워크는 그 모든 수고스러움을 자동화해 주는 데에 집중한다고 설명드릴 수 있습니다.
- Linux: Tested and supported
- Android: Tested and supported
- Windows: Tested and supported
- macOS: Tested and supported
- iOS: Tested and supported
- Web: Tested and supported
세부적인 설명은 공식 문서에 적혀 있습니다.