๋ถ๋ฅ:๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
์ ์์ | Julian Smart |
๊ฐ๋ฐ์ | ์ปค๋ฎค๋ํฐ |
์ด๊ธฐ ๋ฆด๋ฆฌ์ฆ | 1992๋
|
ํ์ฌ ๋ฒ์ | 3.0.5(LTS), 3.1.4] |
์ธ์ด | C++11 |
OS | ํฌ๋ก์คํ๋ซํผ |
๋ผ์ด์ผ์ค | wxWindows Library Licence |
ํํ์ด์ง |
1. ๊ฐ์[ํธ์ง]
wxWidgets๋ Julian Smart๊ฐ ๋ง๋ C++ ์์ ฏ ํดํท์ด๋ค. ๋ง์ดํฌ๋ก์ํํธ์ฌ์ MFC ๋์ฒด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก์ ์ถ์๋์์ผ๋ฉฐ ์ค๋๋ MFC์๋ ๋ฌ๋ฆฌ ํฌ๋ก์ค ํ๋ซํผ์ ์ง์ํ๋ค.
์ด๊ธฐ์๋ ์ด๋ฆ์ด wxWindows ์ด์์ผ๋, MS์ฌ์ ์ํ๋ช ์กด์ค ์์ฒญ์ผ๋ก 2004๋ ๋ถํฐ wxWidgets์ผ๋ก ์ด๋ฆ์ ๋ณ๊ฒฝํ์๋ค.[1]
์ด๊ธฐ์๋ ์ด๋ฆ์ด wxWindows ์ด์์ผ๋, MS์ฌ์ ์ํ๋ช ์กด์ค ์์ฒญ์ผ๋ก 2004๋ ๋ถํฐ wxWidgets์ผ๋ก ์ด๋ฆ์ ๋ณ๊ฒฝํ์๋ค.[1]
2. ํน์ง[ํธ์ง]
2.1. ๋ค์ดํฐ๋ธ UI[ํธ์ง]
Qt, FLTK, GTK+์ ๊ฐ์ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฒฝ์ฐ ๊ฐ๊ฐ์ ์์ ฏ์ ์์ฒด์ ์ธ ๋ชจ์์ผ๋ก ๋ ๋๋ง ํ์ฌ ๋ธ๋ฌ์๋ฅผ ๊ทธ๋ฆฌ๋ ๋ฐฉ์์ด์ง๋ง wxWidgets์ ๊ฐ OS์ ๋ค์ดํฐ๋ธ GUI API๋ฅผ ์ฌ์ฉํด UI๋ฅผ ๊ทธ๋ฆฌ๋ฏ๋ก ๋ค์ดํฐ๋ธ UI์ ๋์ผํ ๋ชจ์๊ณผ ์ฑ๋ฅ ์ ๋๋ฅผ ๋ด๊ธฐ์ ์ ํฉํ๋ค. ์ฌ๋ฌด ๋น์ง๋์ค ์ฑ์ ์ ํฉํ UI ํดํท์ด๋ค. ๊ฐ OS์ ๋ค์ดํฐ๋ธ UI๋ง์ผ๋ก ๋ณํํ์ฌ ์ฌ์ฉํ๋ค๋ณด๋ ์ปดํจํฐ ๊ฒ์ UI์ ๊ฐ์ ํ๋ฆฌ์คํ์ผ ์ธํฐํ์ด์ค ๋์์ธ์๋ ์ฌ์ฉํ๊ธฐ๊ฐ ์ด๋ ต๋ค.
ํ๊ณ์ ๋ ์๋ค. ์๋์ฐ์์ (File, Edit, View ๋ฑ์ผ๋ก ๋ํ๋๋) ํ๋ก๊ทธ๋จ ์๋จ ๋ฉ๋ด์ ๋ฐฐ๊ฒฝ์ ์ด๋์ด ์๋ฅผ ์ ์ฉํ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ๊ทธ ์๋ค. ์ด๋ ์๋์ฐ๋ ์์ง๋ ๋ธ๋ ๊ณํต ํ ๋ง๋ฅผ ์์ ํ ์ง์ํ์ง ์๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค.[2] ๋คํฌ ํ ๋ง API๋ฅผ ์ ์์ผ๋ก ์ ๊ณตํ๋ macOS๋ GTK3 ๊ธฐ๋ฐ์ ๋ฆฌ๋ ์ค ๋ฐ์คํฌํ์ ๊ฒฝ์ฐ ์ง์ํ๋ค.
ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ฒ๋ผ wxWidgets ๋ํ ์์คํ ์ ๋ค์ดํฐ๋ธ API๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ทธ๋ฆฌ๊ณ ์ ํ๋ค๋ฉด wxUniversal ์ต์ ์ ์ฃผ์ด ์ปดํ์ผ ํ๋ฉด ์์ ฏ์ ์ง์ ๊ทธ๋ฆฌ๊ฒ ํ ์ ์๋ค.
ํ๊ณ์ ๋ ์๋ค. ์๋์ฐ์์ (File, Edit, View ๋ฑ์ผ๋ก ๋ํ๋๋) ํ๋ก๊ทธ๋จ ์๋จ ๋ฉ๋ด์ ๋ฐฐ๊ฒฝ์ ์ด๋์ด ์๋ฅผ ์ ์ฉํ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ๊ทธ ์๋ค. ์ด๋ ์๋์ฐ๋ ์์ง๋ ๋ธ๋ ๊ณํต ํ ๋ง๋ฅผ ์์ ํ ์ง์ํ์ง ์๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค.[2] ๋คํฌ ํ ๋ง API๋ฅผ ์ ์์ผ๋ก ์ ๊ณตํ๋ macOS๋ GTK3 ๊ธฐ๋ฐ์ ๋ฆฌ๋ ์ค ๋ฐ์คํฌํ์ ๊ฒฝ์ฐ ์ง์ํ๋ค.
ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ฒ๋ผ wxWidgets ๋ํ ์์คํ ์ ๋ค์ดํฐ๋ธ API๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ทธ๋ฆฌ๊ณ ์ ํ๋ค๋ฉด wxUniversal ์ต์ ์ ์ฃผ์ด ์ปดํ์ผ ํ๋ฉด ์์ ฏ์ ์ง์ ๊ทธ๋ฆฌ๊ฒ ํ ์ ์๋ค.
2.2. ํฌ๋ก์คํ๋ซํผ[ํธ์ง]
2.2.1. OS[ํธ์ง]
wxWidgets์ ๋ง์ ํ๋ซํผ์ ์ง์ํ๋ค.
Qt์ ๋์ผํ๊ฒ ์ด๋ฏธ์ง ์ฒ๋ฆฌ, ์ฌ์ด๋ ์ฒ๋ฆฌ ๋ฑ ๋ง์ ๋ด์ฅ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ถ์ํ๊ฐ ๋์ด ์์ด ์ฝ๋์ ์์ ์์ด ์ฌ์ด ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
Qt์ ๋์ผํ๊ฒ ์ด๋ฏธ์ง ์ฒ๋ฆฌ, ์ฌ์ด๋ ์ฒ๋ฆฌ ๋ฑ ๋ง์ ๋ด์ฅ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ถ์ํ๊ฐ ๋์ด ์์ด ์ฝ๋์ ์์ ์์ด ์ฌ์ด ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- 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
2.2.2. ์ปดํ์ผ๋ฌ ์ง์[ํธ์ง]
- MS Visual Studio 5+ - 3.1.0๋ถํฐ๋ Visual Studio 9 ์ดํ์ ๊ฐ์ ๊ตฌํ ์ปดํ์ผ๋ฌ์ ์ง์์ด ์ข ๋ฃ๋์๋ค.
- Intel C/C++ (icc)
- Sun CC for Linux
- LLVM / Clang / Clang++
- GCC - 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. ํ ์ธ์ด๋ก์ ๋ฐ์ธ๋ฉ[ํธ์ง]
- Python 2K, 3K
5. wxWidgets๋ฅผ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ[ํธ์ง]
- Corona Image Editor
- KiCad
- PostgreSQL Stack builder
[2] Undocumented๋ ์ฌ๋ณผ์ Ordinal๋ฅผ ์ง์ ๋ถ๋ฌ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋ฅํ์ง๋ง ์ ์์ ์ธ ๋ฐฉ๋ฒ์ด ์๋๋ค.