모바일, 한 단어 네 가지 역할
네 레포는 서로 경쟁 상대가 아닙니다. Swiper는 UI 컴포넌트, Avalonia는 데스크톱 중심 크로스플랫폼 프레임워크, Expo는 모바일 네이티브 앱 개발 프레임워크, RustDesk는 모바일 클라이언트를 포함한 완성된 앱입니다. '모바일을 지원한다'는 접점 하나로 묶어, 독자가 자신이 만들려는 것이 UI 조각인지, 멀티플랫폼 앱인지, 네이티브 앱인지, 완성된 서비스인지에 따라 어떤 레이어의 도구를 골라야 하는지 가늠하게 돕는 비교입니다.
왜 이들을 묶었나 — 같은 '모바일' 키워드로 묶였지만 네 레포가 다루는 범위는 UI 컴포넌트부터 완성된 앱까지 완전히 다릅니다. 이 차이를 무시하고 별점이나 유명도로만 순위를 매기면 독자는 실제로 필요한 것과 전혀 다른 도구를 고를 수 있습니다. 그래서 이 비교는 '어느 것이 더 좋은가'가 아니라 '내가 지금 만들려는 것이 어느 레이어에 속하는가'를 먼저 판단하게 하고, 그 레이어에서 각 레포가 어떤 강점과 비용을 가지는지 구체적인 사실(코드 구조, 빌드 체인, 라이선스)로 짚어줍니다.
expo/expo
React와 JavaScript로 Android, iOS, 웹용 네이티브 앱을 한 번에 만드는 프레임워크
왜 이걸 골랐나 — 네 레포는 '모바일'이라는 교차점만 공유할 뿐 실제로는 레이어가 다릅니다. Swiper는 UI 컴포넌트, Avalonia는 데스크톱 중심 크로스플랫폼 프레임워크, RustDesk는 특정 용도의 완성된 앱입니다. '모바일 앱을 직접 만드는' 범용 입문 도구는 이 중 Expo뿐이며, React 지식만으로 iOS/Android/웹을 동시에 다루고 EAS로 배포까지 이어지는 체인이 갖춰져 있어 처음 모바일 개발을 시작하는 사람에게 권할 첫 선택입니다.
여섯 가지 차원으로 견줬습니다
| 차원 | nolimits4web/swiper🍚 착한밥상 | AvaloniaUI/Avalonia🍚 착한밥상 | expo/expo🍚 착한밥상 | rustdesk/rustdesk🍚 착한밥상 |
|---|---|---|---|---|
| install첫 실행까지 걸리는 수고 | 한 줄 설치npm install 후 필요한 모듈만 import하면 바로 동작하며 별도 빌드체인이 필요 없습니다. | .NET SDK 필요dotnet 템플릿으로 시작하지만 모바일 타겟은 Android/iOS SDK 추가 설정이 필요합니다. | CLI 한 번npx create-expo-app과 Expo Go로 빠르게 시작할 수 있으나 네이티브 빌드는 EAS·Xcode 설정이 필요합니다. | 빌드체인 복잡vcpkg로 libvpx·opus 등 코덱을 링크하고 flutter_rust_bridge FFI까지 직접 구성해야 합니다. |
| scale실제 서비스에서 버틸 체급 | 가볍고 빠름모듈식 트리셰이킹으로 번들을 최소화하고 하드웨어 가속 트랜지션을 사용합니다. | 네이티브급 렌더링Skia 자체 렌더링으로 일관된 성능을 내지만 모바일 백엔드는 데스크톱보다 적용 사례가 적습니다. | 대규모 프로덕션수십 개 패키지의 모노레포 구조로 대형 앱들이 실제 채택한 네이티브 브릿지를 갖추고 있습니다. | 실시간 스트리밍 최적화Rust 코어와 하드웨어 가속 캡처 feature flag로 화면 전송 성능을 확보합니다. |
| activity최근 커밋·이슈 대응 속도 | 꾸준한 모듈 확장신뢰도 1.48로 가장 높으며 React/Vue/Web Component 래퍼까지 지속적으로 갱신됩니다. | 플랫폼 확장 지속Android/iOS/Browser 백엔드가 계속 추가되고 ControlCatalog 샘플로 검증됩니다. | 거대 CI/릴리즈 체계changesets와 AI 코드리뷰까지 갖춘 PR 자동 검증 인프라를 운영합니다. | 활발하지만 포크 의존자체 크레이트 다수를 rustdesk-org 포크로 관리하며 AGPL 특성상 생태계가 다소 폐쇄적입니다. |
| curve익혀야 할 개념의 양 | API 단순슬라이더 옵션 몇 개로 시작할 수 있고 프레임워크 지식이 거의 필요 없습니다. | XAML+MVVMWPF 경험자는 수월하지만 처음 접하면 바인딩·스타일 개념을 새로 학습해야 합니다. | React만 알면 충분JS/React 지식으로 시작할 수 있으나 네이티브 모듈을 깊이 다루려면 bare workflow 이해가 필요합니다. | 다층 스택Rust 코어, Flutter/Dart UI, FFI, 플랫폼별 네이티브 코드까지 두루 알아야 합니다. |
| 라이선스상업적 사용 | ✅ MIT | ✅ MIT | ✅ MIT | ➖ AGPL-3.0 |
| 용도 적합어디에 맞나 | 모바일 웹이나 하이브리드 앱에서 터치 캐러셀·슬라이더 UI만 빠르게 붙이고 싶을 때 맞습니다. | C#/.NET 팀이 이미 운영 중인 데스크톱 앱을 모바일까지 확장하려는 경우에 맞습니다. | React/JS 팀이 빠르게 모바일 네이티브 앱을 만들고 배포까지 이어가고 싶은 경우에 맞습니다. | 자체 인프라로 운영되는 원격 제어/화면공유 앱이 필요하고 모바일 클라이언트도 함께 필요한 경우에 맞습니다. |
각자 무엇을 잘하고, 무엇을 포기했나
모던 터치 기반 슬라이더로 하드웨어 가속 애니메이션과 RTL 완벽 지원을 제공하는 무료 라이브러리
👍 장점
- 순수 JS 코어에 React/Vue/Web Component 래퍼까지 제공해 어떤 스택에도 붙일 수 있습니다.
- 모듈식 설계로 필요한 기능만 골라 번들 크기를 최소화할 수 있습니다.
- 하드웨어 가속 터치 트랜지션으로 모바일 웹에서도 부드러운 스와이프를 구현합니다.
👎 단점
- UI 컴포넌트 라이브러리일 뿐 앱 전체를 만들어주는 프레임워크는 아닙니다.
- 복잡한 레이아웃을 커스터마이징하려면 별도 CSS 튜닝이 필요합니다.
WPF 정신의 후계자, .NET 크로스플랫폼 UI 프레임워크
👍 장점
- 하나의 XAML/C# 코드베이스로 데스크톱, 모바일, 웹까지 함께 커버합니다.
- WPF 경험자가 바로 적용 가능한 익숙한 개발 모델을 제공합니다.
- 자체 렌더링(Skia)으로 플랫폼 룩앤필에 종속되지 않는 일관된 UI를 유지합니다.
👎 단점
- 모바일(Android/iOS) 백엔드는 데스크톱 대비 상대적으로 덜 성숙합니다.
- 거대한 멀티프로젝트 솔루션이라 Nuke 빌드 인프라를 이해하는 데 진입 비용이 있습니다.
React와 JavaScript로 Android, iOS, 웹용 네이티브 앱을 한 번에 만드는 프레임워크
👍 장점
- React 지식만으로 iOS/Android/웹 네이티브 앱을 동시에 개발할 수 있습니다.
- expo-router와 EAS 빌드/배포까지 포함한 풀스택 도구체인을 갖추고 있습니다.
- 수십 개 공식 네이티브 모듈 패키지가 모노레포로 함께 관리되어 호환성이 검증됩니다.
👎 단점
- 모노레포 규모가 커서 특정 네이티브 모듈을 깊이 커스터마이징하려면 bare workflow 이해가 필요합니다.
- EAS 등 일부 빌드/배포 기능은 Expo 클라우드 서비스에 대한 의존도가 있습니다.
다른 컴퓨터를 마우스·키보드로 원격 제어하는 오픈소스 데스크톱 앱
👍 장점
- Rust 코어 성능과 자체 rendezvous/relay 서버로 데이터 통제권을 확보할 수 있습니다.
- Android/iOS까지 포함한 멀티플랫폼 원격 제어 클라이언트를 제공합니다.
- feature flag로 플랫폼별 하드웨어 가속 캡처 경로를 선택적으로 컴파일할 수 있습니다.
👎 단점
- vcpkg, 다중 코덱, flutter_rust_bridge FFI 등 빌드 체인이 매우 복잡합니다.
- AGPL-3.0 라이선스라 상업적 활용 시 라이선스 검토가 필요합니다.
용도별 추천
Expo CLI와 expo-router로 개발하고 EAS로 빌드·배포까지 한 체인에서 처리할 수 있습니다.
같은 XAML/C# 코드베이스를 Android/iOS 백엔드로 확장해 재사용할 수 있습니다.
npm install 후 필요한 모듈만 import하면 하드웨어 가속 스와이프 UI가 바로 완성됩니다.
Android/iOS 클라이언트로 자체 운영 서버를 거쳐 데스크톱을 원격 제어할 수 있습니다.
어떤 기준으로 견줬나
맛대결은 순위표가 아닙니다. 아래 여섯 차원은 “설치해서 실제로 쓸 때 결과가 갈리는 지점”만 골랐고, 등급은 검증단이 각 레포를 실제 설치·실행해 남긴 기록과 공개 저장소 데이터에 근거합니다.
등급은 절대 점수가 아니라 이 대결 안에서의 상대 비교입니다 · 착한밥상 배지는 4개 관문(안전·실속·살아있음·숙성)을 통과한 레포에만 붙습니다 · 관찰 중 표기는 숙성 기간이 아직 차지 않은 경우입니다.
지난 맛대결
1회차지금 보고 있는 최신 회차는 무료입니다. 그 앞의 1회차는 깃밥 PRO에서 열립니다 — 같은 카테고리가 회차를 거치며 어떻게 바뀌었는지 견주는 기록입니다.
깃밥 PRO 전용 · 지난 회차 맛대결 전문 — 회차별 6차원 비교 · 간판 선정 이유 · 참가 레포 장단점
최신 회차 맛대결 전문 — 지금처럼 무료로 열립니다.