불러오는 중…

MyGo — Go로 만드는 작고 빠른 데스크톱 앱 프레임워크

데스크톱 앱을 만들 때, 무거운 브라우저 엔진을 통째로 끼워 넣지 않고 Go 하나로 작고 빠르게 만들 수 있다면 어떨까요. 창마다 웹 프론트엔드와 네이티브 UI를 골라 쓸 수 있는 Go용 데스크톱 앱 프레임워크가 있습니다.

이게 뭐에요?

MyGo는 Go로 데스크톱 앱을 만드는 오픈소스 프레임워크입니다. macOS, Windows, Linux에서 동작하고, 결과물은 수 메가바이트 수준의 작은 Go 바이너리 하나입니다. 각 창은 두 가지 방식 중 하나로 화면을 보여주는데, 한 앱 안에 두 방식을 섞을 수도 있습니다. 웹 프론트엔드 방식은 운영체제에 이미 있는 웹뷰(macOS의 WKWebView, Linux의 WebKitGTK, Windows의 WebView2)에 HTML·CSS·JavaScript 화면을 띄우고, 네이티브 UI 방식은 Go 코드만으로 화면을 구성해 MyGo가 GPU에 직접 그립니다.

뭐가 재밌어요?

  • 창마다 UI 방식을 고릅니다: 풍부한 문서나 기존 웹 코드가 필요하면 웹 프론트엔드, 즉시 뜨는 도구·설정·유틸리티면 네이티브 UI를 쓰면 됩니다. 한 앱, 심지어 한 창 안에서도 두 방식을 섞을 수 있습니다.
  • 네이티브 UI는 웹뷰가 아예 없습니다: 화면은 앱 상태에 대한 Go 함수로 표현하고, MyGo가 Metal·Direct3D·OpenGL로 GPU에 직접 그립니다. HTML도 JavaScript도 바인딩도 없어 창이 바로 뜨고 메모리도 적게 씁니다. flexbox·grid 레이아웃, 위젯, 텍스트 편집, 스크린 리더 지원도 갖췄습니다.
  • Go와 화면 사이가 타입으로 연결됩니다: 웹 프론트엔드에서는 Go 서비스를 바인딩하면 그 Go 코드에서 TypeScript 클라이언트가 자동 생성됩니다. 페이지가 Go 메서드를 호출하고, 채널로 값을 스트리밍하며 타입 있는 이벤트를 받는 구조라, 프론트엔드와 백엔드 사이를 손으로 맞추는 수고가 줄어듭니다.
  • 순수 Go라 cgo가 필요 없습니다: C 툴체인을 설치하지 않아도 되고, 어느 머신에서나 모든 플랫폼용으로 빌드할 수 있습니다. 네이티브 UI만 쓰는 앱은 실행할 때도 웹뷰가 필요 없습니다.
  • 데스크톱 API가 처음부터 들어 있습니다: 창, 메뉴, 트레이, 다이얼로그, 알림, 전역 단축키, 딥링크, 파일 연결, 최근 문서, 클립보드, 다크 모드, 파일 감시 등 두 방식의 창이 공통으로 쓰는 기능이 준비돼 있습니다.
  • 배포까지 한 세트입니다: 앱 번들과 디스크 이미지, Windows 인스톨러, 데비안 패키지, 코드 서명과 공증, 서명된 자동 업데이트(델타 업데이트 포함)까지 지원합니다. 태그를 푸시하면 GitHub Actions로 전 플랫폼 빌드·서명·공증·배포를 돌리는 워크플로도 있습니다.

지금 상태는?

오늘 확인 기준으로 MyGo는 MIT 라이선스의 오픈소스로, 2026년 9월 26일에 공개됐고 GitHub 스타 약 4,176개·포크 237개 수준입니다. 최신 릴리스 계열은 0.7대입니다. 개발에는 Go 1.27.3 이상이 필요하고, 웹 프론트엔드 프로젝트에는 Bun도 필요합니다(네이티브 UI 프로젝트는 Go만으로 충분합니다). 실행 환경은 macOS 12 이상, Windows 10·11, Linux(x64·arm64)이며, 웹 페이지를 보여주는 Windows 앱은 WebView2 런타임이, Linux 앱은 GTK 3와 WebKitGTK가 필요합니다. 공식 사이트 표기 기준으로 바이너리 약 7MB, 네이티브 UI 메모리 약 44MB, 웹뷰 포함 메모리 약 62MB, 유휴 CPU 0% 수준입니다. 시작은 웹 프론트엔드용 bunx mygo-cli init my-app, 네이티브 UI용 go run github.com/egoist/mygo/cmd/mygo@latest init -template native my-app입니다.

한 줄 평: "Go 개발자가 데스크톱 앱을 만들 때, 무거운 런타임 대신 작은 바이너리 하나로 끝내는 선택지입니다."

링크 모음

댓글 0

아직 댓글이 없어요. 첫 댓글을 남겨 주세요.

댓글 남기기

댓글 입력창은 Blogger(Google)가 제공해요.