GTK ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ๋„๊ตฌ Cambalache 0.8.0 ์ถœ์‹œ

MVC ํŒจ๋Ÿฌ๋‹ค์ž„๊ณผ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•œ ์ฒ ํ•™์„ ์‚ฌ์šฉํ•˜์—ฌ GTK 0.8.0 ๋ฐ GTK 3์šฉ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‹ ์†ํ•œ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” Cambalache 4 ํ”„๋กœ์ ํŠธ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Glade์™€ ๋‹ฌ๋ฆฌ Cambalache๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ์—์„œ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ๋ฉด์—์„œ Cambalache 0.8.0์˜ ์ถœ์‹œ๋Š” Glade์™€ ๊ฑฐ์˜ ๋™๋“ฑํ•˜๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ GPLv2์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค.

Cambalache๋Š” GtkBuilder ๋ฐ GObject์™€ ๋…๋ฆฝ์ ์ด์ง€๋งŒ GObject ์œ ํ˜• ์‹œ์Šคํ…œ๊ณผ ์ผ๊ด€๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ณ  GtkBuilder ๊ฐ์ฒด, ์†์„ฑ ๋ฐ ์‹ ํ˜ธ๋ฅผ ์ง€์›ํ•˜๊ณ  ์‹คํ–‰ ์ทจ์†Œ ์Šคํƒ(์‹คํ–‰ ์ทจ์†Œ/๋‹ค์‹œ ์‹คํ–‰) ๋ฐ ๋ช…๋ น ๊ธฐ๋ก์„ ์••์ถ•ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. cambalache-db ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” gir ํŒŒ์ผ์—์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋˜๊ณ , db-codegen ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ํ…Œ์ด๋ธ”์—์„œ GObject ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ”„๋กœ์ ํŠธ์— ์ •์˜๋œ ๋ฒ„์ „์— ๋”ฐ๋ผ GTK 3 ๋ฐ GTK 4๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GTK์˜ ๋‹ค์–‘ํ•œ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์›น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์—์„œ GTK ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ถœ๋ ฅ์„ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ๋Š” Broadway ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…๊ณต๊ฐ„์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ Cambalache ํ”„๋กœ์„ธ์Šค๋Š” Broadway๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๋ Œ๋”๋ง์— ์ง์ ‘ ๊ด€์—ฌํ•˜๋Š” Merengue ํ”„๋กœ์„ธ์Šค์˜ ์ถœ๋ ฅ์„ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•˜๋Š” WebKit WebView ๊ธฐ๋ฐ˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ:

  • ๊ฐœ์ฒด ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ณ  ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ™”ํ˜• ๊ฐœ์ฒด ์„ ํƒ ํŒจ๋„์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    GTK ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ๋„๊ตฌ Cambalache 0.8.0 ์ถœ์‹œ
  • ์ง€์ •๋œ ์œ„์น˜์— ํ•˜์œ„ ์š”์†Œ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์—…๊ณต๊ฐ„ ์ž๋ฆฌ ํ‘œ์‹œ์ž๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ„์ ฏ์„ ๋‘ ๋ฒˆ ํด๋ฆญํ•˜๋ฉด ์ž๋ฆฌ ํ‘œ์‹œ์ž ๋Œ€์‹  ์œ„์ ฏ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    GTK ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ๋„๊ตฌ Cambalache 0.8.0 ์ถœ์‹œ
  • ๋ฒˆ์—ญ ๊ฐ€๋Šฅํ•œ ์†์„ฑ์— ๋Œ€ํ•œ ์ง€์›์ด ์ œ๊ณต๋˜์—ˆ์œผ๋ฉฐ ๋ฒˆ์—ญ์ž๋ฅผ ์œ„ํ•œ ๋Œ“๊ธ€์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    GTK ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ๋„๊ตฌ Cambalache 0.8.0 ์ถœ์‹œ
  • ํด๋ฆฝ๋ณด๋“œ ์ž‘์—…์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋ณต์‚ฌ, ๋ถ™์—ฌ๋„ฃ๊ธฐ, ์ž˜๋ผ๋‚ด๊ธฐ ๋ฐ ์‚ญ์ œ).
    GTK ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ๋„๊ตฌ Cambalache 0.8.0 ์ถœ์‹œ
  • UI ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ผ ๋•Œ ์ง€์›๋˜์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ •๋ณด ํ‘œ์‹œ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    GTK ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ๋„๊ตฌ Cambalache 0.8.0 ์ถœ์‹œ

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€