소개
Gtk Sharp는 .NET 프레임워크를 위한 GTK+ GUI 툴킷의 바인딩 라이브러리입니다. Mono 프로젝트에서 개발되어 C#, Java, Python, VB.NET 등 다양한 언어로 GTK+ 기반 애플리케이션을 개발할 수 있게 합니다. 크로스플랫폼을 지원하며 윈도우, 리눅스, macOS에서 실행 가능한 GUI 프로그램을 만들 수 있습니다. 오픈소스 소프트웨어로 GPL-2.0-or-later 라이선스 하에 배포됩니다.
상세정보
프로그램 소개/무엇인지
Gtk Sharp는 .NET과 Mono 프레임워크를 위한 GTK+ GUI 툴킷의 공식 바인딩입니다. GTK+는 원래 리눅스 데스크톱 환경에서 널리 사용되는 크로스플랫폼 위젯 툴킷이며, Gtk#를 통해 개발자는 C# 등 .NET 언어로 네이티브 수준의 GUI 애플리케이션을 만들 수 있습니다. 이 라이브러리는 GTK+ 위젯뿐만 아니라 GNOME 라이브러리와의 연동도 지원하여 풍부한 데스크톱 애플리케이션 개발이 가능합니다.
주요 기능멀티플랫폼 지원
Gtk#는 UNIX, Windows, MacOS 등 주요 운영체제에서 동일하게 작동합니다. 하나의 코드로 여러 플랫폼에 배포할 수 있는 애플리케이션을 개발할 수 있습니다.
풍부한 위젯 세트
버튼, 메뉴, 트리뷰, 텍스트 편집 등 다양한 표준 GUI 컨트롤을 제공합니다. GTK+의 전체 위젯 세트를 .NET 언어로 접근할 수 있습니다.
국제화 및 접근성 지원
다국어 지원을 위한 국제화(i18n) 기능을 내장하고 있으며, ATK(Accessibility Toolkit)를 통해 스크린 리더 등 보조 기술과의 호환성을 제공합니다.
UI 빌더 지원
Glade와 같은 GUI 디자이너 도구와 연동하여 드래그 앤 드롭으로 인터페이스를 설계하고 코드를 자동 생성할 수 있습니다.
다운로드·설치 방법
Windows 환경에서는 MSI 설치자를 통해 간단히 설치할 수 있습니다. 공식 홈페이지에서 제공하는 설치 파일을 다운로드한 후 실행하면 됩니다. 설치를 마친 후에는 .NET 애플리케이션에서 Gtk# 네임스페이스를 참조하여 사용을 시작할 수 있습니다.
기본 사용법/명령어
개발 시 Visual Studio 등 .NET 개발 환경에서 프로젝트에 Gtk# 어셈블리를 참조 추가합니다. 기본적인 윈도우 애플리케이션은 다음과 같은 구조로 작성됩니다:
using Gtk;
class HelloWorld {
static void Main() {
Application.Init();
Window win = new Window("Hello World");
win.DeleteEvent += delegate { Application.Quit(); };
win.ShowAll();
Application.Run();
}
}위 코드는 창을 생성하고 이벤트 루프를 시작하는 가장 기본적인 Gtk# 애플리케이션 예시입니다. 버튼, 라벨 등 기타 위젯을 추가하여 복잡한 인터페이스를 구축할 수 있습니다.
이런 경우에 유용합니다
크로스플랫폼 데스크톱 애플리케이션을 .NET 언어로 개발해야 하는 개발자에게 유용합니다. 특히 리눅스와 윈도우 모두에서 동일한 사용자 경험을 제공해야 하는 내부 도구나 유틸리티 제작에 적합합니다. 기존 GTK+ 애플리케이션을 .NET으로 마이그레이션하거나, GNOME 생태계와 연동이 필요한 프로젝트에서도 활용할 수 있습니다.
지원 환경·시스템 요구사항
Gtk# 2.12.x 시리즈는 GNOME 2.20을 기준으로 안정 릴리스가 제공됩니다. Windows에서는 .NET Framework 또는 Mono 런타임이 필요하며, GTK+ 런타임 라이브러리가 시스템에 설치되어 있어야 합니다. 개발 시에는 해당 언어의 .NET 바인딩과 GTK+ 개발 헤더가 필요합니다.
최신 버전·업데이트
현재 버전은 2.12.45이며, 이는 Gtk# 2.x 시리즈의 최신 안정 릴리스입니다. GTK# 3.x 포팅을 위한 별도의 가이드가 제공되지만, 2.x 시리즈는 여전히 널리 사용되고 있습니다. 업데이트 정보는 공식 GitHub 저장소의 릴리스 노트에서 확인할 수 있습니다.
제한 사항·확인 사항
Gtk# 2.x 시리즈는 GTK+ 2.x 버전에 기반하고 있으며, GTK+ 3.x 이상의 최신 기능을 모두 지원하지 않을 수 있습니다. 최신 GTK+ 기능을 활용하려면 GTK# 3.x 포팅을 고려해야 합니다. 또한, 일부 플랫폼별 특정 위젯이나 기능은 제한될 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


