본문 바로가기

Flutter Desktop 에서 Rust library 사용하기 (3): Windows, macOS 이전 포스트 들에서는 모바일 앱에서 Rust library 를 사용하는 방법을 직접 구현해 봤습니다. 이번에는 cbindgen, ffigen 툴을 활용해서 좀 더 쉽게 Rust library를 연동하고 Desktop OS(Windows, macOS)용 Flutter 앱에서 사용하는 예제를 만들어 보겠습니다. flutter library 생성시 plugin_ffi template을 이용하면 sum을 구하는 예제가 있는데, 여기서는 문자열을 주고 받는 함수로 변경해 보겠습니다. flutter에서 Rust library 사용하기 (1a): Android + JNA (본 포스트) flutter에서 Rust library 사용하기 (1b): Android + JNI flutter에서 Rust library 사용하..
Flutter 에서 Rust library 사용하기 (2): iOS + C library in Rust 이번에 소개할 내용은 Flutter(iOS) 에서 Rust 기반 library 를 사용하는 방법입니다. iOS는 Android와 다르게 dynamic library를 지원하지 않아 static library로 빌드를 해야 합니다. 그리고, C library를 그대로 사용할 수 있기 때문에 JNA용으로 library 소스가 있다면 변경없이 그대로 사용가능합니다. 다만, iOS용으로 빌드를 다시 해줘야 합니다. Xcode setup이 좀 간단하지 않아서 유투브 동영상도 올렸으니 참고해보세요. flutter에서 Rust library 사용하기 (1a): Android + JNA flutter에서 Rust library 사용하기 (1b): Android + JNI flutter에서 Rust library 사용하..
dart ffi with rust dart ffi(foreign function interface)를 통해 rust library를 사용하는 방법을 공유합니다. 예제 app으로는 rust의 audio library의 하나인 rodio 사용해서 음악을 재생합니다. 본 글의 내용은 https://medium.com/flutter-community/how-to-call-a-rust-function-from-dart-using-ffi-f48f3ea3af2c 에서 영감을 얻어 작성하였고, 2022년 9월 기준으로 빌드 가능한 환경으로 구성했으며, rust library에 대한 내용을 추가했습니다. 준비물 dart SDK v2.18.0 rust v1.63.0 rodio에서 재생가능한 음악 파일 (wav, mp3, ...) windows or mac..