네이티브 렌더링 엔진을 사용해 웹 프론트엔드(React, Vue, Svelte 등)를 갖춘 크로스 플랫폼 데스크톱 앱을 만들 수 있는 Go 프레임워크입니다.
egoist/mygo
OS webview를 사용하는 웹 프런트엔드나 GPU에서 그리는 네이티브 UI로 데스크톱 앱을 만들 수 있는 Go 프레임워크입니다.
- 스타
- 5,015
- 포크
- 303
- 열린 이슈
- 100
- 마지막 커밋
- 22시간 전
어떤 프로젝트인가요?
MyGo를 사용하면 Go로 두 가지 유형의 창을 갖춘 데스크톱 애플리케이션을 만들 수 있습니다. 하나는 운영체제가 제공하는 webview(macOS의 WKWebView, Linux의 WebKitGTK, Windows의 WebView2)에 웹 페이지를 표시하는 창이고, 다른 하나는 HTML, JavaScript 또는 webview 없이 MyGo가 GPU에서 그리는 네이티브 Go UI 툴킷을 사용하는 창입니다. 하나의 창이나 앱에서 두 방식을 함께 사용할 수도 있습니다.
웹 프런트엔드에서는 Go 코드로 생성한 TypeScript 클라이언트를 통해 Go 서비스를 바인딩하고 노출하며, 타입이 지정된 IPC, 값을 스트리밍하는 채널, 타입이 지정된 이벤트를 제공합니다. 이 프로젝트는 cgo를 사용하지 않는 순수 Go로 작성되어 어떤 머신에서든 크로스 컴파일할 수 있습니다. 데스크톱 API는 창, 메뉴, 트레이, 대화상자, 알림, 전역 단축키, 딥 링크, 파일 연결, 시스템 강조 색상을 지원합니다.
이 프로젝트에는 앱 번들, 디스크 이미지, Windows 설치 프로그램, Debian 패키지, 코드 서명, 공증, 델타 업데이트를 지원하는 서명된 자동 업데이트 등 패키징 및 배포 도구도 포함되어 있습니다.
핵심 기능
- 01생성된 TypeScript 클라이언트를 통해 Go 코드를 호출하는 웹 페이지 창.
- 02flexbox 및 grid 레이아웃, 위젯, 가상화된 목록을 지원하는 Go 기반 네이티브 UI 툴킷.
- 03cgo를 사용하지 않는 순수 Go로, 어떤 머신에서든 크로스 플랫폼 빌드가 가능합니다.
- 04메뉴, 트레이, 대화상자, 알림, 전역 단축키, 딥 링크를 위한 데스크톱 API.
- 05macOS, Windows, Linux용 패키징 및 서명된 자동 업데이트.
활용 사례
- 백엔드 로직과 UI 모두에 Go를 사용하려는 팀을 위한 데스크톱 도구 개발.
- 빠르게 실행되고 메모리를 적게 사용하는 경량 네이티브 UI 앱 제작.
- 코드 서명과 자동 업데이트를 지원하는 크로스 플랫폼 데스크톱 앱 배포.
- 시스템 webview를 사용해 Go 기반 웹 프런트엔드를 데스크톱 앱에 추가.
빠른 시작
- 1
Go 1.27.3 이상과 Bun을 설치합니다
- 2
웹 프런트엔드 앱을 만듭니다
bunx mygo-cli init my-app - 3
프로젝트 폴더로 이동합니다
cd my-app - 4
개발 서버를 시작합니다
bun run dev
사용 전 알아둘 점
- 빠른 시작을 사용하려면 Go 1.27.3 이상과 Bun이 필요합니다.
Repolode 주간에 소개됨
- 제 3호 · SSD에서 전문가를 불러오는 대형 MoE, 밀리초 단위 Rust 재빌드
Go 데스크톱 앱 프레임워크로, OS 웹뷰의 웹 프런트엔드와 GPU로 그리는 네이티브 UI 중에서 고를 수 있습니다. cgo 없는 순수 Go라 어느 머신에서나 크로스 빌드가 됩니다.
포함된 컬렉션
토픽
자주 묻는 질문
- mygo은(는) 무엇인가요?
- OS webview를 사용하는 웹 프런트엔드나 GPU에서 그리는 네이티브 UI로 데스크톱 앱을 만들 수 있는 Go 프레임워크입니다. MyGo를 사용하면 Go로 두 가지 유형의 창을 갖춘 데스크톱 애플리케이션을 만들 수 있습니다. 하나는 운영체제가 제공하는 webview(macOS의 WKWebView, Linux의 WebKitGTK, Windows의 WebView2)에 웹 페이지를 표시하는 창이고, 다른 하나는 HTML, JavaScript 또는 webview 없이 MyGo가 GPU에서 그리는 네이티브 Go UI 툴킷을 사용하는 창입니다. 하나의 창이나 앱에서 두 방식을 함께 사용할 수도 있습니다.
- mygo은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- mygo은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- mygo은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. mygo의 마지막 커밋은 2026년 11월 6일입니다.
- mygo은(는) 어디에 사용할 수 있나요?
- 백엔드 로직과 UI 모두에 Go를 사용하려는 팀을 위한 데스크톱 도구 개발. 빠르게 실행되고 메모리를 적게 사용하는 경량 네이티브 UI 앱 제작. 코드 서명과 자동 업데이트를 지원하는 크로스 플랫폼 데스크톱 앱 배포. 시스템 webview를 사용해 Go 기반 웹 프런트엔드를 데스크톱 앱에 추가.
- mygo는 어떻게 설치하나요?
- Go 1.27.3 이상과 Bun을 설치합니다 웹 프런트엔드 앱을 만듭니다: bunx mygo-cli init my-app 프로젝트 폴더로 이동합니다: cd my-app 개발 서버를 시작합니다: bun run dev
- mygo은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/egoist/mygo
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
운영체제별 네이티브 위젯으로 앱을 렌더링하는 Python GUI 툴킷입니다.
GPU로 그리는 네이티브 UI 또는 시스템 webview의 웹 페이지를 사용해 데스크톱 앱을 만드는 Zig 툴킷입니다.
데스크톱 앱에 네이티브 웹 뷰를 임베드하는 소형 C/C++ 라이브러리로, Linux와 macOS에서는 WebKit을, Windows에서는 WebView2를 사용합니다.
Rust 또는 TSX로 앱을 작성하고 플랫폼별 네이티브 위젯으로 렌더링하는 크로스 플랫폼 UI 엔진입니다.
앱 로직은 Go로 실행하고, 각 플랫폼의 네이티브 뷰로 화면을 그리는 크로스 플랫폼 네이티브 UI 엔진입니다.