#Wails
18 편의 글
Wails 실전 강좌 #10 마감과 완성도 — 설정·다크모드·데이터 백업
시리즈의 마지막 글입니다. 기능은 다 됐지만 앱을 다시 열고 싶게 만드는 마감 요소를 채웁니다. 설정을 저장하고 불러오는 구조, 시스템을 따라가는 다크모드, 창 상태 기억, 사용자 데이터를 잃지 않게 하는 백업·내보내기·가져오기, 그리고 열 편 전체를 관통한 원칙의 회고를 다룹니다.
Wails 실전 강좌 #9 자동 업데이트 구현 — 새 버전을 안전하게 전달
#6에서 전략만 이야기한 자동 업데이트를 실제로 구현합니다. 앱에 버전을 심고 GitHub Releases에서 최신 버전을 조회하는 법, 알림형 업데이트를 안전하게 만드는 구현, 완전 자동 교체가 왜 위험하고 무엇을 지켜야 하는지, 그리고 서명·CI와 어긋나지 않게 버전을 흘리는 흐름을 다룹니다.
Wails 실전 강좌 #8 테스트 전략 — 서비스와 저장소를 검증하기
#1에서 층을 나누며 약속했던 테스트를 실제로 작성합니다. Wails 없이 순수 Go로 서비스 로직을 검증하는 단위 테스트, 임시 SQLite로 저장소를 검증하는 통합 테스트, 테이블 주도 테스트로 경계 조건을 훑는 법, 그리고 이 테스트를 #6의 CI에 넣어 릴리스 전에 자동으로 돌리는 법을 다룹니다.
Wails 실전 강좌 #7 노트 에디터 실전 — 마크다운 미리보기와 목록 UX
2부의 첫 글입니다. 지금까지 백엔드에 치우쳤던 노트 앱의 앞단을 실제로 만듭니다. 마크다운을 안전하게 렌더링하는 미리보기, 타이핑이 멈추면 저장하는 디바운스 자동저장, 편집이 목록 정렬을 흔들지 않게 다루는 법, 그리고 키보드로 노트를 넘나드는 목록 UX를 다룹니다.
Wails 실전 강좌 #6 CI/CD 자동 릴리스 — GitHub Actions로 세 플랫폼 배포
태그 하나로 세 플랫폼 릴리스가 자동 생성되게 만들며 시리즈를 마칩니다. macOS를 크로스컴파일할 수 없어 매트릭스 빌드가 필요한 이유, GitHub Actions에서 플랫폼별 러너로 빌드·서명하는 워크플로, 순수 Go SQLite가 CI를 단순하게 만드는 지점, 자동 업데이트 전략, 그리고 여섯 편 전체 요약을 다룹니다.
Wails 실전 강좌 #5 서명과 공증 — 배포된 앱이 신뢰받는 법
완성한 노트 앱을 다른 사람의 기기에서 경고 없이 실행되게 만듭니다. 서명하지 않은 앱이 macOS Gatekeeper와 Windows SmartScreen에서 차단되는 이유, macOS 코드 서명과 공증(notarytool) 절차, Windows 코드 서명 인증서의 종류와 비용, 그리고 이 과정을 CI로 넘기기 전에 알아야 할 것을 다룹니다.
Wails 실전 강좌 #4 트레이 상주와 전역 단축키 — 백그라운드에서 빠르게 캡처
노트 앱을 창을 닫아도 살아 있는 백그라운드 앱으로 만듭니다. Wails v2에 내장 트레이가 없다는 사실과 우회 방법, 창 닫기를 종료가 아니라 숨김으로 바꾸는 법, 전역 단축키로 어디서든 새 노트를 캡처하는 구현, 그리고 v3의 내장 트레이가 이 부분을 어떻게 바꾸는지 다룹니다.
Wails 실전 강좌 #3 전문 검색과 데이터 흐름 — FTS5와 이벤트 기반 갱신
노트 앱에 빠른 전문 검색을 붙이고 데이터 흐름을 정리합니다. SQLite FTS5 가상 테이블과 트리거로 검색 인덱스를 자동 유지하는 법, Go에서 검색을 서비스로 노출하는 법, 그리고 데이터가 바뀔 때 Wails 이벤트로 프론트엔드를 갱신해 진실을 한 곳에 두는 설계를 다룹니다.
Wails 실전 강좌 #2 SQLite 로컬 데이터베이스 — CGO 없이 순수 Go로
노트 앱에 영속 저장을 붙입니다. Wails 앱에서 SQLite를 쓸 때 CGO가 크로스컴파일을 막는 문제를 순수 Go 드라이버 modernc.org/sqlite로 우회하는 법, 저장소 층 구현, 스키마와 마이그레이션, 그리고 서비스 층에서 검증을 거는 CRUD를 다룹니다.
Wails로 데스크톱 앱 만들기 #8 디버깅 — 개발자 도구·로그·흔한 에러
입문자가 가장 자주 막히는 지점을 모아 다룹니다. 개발 중 WebView 개발자 도구를 여는 법, 프론트엔드와 Go 양쪽 로그를 보는 법, 빌드된 앱을 -debug로 진단하는 법, 그리고 빈 화면·바인딩 못 찾음·context nil 같은 흔한 에러의 원인과 해결을 다룹니다.
Wails 실전 강좌 #1 실전 프로젝트 설계 — 무엇을 만들고 어떻게 나눌까
Wails 실전 시리즈의 첫 글입니다. 입문에서 만든 메모리 기반 할 일 앱을 넘어, 실제로 배포할 만한 로컬 노트 앱을 설계합니다. 무엇을 만들지 정하고, Go 백엔드를 서비스 레이어로 나누는 경계, 프론트엔드 상태 관리의 선택, 그리고 여섯 편에서 완성할 최종 형태의 지도를 그립니다.
Wails로 데스크톱 앱 만들기 #7 프론트엔드 프레임워크 붙이기 — Svelte·Vue·React
본편에서 바닐라로 만든 앞단을, 상태가 늘어나는 실제 앱을 위해 프레임워크로 바꿉니다. Wails가 프론트엔드를 가리지 않는다는 것의 의미, wails init 템플릿으로 Svelte·Vue·React를 시작하는 법, 생성된 바인딩이 프레임워크와 무관하게 같다는 점, 그리고 바인딩 결과를 프레임워크 상태로 잇는 법을 다룹니다.