WxWidgets

wxWidgets
저작자Julian Smart
개발자커뮤니티
초기 릴리즈1992년
현재 버전3.1.0 (0xCBB799B)
언어C++11
OS크로스플랫폼
라이센스wxWindows Library Licence
홈페이지[1]

1 개요

wxWidgets는 Julian Smart가 만든 C++ 위젯 툴킷이다.
과거에는 wxWindows 로 불렸으나, Microsoft의 상표명 존중 요청으로 2004년 부터 wxWidgets으로 이름을 변경하였다. [1]

2 특징

2.1 네이티브 디자인

Qt, FLTK, GTK+ 와 같은 타 위젯 라이브러리의 경우 각각의 위젯을 직접 렌더링 하여 독자적인 UI를 생성해 내거나 비슷하게 흉내내는 식으로 브러시를 그리지만, wxWidgets은 시스템의 네이티브 API를 사용해 UI를 그리기에 가볍고 빠르며, 여러 시스템에 위화감 없는 네이티브 디자인을 따른다.
타 라이브러리들 처럼 wxWidgets 또한 시스템의 네이티브 API를 사용하지 않고 그리고자 한다면 wxUniversal 옵션을 주어 컴파일 하면 위젯을 직접 그리게 할 수 있다.

2.2 크로스플랫폼

2.2.1 OS

wxWidgets은 많은 플랫폼을 지원한다.
Qt 와 동일하게 이미지 처리, 사운드 처리 등 많은 내장된 라이브러리의 추상화가 되어 있어 코드의 수정 없이 쉬운 크로스 플랫폼 개발을 가능하게 한다.

  • Microsoft Windows
    • Windows 95+ - 3.1.0 부터 95, 98의 DOS 지원은 종료되었다.
    • Windows CE
  • Mac OS X
    • Carbon - 현재 Deprecated 됨
    • Cocoa
  • Linux
    • GTK 2, 3
    • X11
    • Motif
  • BSD
    • NetBSD
    • FreeBSD
    • OpenBSD
  • Solaris
  • HP-UX
  • AIX
  • UNIX
    • SCO
  • OS/2

그 외 Android와 같은 많은 비공식 포팅들 또한 존재한다.

2.2.2 컴파일러 지원

  • Microsoft Visual Studio 5+ - 3.1.0부터는 Visual Studio 9이하와 같은 구형 컴파일러의 지원이 종료되었다.
  • Intel C/C++ (icc)
  • Sun CC for Linux
  • LLVM / Clang / Clang++
  • GCC/G++ - MinGW
  • BCC (C++ Builder)
  • Cygwin
  • Watcom C++ Compiler

2.3 기타

  • Windows 에서의 HiDPI 지원
  • XML 리소스 컴파일 - wxSmith나 wxFormbuilder를 사용하여 WYSIWYG 로 개발을 하지 않는 이상 기본적으로 wxWidgets은 날코딩으로 UI를 짜는것이 일반적이다. 그렇지만 위의 WYSIWYG 툴을 사용하여 개발을 하여도 프로그램의 루틴과 wxWidgets의 루틴이 섞이게 되는것은 피할 수 없는 일이기에 XML로 짜거나 wxFormbuilder같은 WYSIWYG툴을 사용하여 XML로 UI를 제작하는 경우 UI의 코드와 프로그램의 백엔드를 완벽하게 분리해 둘 수 있게 된다.

3 타 라이브러리와의 링크

4 타 언어로의 바인딩

5 wxWidgets 을 사용하는 프로그램

  1. https://www.wxwidgets.org/about/name-change/