호환성
NetWiv는 TAURI® 앱의 네이티브 라이브러리와 프론트엔드 API는 유지하고, Rust 코어를 .NET으로 바꿨습니다. 이 페이지는 그 관계를 보여 주고, 데스크톱 SDK인 @netwiv/api가 그 API를 얼마나 구현했는지 측정합니다.
운영체제 지원 범위를 찾으시나요? NetWiv가 실행되는 곳 보기
TAURI와의 관계
| TAURI 앱 | NetWiv 앱 | ||
|---|---|---|---|
| 프론트엔드 API | @tauri-apps/api | 같은 API | @netwiv/api |
| 코어 | tauri crate · Rust | 교체 | NetWiv.Core · .NET |
| 네이티브 | wry · tao · muda · tray-icon공유 · 사전 빌드 | ||
| WebView | WebView2 · WebKitGTK · WKWebView공유 | ||
- 명령, 상태, 권한, 플러그인은 .NET에서 실행되고, 네이티브 라이브러리는 C ABI로 호출합니다.
- 네이티브 계층은 미리 빌드되어 NuGet 패키지에 들어 있습니다. Rust 없이 .NET과 프론트엔드만 다루면 됩니다.
- NetWiv는 독립 프로젝트이며 The Tauri Programme과 제휴하거나 보증을 받지 않았습니다.
앞으로의 방향
NetWiv는 TAURI 위에서 태어났습니다. 목표는 @netwiv/api가 스스로 서는 것입니다.
- 지금
@netwiv/api고정 버전 @tauri-apps/api 코드SDK는 내부에서 고정된 버전의 업스트림 프론트엔드 코드에 위임합니다. 독립적인 프론트엔드 전송 계층은 아직 구현되지 않았습니다. - 목표
@netwiv/apiNetWiv 자체 APISDK가 자체 프론트엔드 전송 계층을 갖춘 NetWiv 고유의 API가 되고, 그 아래에 TAURI 프론트엔드 코드가 남지 않게 합니다.
- 앱은 이미 @netwiv/api만 import하므로, 이 변화는 앱 코드가 아니라 SDK 내부에서 일어나도록 설계되어 있습니다.
SDK 구현 범위
데스크톱 SDK인 @netwiv/api가 무엇을 노출하고 그중 얼마나 구현됐는지, 식별자 하나하나를 소스 기준으로 셌습니다.
@netwiv/api 0.1.0-dev, 목록 기준일 2026-10-13. "구현됨"은 실행 경로가 있다는 뜻이며, 인자·오류·GUI까지 완전히 같다는 뜻은 아닙니다. 프론트엔드 SDK
- 구현됨614
- 선언만 제공55
SDK에서 뺀 것19
- 모바일 전용 11뒤로 가기 버튼, activity와 scene, 입력 보조 뷰
- 테스트 mock 6mocks 모듈은 SDK에 넣지 않았습니다
- TAURI 식별 2isTauri와 getTauriVersion. 런타임 감지 기능은 없어졌습니다
모듈별
| 모듈 | SDK에 포함 | 노출 | 제외 |
|---|---|---|---|
| app | 14 | 3 | |
| core | 27 | 1 | |
| dpi | 46 | — | |
| event | 15 | — | |
| image | 14 | — | |
| menu | 123 | — | |
| mocks | 0 | 6 | |
| path | 34 | — | |
| tray | 35 | — | |
| webview | 55 | 1 | |
| webviewWindow | 98 | 2 | |
| window | 208 | 6 | |
| 합계 | 669 | 19 |
window 190 구현됨 · 18 선언만 제공 · 6 제외
업스트림 기준
런타임은 모바일 항목을 포함한 고정 버전 @tauri-apps/api 2.11.1 전체 목록을 기준으로 셉니다.
- 구현됨619
- 선언만 제공57
- 구현 안 됨10
- 의도적 차이2
- 688
비교 테스트가 연결된 식별자 243개. SDK에만 있는 동작은 업스트림 통과로 세지 않습니다. 전체 상태 표
플러그인과 확장
메서드 단위가 아니라 기능 묶음 단위입니다. 프론트엔드의 플러그인 호출은 @netwiv/api/plugins/*로 하고, Blazor Hybrid는 선택형 .NET 패키지입니다. 모바일과 업데이터는 프로젝트 범위 밖입니다. 설명은 영어 원문입니다.
- 구현됨1
- 일부8
- 실험적1
- 진행 중17
- 구현 안 됨2
Blazor Hybrid 구현됨
Managed Razor UI hosting
Optional NetWiv.BlazorHybrid provides matching .NET 8/9/10 assets for Windows x64, Linux x64 and macOS arm64 and defaults to Microsoft's managed WebView services via AddNetWivBlazorHybrid(). Standard component and JS-invokable discovery do not require the experimental registry. Selected native rendering, command IPC, interop and lifecycle checks passed on physical Windows/macOS and Linux under WSLg on X11 and native Wayland. Rider/Visual Studio UI acceptance, Hot Reload and arbitrary component libraries remain unverified. See Blazor Hybrid for platform and debugger validation.
읽는 법
- 구현됨
- 정해진 플랫폼 범위에서 실행 경로가 있습니다. 인자, 오류, GUI까지 완전히 같다는 뜻은 아닙니다.
- 선언만 제공
- 고정된 업스트림 선언이 타입이나 상수를 제공합니다. 그 멤버는 따로 셉니다.
- SDK에서 뺀 것
- 업스트림 목록에는 있지만 SDK에는 없습니다. 업스트림 기준에서는 계속 셉니다.
- 구현 안 됨
- 사용할 수 없습니다. 빈 결과만 돌려주거나 옵션을 무시하는 선언도 포함합니다.
- 의도적 차이
- 런타임 식별 확인처럼 일부러 지원하지 않는 항목입니다. 문서화된 차이이며 통과가 아닙니다.