김프 툴킷
위키백과 ― 우리 모두의 백과사전.
개발자 | 그놈 재단 |
---|---|
최근 버전 | 2.10.6 / 2006년 10월 3일 |
운영체제 | 크로스 플랫폼 |
종류 | 개발 라이브러리 |
라이선스 | LGPL |
웹사이트 | www.gtk.org |
초기에 김프를 위해서 만들어졌던 김프 툴킷(GIMP Toolkit), 줄여서 GTK+라고도 하는 툴킷은 X 윈도우 시스템을 위한 위젯 툴킷 중 하나이다. GTK+와 Qt는 모티프에 대한 좋은 대안이 되어 주었다. GTK+는 1997년 Spencer Kimball, Peter Mattis, Josh MacDonald에 의해서 만들어졌다. 그들은 모두 UC Berkeley에 있는 eXperimental Computing Facility (XCF) 소속이었다. LGPL로 라이선스되었기 때문에, GTK+는 자유 소프트웨어이자 오픈 소스 소프트웨어이고, GNU 프로젝트의 일부분이다.
목차 |
[편집] 프로그래밍 언어
GTK+는 C를 사용한다. 그렇지만 그들의 제작자들은 객체지향 구조를 사용하였다. 그놈 플랫폼은 C++, 펄, 루비, 자바, 파이썬으로의 바인딩을 제공하였다.많은 사람들이 Ada, D, 하스켈, 파스칼, PHP, 닷넷 프레임워크로의 바인딩을 작성하였다.
다른 많은 위짓 툴킷들과 달리, 하지만 Qt와 마찬가지로 GTK+는 Xt에 기반하지 않는다. 그래서 GTK+를 많은 다른 환경으로 이식할 수 있었다. 하지만 전통적인 X11 애플리케이션의 사용자 설정 방식인 X 리소스 데이터베이스에 접근할 수 없다는 단점이 있다.
[편집] 모양
사용자는 디스플레이 엔진으로 툴킷의 모양을 설정할 수 있다. 엔진들은 윈도, 모티프, Qt, 넥스트스텝등의 모양으로 그려줄 수 있었다.
[편집] GTK+를 사용하는 환경
- 그놈 환경은 GTK+를 기반으로 사용한다.
- Xfce 환경도 GTK+를 기반으로 사용한다. 하지만 Xfce용 프로그램은 많은 것에 의존하지 않는다. (이것은 그놈 프로그램과 GTK+ 프로그램을 구분한다)
- GPE, Maemo (노키아의 인터넷 태블릿 프레임워크), 액세스 리눅스 플랫폼 (새로운 팜 OS 호환 PDA 플랫폼) 도 GTK+를 기반으로 한다.
GTK+ 프로그램은 KDE 같은 다른 데스크탑 환경에서 돌아간다. GTK+는 마이크로소프트 윈도에서도 돌아간다. DirectFB와 ncurses 기반 포팅도 있다.
[편집] 창 관리자
- 메타시티는 GTK+ 2를 사용한다.
- Xfwm은 GTK+ 2를 사용한다.
[편집] 그래픽과 관련되지 않은 코드
GTK+는 초기에 그래픽과 관련되지 않은 코드를 포함했다. 이들은 링크드 리스트 및 바이너리 트리를 제공했다. GObject와 함께 오는 이러한 유틸리티 시스템은 Glib라는 별도의 라이브러리로 쪼개졌고, 이는 그래픽 인터페이스가 필요 없는 프로그래머에게 도움을 준다.
[편집] GTK+ 2
GTK+ 2는 GTK+를 계승하였다. 이것의 새로운 기능은 Pango를 사용하는 새로운 텍스트 렌더링 엔진, 새로운 테마 엔진, 향상된 접근성, 유니코드로의 완전한 전환이 있다. 하지만 GTK+ 2는 GTK+ 1과 호환성이 없으므로 프로그래머들이 소스를 새로 짜야 한다. 몇몇 프로그램들은 GTK+ 1을 그대로 사용한다. GTK+ 1은 GTK+ 2보다 빠르고 덜 복잡하고 임베디드 환경에 더 적합하다.
GTK+ 2.8부터는 카이로 엔진을 사용해서 벡터 그래픽을 처리한다.
[편집] 차후 개발
- Project Ridley는 GTK+가 현재 포함하지 않는 각종의 라이브러리를 포함하려고 하는 시도이다. 이들은 libgnome, libgnomeui, libgnomeprint22, libgnomeprintui22, libglade, libgnomecanvas, libegg, libeel ,gtkglext를 포함한다..
[편집] 바깥 고리
- GTK+ homepage.
- GTK+ for Win32, also offers a Glade port
- GtkAda, an Ada API to GTK+.
- gtkmm, a C++ API to GTK+.
- Gtk2-Perl, a Perl API to GTK+ 2.x.
- Gtk2Hs, a Haskell API to GTK+.
- Java-GNOME, a Java API to GTK+ 2.x.
- GTK+ Forum, an unofficial forum archiving all GTK+ mailing lists.
- Runtime for Windows and package for Dev-Cpp.