Repolode
egoist

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. 1

    Go 1.27.3 이상과 Bun을 설치합니다

  2. 2

    웹 프런트엔드 앱을 만듭니다

    bunx mygo-cli init my-app
  3. 3

    프로젝트 폴더로 이동합니다

    cd my-app
  4. 4

    개발 서버를 시작합니다

    bun run dev

사용 전 알아둘 점

  • 빠른 시작을 사용하려면 Go 1.27.3 이상과 Bun이 필요합니다.

Repolode 주간에 소개됨

포함된 컬렉션

토픽

자주 묻는 질문

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 통계는 매일 갱신됩니다.

관련 프로젝트