Reddit

Wails v3.0.0 released: Go applications for desktop, server and mobile

Wails v3.0.0 출시: Go로 데스크톱·서버·모바일 앱 개발

Go 백엔드와 플랫폼 내장 WebView를 쓰는 앱 개발 프레임워크 Wails가 v3.0.0을 출시했습니다. 다중 창과 네이티브 메뉴, 서비스 바인딩 생성, 서버 빌드를 지원하며 모바일은 실험 단계입니다. v2에서 옮기려면 앱 구조와 바인딩을 포팅해야 합니다.

에디터 노트

Wails v3의 플랫폼별 내장 WebView 사용은 별도 브라우저를 묶지 않는 대신 렌더링 환경이 플랫폼에 따라 달라지는 선택입니다. 댓글의 Chromium 지원 질문은 이 차이를 짚지만, 유지관리자의 "어쩌면요"와 "계속 지켜봐 주세요"는 계획 발표가 아닙니다. v3는 다중 창과 서비스 기반 구조, 서버 빌드까지 범위를 넓혔고 모바일 지원은 문서상 실험 단계입니다. 기존 v2 앱에는 실제 포팅 작업이 필요하지만 v2 중요 수정은 계속 제공한다고 밝혔습니다. 따라서 새 프로젝트에는 v3를 안내하면서 기존 앱은 마이그레이션 비용과 모바일의 안정성 수준을 별도로 판단할 수 있게 한 릴리스입니다.

AI 요약

Wails가 Go와 웹 프런트엔드로 데스크톱 앱을 만드는 프레임워크 v3.0.0을 출시했습니다. 별도 브라우저를 앱에 넣지 않고 각 플랫폼의 내장 WebView를 사용합니다. v3에서는 앱, 창, 서비스, 이벤트, 플랫폼 기능을 명시적인 객체로 다루도록 구조를 바꿨습니다. v2의 단일 창과 컨텍스트 중심 런타임에서 벗어나 여러 창을 일반적인 앱 구성 요소로 지원합니다.

v3.0.0 주요 기능

  • 실행 중 창을 만들고 관리하거나 닫을 수 있으며 창마다 설정과 수명 주기를 둡니다. 시스템 트레이, 애플리케이션·컨텍스트 메뉴, 네이티브 대화상자도 지원합니다. macOS에서는 밝은 테마와 어두운 테마 아이콘, 템플릿 아이콘을 쓸 수 있고 트레이 아이콘에 창을 연결할 수 있습니다.
  • 백엔드는 일반 Go 코드로 작성합니다. 정적 소스 분석으로 JavaScript·TypeScript 바인딩을 생성하며, 주석과 매개변수 이름도 프런트엔드 쪽에 반영합니다. 생성 명령은 wails3 generate bindings입니다. 빌드는 확인하고 수정할 수 있는 Taskfile 기반으로 바뀌었습니다.
  • Windows와 macOS, Linux를 지원합니다. Windows와 Linux는 amd64·arm64, macOS는 Intel과 Apple Silicon을 대상으로 합니다. Linux 기본 구성은 GTK4와 WebKitGTK 6.0이며, v3.1까지 -tags gtk3로 GTK3를 선택할 수 있습니다. 같은 main.go와 프런트엔드로 iOS·Android 앱도 실행하지만 모바일 지원은 실험 단계입니다. 네이티브 창 없이 같은 앱과 서비스를 HTTP 서버로 실행하는 빌드도 제공합니다.
  • 인앱 업데이트 기능에는 교체 가능한 공급자, 암호화 검증, 원자적 바이너리 교체, 기본 UI가 포함됩니다. 플랫폼별 코드 서명과 설치 프로그램, MSIX 패키징 안내도 제공합니다. v3 모듈은 Go 1.26으로 빌드합니다.

베타 이후 변경과 이전

베타 발표 뒤 WebView2 프로세스 실패 시 복구와 COM 수명 관리 문제 수정, 키보드 배열에 맞춘 macOS 전역 단축키, Linux 파일 시스템 간 바이너리 교체와 AppImage 업데이트 개선이 추가됐습니다. 설정 마법사 wails3 setup을 완성했고, wails3 dev는 앱이 종료되면 백그라운드 프로세스도 정리합니다. macOS 26 이상에서는 Liquid Glass 효과를 지원하고 이전 버전에는 대체 동작을 둡니다.

v2에서 v3로 옮기는 작업은 버전만 올리는 변경이 아닙니다. 앱과 창의 수명 주기, 컨텍스트 바인딩 대신 서비스 사용, v2 runtime 패키지 대신 앱·창 API 사용, 프런트엔드 바인딩 재생성이 필요합니다. 마이그레이션 안내서에는 전후 예제가 있습니다. 기존 v2 앱을 유지하면서 준비된 시점에 포팅할 수 있으며 v2는 중요한 수정 사항을 계속 받습니다. 두 CLI는 wails와 wails3로 나뉘고 모듈 경로도 달라 한 컴퓨터에 함께 설치할 수 있습니다.

설치와 배포 일정

go install github.com/wailsapp/wails/v3/cmd/[email protected]으로 CLI를 설치한 뒤 wails3 setup으로 환경과 의존성을 확인하고 wails3 init으로 프로젝트를 만듭니다. 프로젝트는 날짜를 붙인 nightly 사전 릴리스를 제공하고 주간 마이너 버전도 내는 일정으로 전환합니다. 재현 가능한 버그를 제보할 때는 wails3 doctor 출력과 최소 예제를 함께 제출하도록 안내합니다. 새 기능이나 공개 동작 변경 제안은 기능 요청 이슈 대신 WEP(Wails Enhancement Proposal) 초안 PR로 시작해 달라고 요청합니다.

Reddit 반응

  • @WingAlternative3919 — 정말 좋네요. 감사합니다.
  • @Scyth3 — 멋집니다. 지금 제 앱을 업그레이드하고 있습니다. 좋은 프레임워크를 만들어 주셔서 감사합니다.
  • @Ok_Manufacturer_8213 — 정말 멋집니다. Wails를 오래 써 왔는데 v3가 정말 훌륭합니다. 수고해 주셔서 감사합니다.
  • @anfragment — 지난 몇 년간 Wails를 만들어 주셔서 감사합니다. 출시되어 정말 기쁩니다.
  • @DracTea — 모든 대상 플랫폼에서 렌더링을 일관되게 유지하도록 Chromium을 추가할 계획이 있나요?
    • @HogynCymraeg — 어쩌면요.
  • @bbkane_ — 업무를 추적하는 완벽한 할 일 앱을 만들 때 Wails를 쓰고 있습니다. 정말 잘 작동했습니다.
    • @HogynCymraeg — 테스트에도 MCP 서버 빌드 태그를 써 보세요.
    • @bbkane_ — 알아보겠습니다.
  • @UpcomingDude1 — Tauri보다 간단하고 쓰기 쉽네요. 다만 WebView는 마음에 들지 않습니다. Chromium을 묶어 넣을 수 있나요?
    • @HogynCymraeg — 계속 지켜봐 주세요.
    • @UpcomingDude1 — 그렇게 되면 Electron과 비슷하면서 더 안정적이고 일관된 방식이겠네요.

원문: Wails 블로그 / 번역·요약: Trawling