ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฒ์ญ๊ธฐ Vala 0.54.0์ ์ ๋ฒ์ ์ด ์ถ์๋์์ต๋๋ค. Vala ์ธ์ด๋ C# ๋๋ Java์ ์ ์ฌํ ๊ตฌ๋ฌธ์ ์ ๊ณตํ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. Vala ์ฝ๋๋ C ํ๋ก๊ทธ๋จ์ผ๋ก ๋ณํ๋๋ฉฐ, ์ด๋ ๋ค์ ํ์ค C ์ปดํ์ผ๋ฌ์ ์ํด ๋ฐ์ด๋๋ฆฌ ํ์ผ๋ก ์ปดํ์ผ๋๊ณ ๋์ ํ๋ซํผ์ ๊ฐ์ฒด ์ฝ๋๋ก ์ปดํ์ผ๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋๋ก ์คํ๋ฉ๋๋ค. ์คํฌ๋ฆฝํธ ๋ชจ๋์์ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์์ต๋๋ค. ์ด ์ธ์ด๋ GNOME ํ๋ก์ ํธ์ ํ์์ผ๋ก ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค. Gobject(Glib Object System)๋ ๊ฐ์ฒด ๋ชจ๋ธ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ปดํ์ผ๋ฌ ์ฝ๋๋ LGPLv2.1 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
์ธ์ด๋ ์์ฒด ๊ฒ์ฌ, ๋๋ค ํจ์, ์ธํฐํ์ด์ค, ๋๋ฆฌ์ ๋ฐ ํด๋ก์ , ์ ํธ ๋ฐ ์ฌ๋กฏ, ์์ธ, ์์ฑ, null์ด ์๋ ์ ํ, ์ง์ญ ๋ณ์(var)์ ๋ํ ์ ํ ์ ์ถ๋ฅผ ์ง์ํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ์ฐธ์กฐ ์นด์ดํ ์ ๊ธฐ๋ฐ์ผ๋ก ์ํ๋ฉ๋๋ค. ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ์ ํ์ ๋ํ ์ปฌ๋ ์ ์ ์์ฑํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ผ๋ฐํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ libgee๊ฐ ํด๋น ์ธ์ด์ฉ์ผ๋ก ๊ฐ๋ฐ๋์์ต๋๋ค. foreach ๋ฌธ์ ์ฌ์ฉํ ์ปฌ๋ ์ ์์ ์ด๊ฑฐ๊ฐ ์ง์๋ฉ๋๋ค. ๊ทธ๋ํฝ ํ๋ก๊ทธ๋จ ํ๋ก๊ทธ๋๋ฐ์ GTK ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค.
์ด ํคํธ์๋ C ์ธ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ๋ง์ ๋ฐ์ธ๋ฉ์ด ํฌํจ๋์ด ์์ต๋๋ค. Vala ๋ฒ์ญ๊ธฐ๋ ์ ์ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง Python ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์๊ฐ์ ๋ฐ์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ Genie ์ธ์ด์ ๋ํ ์ง์์ ์ ๊ณตํฉ๋๋ค. Geary ์ด๋ฉ์ผ ํด๋ผ์ด์ธํธ, Budgie ๊ทธ๋ํฝ ์, Shotwell ์ฌ์ง ๋ฐ ๋น๋์ค ํ์ผ ๊ตฌ์ฑ ํ๋ก๊ทธ๋จ ๋ฑ๊ณผ ๊ฐ์ ํ๋ก๊ทธ๋จ์ Vala ์ธ์ด๋ก ์์ฑ๋์์ต๋๋ค. ์ด ์ธ์ด๋ Elementary OS ๋ฐฐํฌํ ๊ฐ๋ฐ์ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
์ฃผ์ ํ์ :
- ๊ฐ๋ณ ๊ฐ์์ ๋งค๊ฐ๋ณ์๊ฐ ์๋ ๋๋ฆฌ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- POSIX ํ๋กํ๊ณผ ๋์์ด์ธ LIBC ํ๋กํ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- POSIX ํ๋กํ ๋ชจ๋์ ์์ฑ์ด ๊ฐ์ ๋์์ต๋๋ค.
- ์ ํ ์ถ๋ก (var?)์ ํตํด null ๊ฐ์ ๊ฐ์ง ์ ์๋ ๋ณ์๋ฅผ ์ ์ธํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์์์ด ๊ธ์ง๋ ํด๋์ค๋ฅผ ์ ์ธํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค(๋ด์ธ๋จ).
- null(a.?b.?c)์ผ ์ ์๋ ํด๋์ค ํ๋์ ์์ ์ก์ธ์ค ์ฐ์ฐ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- null๋ก ๊ตฌ์กฐ ๋ด์ฉ ์ด๊ธฐํ ํ์ฉ (const Foo[] BARS = { { "bar", 42 }, null };);
- ์์ ๋ฐฐ์ด์๋ resize() ์์ ์ด ๊ธ์ง๋ฉ๋๋ค.
- ํจ์ ํธ์ถ์ void ((void)not_void_func(););์ ์บ์คํ ํ๋ ค๊ณ ํ ๋ ๊ฒฝ๊ณ ์ถ๋ ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- GLib.Array ์์ ์ ํ์ ๋ํ ์ ํ์ด ์ ๊ฑฐ๋์์ต๋๋ค.
- foreach() ๋ฌธ์์ "์์ ๋์ง ์์ var" ์์ ๊ถ ์์์ ์์ ํ์ต๋๋ค.
- webkit2gtk-4.0์ ๋ํ ๋ฐ์ธ๋ฉ์ด ๋ฒ์ 2.33.3๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- gstreamer์ ๋ํ ๋ฐ์ธ๋ฉ์ด ๋ฒ์ 1.19.0+ git master๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- gtk4์ ๋ํ ๋ฐ์ธ๋ฉ์ด ๋ฒ์ 4.5.0~e681fdd9๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- gtk+-3.0์ ๋ํ ๋ฐ์ธ๋ฉ์ด ๋ฒ์ 3.24.29+f9fe28ce๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- gio-2.0,glib-2.0์ ๋ํ ๋ฐ์ธ๋ฉ์ด ๋ฒ์ 2.69.0์ผ๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- Linux์ ๊ฒฝ์ฐ SocketCAN์ ๋ํ ๋ฐ์ธ๋ฉ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- glib-2.0, gio-2.0, gstreamer-rtp-1.0, javascriptcoregtk-4.0, gobject-2.0, pango, linux, gsl, Rest-0.7, libusb, libusb-1.0, pixman-1, webkit2gtk-web-์ ๋ํ ๋ฐ์ธ๋ฉ ์์ ํ์ฅ-4.0, x11, zlib, gnutls;
- gedit-2.20 ๋ฐ webkit-1.0 ๋ฐ์ธ๋ฉ์ด ์ ๊ฑฐ๋์์ต๋๋ค.
- GIR์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ธ๋ฉ์ด ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- ์์ฑ๋ C ์ฝ๋๋ฅผ ํ์ธํ๋ ๊ธฐ๋ฅ์ด ํ ์คํธ ์์คํ ์ ์ถ๊ฐ๋์์ต๋๋ค.
- ํฅ์๋ girparser, girwriter, valadoc, libvaladoc/girimporter;
- ๋ค์ํ ์ปดํ์ผ๋ฌ ๊ตฌ์ฑ์์์ ๋์ ๋ ์ค๋ฅ ๋ฐ ๋จ์ ์ด ์์ ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru