Go 언어는 가볍고 빠르며 효율적인 프로그래밍 언어로, 최근에는 GUI (Graphical User Interface) 애플리케이션 개발에도 활용되고 있습니다. 이 가이드에서는 Go 언어와 Fyne 프레임워크를 사용하여 Windows 환경에서 GUI 애플리케이션을 만드는 과정을 단계별로 자세히 설명합니다. 특히 Python Qt에서 겪었던 느린 실행 속도 문제를 해결하고, Go 언어의 강력함을 활용하는 데 초점을 맞춥니다.
가장 먼저 할 일은 Go 언어를 컴퓨터에 설치하는 것입니다.
go1.22.4.windows-amd64.msi
또는 그 이후 버전) go version
go version go1.25.0 windows/amd64
와 같은 버전 정보가 출력되면 성공입니다.효율적인 Go 개발을 위해 적절한 코드 에디터 또는 IDE를 설정하는 것이 중요합니다.
Fyne은 내부적으로 C/C++ 라이브러리를 사용하므로, Go가 이를 컴파일할 수 있도록 C/C++ 컴파일러인 GCC가 필요합니다. Windows에서는 MSYS2를 통해 GCC를 가장 쉽게 설치하고 관리할 수 있습니다.
msys2-x86_64-*.exe
파일을 다운로드합니다.C:\msys64
를 권장합니다. 경로에 공백이나 한글이 포함되지 않도록 주의하세요.pacman -Syu
pacman -Su
pacman -S mingw-w64-x86_64-gcc
"Proceed with installation? [Y/n]" 메시지가 나오면 Y
를 입력하고 Enter를 누르세요.PATH
환경 변수에 MSYS2의 MinGW bin
폴더 경로를 추가해야 합니다.echo /mingw64/bin
을 입력하면 나오는 경로가 Windows에서는 C:\msys64\mingw64\bin
에 해당합니다.Path
를 찾아 선택한 후 "편집(I)..." 버튼을 클릭합니다.C:\msys64\mingw64\bin
을 입력합니다.gcc --version
버전 정보가 출력되면 성공입니다. Go 프로젝트는 모듈 단위로 관리되며, Fyne 라이브러리를 사용하기 위해 이를 프로젝트에 추가해야 합니다.
mkdir my-fyne-app
cd my-fyne-app
your_module_name
은 프로젝트의 고유한 이름으로 지정하세요.go mod init your_module_name
(예: go mod init github.com/your-username/my-fyne-app
또는 go mod init my-fyne-app
)go.mod
파일이 생성됩니다.go get fyne.io/fyne/v2
이 명령어를 실행하면 go.mod
파일에 Fyne 종속성이 자동으로 추가되고, 필요한 모듈들이 캐시됩니다.이제 Go 코드를 작성하여 간단한 Fyne UI 앱을 만들어 봅니다.
main.go
파일 생성 및 코드 작성프로젝트 폴더 안에 main.go
파일을 생성하고 다음 코드를 입력합니다.
package main
import (
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
func main() {
// 1. 새 Fyne 애플리케이션 생성
myApp := app.New()
// 2. 새 윈도우 생성 및 제목 설정
myWindow := myApp.NewWindow("나의 첫 Fyne 앱")
// 3. UI 위젯 생성
helloText := widget.NewLabel("안녕하세요, Fyne!")
myButton := widget.NewButton("클릭하세요!", func() {
helloText.SetText("버튼이 클릭되었습니다!") // 버튼 클릭 시 텍스트 변경
})
// 4. 위젯들을 컨테이너에 배치 (수직 배치)
content := container.NewVBox(
helloText,
myButton,
)
// 5. 윈도우에 컨텐츠 설정 및 크기 조절
myWindow.SetContent(content)
myWindow.Resize(fyne.NewSize(300, 200)) // 윈도우 크기 (가로 300, 세로 200)
// 6. 윈도우를 표시하고 애플리케이션 실행
myWindow.ShowAndRun()
}
코드를 작성했으니, 이제 실행하고 .exe
파일로 빌드해 봅니다.
go run .
.exe
파일로 만들려면 다음 명령어를 사용합니다. Windows에서 콘솔 창이 뜨지 않도록 -ldflags
옵션을 추가합니다.go build -ldflags="-H windowsgui" -o myapp.exe .
myapp.exe
파일이 생성됩니다. 이 파일을 실행하여 GUI 애플리케이션이 정상적으로 작동하는지 확인할 수 있습니다.go install fyne.io/fyne/v2/cmd/fyne_demo@latest
fyne_demo
go mod tidy
명령어를 사용할 수 있습니다.go mod tidy
이 과정을 통해 Go 언어와 Fyne을 사용하여 빠르고 효율적인 GUI 애플리케이션을 개발할 수 있을 것입니다.