로드맵 & 패리티
Suji 가 현재 제공하는 기능과 한계를 정리합니다.
구현됨 (발췌)
섹션 제목: “구현됨 (발췌)”- 창/렌더러 제어, clipboard(text/html/rtf/png/tiff/buffer), dialog, shell, globalShortcut, tray, menu, notification, screen, powerMonitor, safeStorage(macOS/Windows), session(cookies/clearStorageData), webRequest (blocklist + dynamic listener), desktopCapturer(sources + 썸네일 파일경로).
- 멀티 백엔드(Zig·Rust·Go·Node) + 자동 라우팅, 공식 플러그인 state·sqlite
(5언어 래퍼),
suji types타입 자동 생성(Zig). - 권한 모델: fs 샌드박스 + shell/dialog/캡처/nativeImage opt-in 게이트 + 모바일 권한 게이트(iOS/Android).
- 임베드 코어 분리 + 모바일(iOS/Android, Rust·Go 백엔드, SQLite).
- autoUpdater(manifest → download → SHA-256 → quit-and-install) · crashReporter (CEF Crashpad/Breakpad).
현재 한계
섹션 제목: “현재 한계”protocol.handle(임의 cross-origin 동적 핸들러): 아직 지원되지 않습니다. 같은 origin 정적 서빙은protocol: "suji"로 충족됩니다.- iOS HTTPS/TLS: 실기기에서는 아직 검증되지 않았습니다.
- desktopCapturer 썸네일 인코딩: macOS Screen Recording 권한이 필요하며, 권한이 없으면 실패합니다.
process.run/http.fetch: 백엔드 전용입니다(렌더러에는 노출하지 않는 의도된 보안 설계).- autoUpdater / crashReporter: 1차 구현. 실제 크래시 업로드 서버 검증과 전 플랫폼 install 경로는 아직 제공되지 않습니다.
- Windows/Linux 앱 패키징: macOS
.app번들·서명·공증·dmg 대비 아직 성숙하지 않았습니다.