์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
์ €์ž‘์ž
Julian Smart
๊ฐœ๋ฐœ์ž
์ปค๋ฎค๋‹ˆํ‹ฐ
์ดˆ๊ธฐ ๋ฆด๋ฆฌ์ฆˆ
1992๋…„
ํ˜„์žฌ ๋ฒ„์ „
3.0.5(LTS), 3.1.4]
์–ธ์–ด
C++11
OS
ํฌ๋กœ์Šคํ”Œ๋žซํผ
๋ผ์ด์„ผ์Šค
wxWindows Library Licence
ํ™ˆํŽ˜์ด์ง€

1. ๊ฐœ์š”2. ํŠน์ง•
2.1. ๋„ค์ดํ‹ฐ๋ธŒ UI2.2. ํฌ๋กœ์Šคํ”Œ๋žซํผ
2.2.1. OS2.2.2. ์ปดํŒŒ์ผ๋Ÿฌ ์ง€์›
2.3. ๊ธฐํƒ€
3. ํƒ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ๋งํฌ4. ํƒ€ ์–ธ์–ด๋กœ์˜ ๋ฐ”์ธ๋”ฉ5. wxWidgets๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

1. ๊ฐœ์š”[ํŽธ์ง‘]

wxWidgets๋Š” Julian Smart๊ฐ€ ๋งŒ๋“  C++ ์œ„์ ฏ ํˆดํ‚ท์ด๋‹ค. ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์‚ฌ์˜ MFC ๋Œ€์ฒด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ์„œ ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ ์˜ค๋ž˜๋œ MFC์™€๋Š” ๋‹ฌ๋ฆฌ ํฌ๋กœ์Šค ํ”Œ๋žซํผ์„ ์ง€์›ํ•œ๋‹ค.

์ดˆ๊ธฐ์—๋Š” ์ด๋ฆ„์ด 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 ์˜ต์…˜์„ ์ฃผ์–ด ์ปดํŒŒ์ผ ํ•˜๋ฉด ์œ„์ ฏ์„ ์ง์ ‘ ๊ทธ๋ฆฌ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

2.2. ํฌ๋กœ์Šคํ”Œ๋žซํผ[ํŽธ์ง‘]

2.2.1. OS[ํŽธ์ง‘]

wxWidgets์€ ๋งŽ์€ ํ”Œ๋žซํผ์„ ์ง€์›ํ•œ๋‹ค.
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

๊ทธ ์™ธ Android์™€ ๊ฐ™์€ ๋งŽ์€ ๋น„๊ณต์‹ ํฌํŒ…๋“ค ๋˜ํ•œ ์กด์žฌํ•œ๋‹ค.

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. ํƒ€ ์–ธ์–ด๋กœ์˜ ๋ฐ”์ธ๋”ฉ[ํŽธ์ง‘]

5. wxWidgets๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ[ํŽธ์ง‘]

[2] Undocumented๋œ ์‹ฌ๋ณผ์„ Ordinal๋ฅผ ์ง์ ‘ ๋ถˆ๋Ÿฌ์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ •์‹์ ์ธ ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋‹ค.