wxWidgets (이전 이름: wxWindows)는 크로스 플랫폼 응용 프로그램을 위한 그래픽 사용자 인터페이스를 만들어 주는 위젯 툴킷이다. wxWidgets는 특별한 코드 변경 없이도 프로그램의 GUI 코드를 여러 컴퓨터의 운영 체제에서 컴파일하고 동작할 수 있게 도와 준다. 마이크로소프트 윈도우, OS X, 리눅스/유닉스 (X11, 모티프, GTK+), 오픈VMS, OS/2, 아미가OS와 같은 운영 체제를 지원한다. 임베디드 시스템을 위한 버전은 현재 개발 중이다.[3]

wxWidgets
개발자wxWidgets 개발자 및 공헌자
발표일1992년(32년 전)(1992)[1]
안정화 버전
3.1.6 / 2022년 4월 4일(23개월 전)(2022-04-04)[2]
저장소
프로그래밍 언어C++
운영 체제크로스 플랫폼
종류개발용 라이브러리
라이선스wxWindows 라이브러리 라이선스
상태개발 중
웹사이트www.wxwidgets.org

역사 편집

wxWidgets(원래는 wxWindows)는 1992년에 에든버러 대학교의 줄리안 스마트(Julian Smart)가 시작하였다.[4] 그는 1986년에 세인트앤드루스 대학교로부터 계산과학 대학 우등 코스 졸업 학위를 받았고 지금도 핵심 개발자이다.[5][6]

2004년 2월 20일에 wxWindows의 개발자들은 프로젝트 이름을 wxWidgets로 바꾸고 있다고 언급하였다. 그 까닭은 마이크로소프트사가 줄리안 스마트에게 "Windows"라는 마이크로소프트의 영국 상표를 존중해 달라는 요청을 하였기 때문이었다.[7] 2003년 6월 9일에 주된 공개 버전이 2.4이었으며 2005년 4월 23일에는 2.6, 2006년 12월 14일에는 2.80이었다.

라이선스 편집

wxWidgets는 GNU 약소 일반 공중 사용 허가서와 비슷한 맞춤식 라이선스로 배포된다. 이를테면 일반적인 GNU 허가서에서 명시된 바와 달리 wxWidgets를 통해 만든 이진 형태의 작품은 사용자가 소스를 공개해도 되고 공개하지 않아도 된다. 이 라이선스는 자유 소프트웨어 라이선스이므로 wxWidgets는 자유 소프트웨어가 된다.[8]

기능 편집

wxWidgets 라이브러리는 흔히 쓰이는 수많은 프로그래밍 언어에 이용할 수 있는 언어 결합과 더불어 C++로 추가되었다. 지원하는 프로그래밍 언어로는 이를테면 파이썬 (wxPython), 얼랭 (wxErlang), 하스켈 (wxHaskell), Tcl (wxTCL), 루아 (wxLua), (wxPerl), 루비 (wxRuby), 스몰토크 (wxSqueak), 커먼 리스프 (wxCL), 베이직 (wxBasic), C (wxC), D (wxD), 유포리아 (wxEuphoria), 닷넷 프레임워크 (wx.NET), 자바 (wx4j), 자바스크립트 (wxJavaScript Archived 2010년 5월 16일 - 웨이백 머신 / GLUEScript) 등이 있다. 완전한 목록을 보려면, 이 문서 끝에 보이는 외부 링크 참조를 통하여 각 프로젝트 사이트의 링크로 들어가면 된다. 1995년에 만든 wxWindows (버전 1)의 비호환 분기를 이용하는 라켓도 있다. 이 툴킷은 단순히 라이브러리 바인딩을 제공하는 다른 언어와는 달리 언어 런타임 (쓰레기 수집, 자원 관리)에 통합되어 있다.

wxWidgets는 네이티브 모드 툴킷으로 잘 알려져 있는데 이는 원시 그래픽을 이용하여 위젯 표현을 따라하지 않고 얇은 추상화(thin abstraction)를 플랫폼의 네이티브 위젯에 제공하기 때문이다. 대상 플랫폼에 이러한 네이티브 위젯을 이용하면 스윙 (자바의 경우)과 같은 도구킷보다 더 네이티브하게 보이는 인터페이스뿐 아니라 성능 향상과 다른 이점도 제공한다.[9]

이 도구킷은 GUI 개발에만 국한되지 않으며 프로세스 간 통신 계층, 소켓 네트워킹 기능 등도 내장하고 있다.

공식 지원 편집

지원 플랫폼 편집

wxWidgets는 다음 플랫폼을 지원한다[10]

  • 윈도 - wxMSW (윈도 95/98/ME, NT, 2000, XP, 비스타)
  • 리눅스/유닉스 wxGTK+, wxX11, wxMotif
  • OS X - wxMac (10.3, 카본을 이용)
  • OS/2 - wxOS2, wxPM, wxWidgets for GTK+, Motif는 OS/2에서 컴파일 가능
  • 임베디드 플랫폼 - wxEmbedded[3]

외부 포팅 편집

  • 아미가 - wxWidgets-AOS: AmigaOS port[11]

지원 컴파일러 편집

wxWidgets는 공식적으로 다음 컴파일러와 정상 동작함이 확인되었다.[12]

wxMSW wxGTK
컴파일러 버전 컴파일러 버전
마이크로소프트 비주얼 스튜디오 - 비주얼 C++
볼랜드 C++
볼랜드 C++ 빌더
왓콤 C++, 오픈왓콤
코드워리어
시그윈
MinGW
디지털 마스 C/C++ 컴파일러
5.0 +
5.5 +
2006 +
10.6 +
7 +
1.5 +
2.0 +
8.40 +
g++
썬 스튜디오 C/C++
HP aC++
IBM XL C/C++
2.95 +
5.9
3.80
8.00

wxWidgets을 위한 RAD 도구 및 IDE 편집

같이 보기 편집

각주 편집

  1. History - wxWidgets
  2. “wxWidgets: Cross-Platform GUI Library”. 2022년 4월 4일. 2022년 4월 28일에 확인함. 
  3. “wxEmbedded: wxWidgets for embedded applications”. Sourceforge.net. 2007년 5월 9일에 원본 문서에서 보존된 문서. 2007년 4월 23일에 확인함. 
  4. http://wxwidgets.org/about/
  5. About Julian Smart
  6. “Butcher Danna”. 2009년 10월 20일에 원본 문서에서 보존된 문서. 2009년 6월 8일에 확인함.  다음 글자 무시됨: ‘ English Bookstore in Czech Republic ’ (도움말)
  7. http://wxwidgets.org/about/name.htm
  8. “보관된 사본”. 2010년 7월 2일에 원본 문서에서 보존된 문서. 2010년 8월 3일에 확인함. 
  9. “WxWidgets Compared To Other Toolkits”. wxwidgets.org. 2010년 1월 2일에 확인함. 
  10. “wxWidgets - General FAQ”. wxwidgets.org. 2011년 4월 29일에 확인함. 
  11. “wxWidgets-AOS: AmigaOS port”. 2011년 4월 24일에 확인함. 
  12. “Supported Platforms”. wxwidgets.org. 2011년 4월 24일에 확인함. 

외부 링크 편집