Swift로 데스크톱 앱을? Velox로 가능!

by DD
5개월 전
조회수 8

TauriSwift로 포팅한 Velox가 출시되어, Swift 개발자들이 HTML/CSS/JS를 사용하여 데스크톱 앱을 개발할 수 있게 됨

Swift Package Manager를 통해 Rust FFI 크레이트를 빌드하고, Swift API를 통해 윈도우 및 웹뷰를 제어하며, IPC 통신을 지원함

개발자들은 Rust에 대한 지식 없이도 HTML/CSS/JS를 활용하여 데스크톱 앱을 구축할 수 있다는 점에 긍정적인 반응을 보임

Velox 아키텍처: Swift와 Rust의 조화

Velox는 Tauri의 핵심 기능을 Swift 환경으로 가져오기 위해 RustSwift를 결합했다. 구체적으로, Rust FFI를 사용하여 Rust 기반의 TaoWry 라이브러리를 Swift에서 호출할 수 있도록 브릿징한다. 따라서 Swift 개발자는 Rust의 복잡성을 몰라도 HTML/CSS/JS를 사용하여 데스크톱 앱을 개발할 수 있으며, IPC를 통해 Swift와 웹뷰 간의 통신을 구현한다.

자산 로딩 방식: 유연성과 선택

Velox는 두 가지 자산 로딩 방식을 제공하여 개발자에게 유연성을 제공한다. Self-Contained 방식은 HTML을 Swift 코드에 직접 포함시켜 단순한 UI에 적합하며, Bundled Assets 방식은 HTML, CSS, JS를 별도의 파일로 관리하여 복잡한 UI와 팀 협업에 유리하다. 반면, 번들 자산 방식은 빌드 과정에서 자산을 묶어야 하며, HTML/CSS/JS 변경 시 Swift 재컴파일이 필요하다는 단점이 있다.

실전 적용 가이드: Velox 활용 팁

Velox를 활용하기 위해서는 Swift Package Manager를 사용하여 프로젝트를 설정하고, create-velox-app 명령어를 통해 템플릿을 생성하는 것이 좋다. 구체적으로, velox.json 파일을 사용하여 앱을 설정하고, IPC를 통해 Swift와 웹뷰 간의 통신을 구현할 수 있다. 따라서, 예제 코드를 참고하여 다양한 기능을 구현하고, 자산 로딩 방식을 선택하여 프로젝트의 요구 사항에 맞는 개발 환경을 구축해야 한다.

Velox is a port of Tauri to Swift