์ด์ Xamarin ํ๋ก์ ํธ ํ ํ๋ฆฟ์ C#๋ง ์ง์ํ์ต๋๋ค. VB๋ ์ง์ํ๊ณ ์ถ์ต๋๋ค.
API๋ ๋ค๋ฅธ ์ธ์ด๋ผ๋ ์ ์ ์ ์ธํ๊ณ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ผํ๊ฒ ์ ์ง๋ฉ๋๋ค.
์ฌ์ฉ ์ฌ๋ก์๋ ์ฝ๋์ VB๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ํฌํจ๋ฉ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ ์ฒด ์ด์ ๋ธ๋ฆฌ๊ฐ ์๋ ๊ธฐ์กด ์ฝ๋ ์กฐ๊ฐ์ ์ฌ์ฌ์ฉํ๊ณ ๊ฐ์ฅ ์ ์ฐฝํ ์ธ์ด์ ๋ํด Intellisense๋ฅผ ํ์ฉํ ์ ์๋๋ก ํ๋ฉด ๊ฐ๋ฐ ์๊ฐ์ด ํฌ๊ฒ ๋จ์ถ๋๊ณ ๋๋ฒ๊น ์ด ๊ฐ์ํ๋ฉ๋๋ค.
VB.NET ๋ฐ C#์๋ ์ถ๋ ฅ๊ณผ ๋์ผํ IL ์ฝ๋๊ฐ ์์ต๋๋ค. C# ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ VB.NET ๊ณต์ ์ฝ๋๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.
์ดํดํฉ๋๋ค. ์ ์ง๋ฌธ์ด ๋ช ํํ์ง ์์ ์ ์์ต๋๋ค. ์ ์ง๋ฌธ์ Visual Studio(๊ด๋ จ ํ๋ก์ ํธ ํ ํ๋ฆฟ)๊ฐ ์ด๋ฒคํธ ํธ๋ค๋ฌ ๋ฐ ๊ณต์ ๋์ง ์๋ ๊ธฐํ ์ฝ๋๋ฅผ ํฌํจํ์ฌ ํ์ฌ ํ๋ก์ ํธ์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํ ๋ VB๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ์ฌ๋ถ์ ๋๋ค.
์ด๊ฒ๋ ๋ณด๊ณ ์ถ์ต๋๋ค. ์ง์์ ์ผ๋ก ์ ์ ์ ๋ณํ๋ฅผ ํด์ผ ํ๋ ๊ฒ์ ๋ถํ์ํ๊ฒ ๋ถ๋ด์ด ๋๋ ์ผ์ด๋ฉฐ... ํด์๋ ์ ๋ฉ๋๋ค. ๋ฌผ๋ก C#์ผ๋ก ์ ํํ ์๋ ์์ง๋ง VB์์ ์ฝ๋ฉํ๋ ๊ฒ์ ์ ํธ ํ๋ฏ๋ก ๊ทธ๋ ๊ฒ ํ๊ณ ์ถ์ง ์์ต๋๋ค.
์ด์ ๋ํ ๋ด ์ฃผ์ ์ง๋ฌธ์ Xamarin์ด ์์ค ์์ฑ๊ธฐ๋ฅผ ํ์ฉํ๋๋ก ์ฝ๋ ์์ฑ์ ์ฌ์ค๊ณํ ๊ณํ์ ๋๊น? ๊ทธ๋ ๋ค๋ฉด ํ์ํ ์์ค ์์ฑ๊ธฐ๋ฅผ ์ ํํ๋ ๊ฒ์ด ์๋์ ์ผ๋ก ์ฝ๋๋ก ์ค๊ณ๋์ด(VB ์ปค๋ฎค๋ํฐ) ์ด๋ฌํ ์์ค ์์ฑ๊ธฐ์ VB ๋ฒ์ ์ ์ ๊ณตํ๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๊น?
์์ค ์์ฑ๊ธฐ๋ ์ฌ์ ํ ๋งค์ฐ ์๋กญ๊ณ ์ค์ ๋ก Xamarin์ด ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ "์จ๊ฒจ์ง" ์ธก๋ฉด์ ๋ง์ง ์์ ์ ์์ผ๋ฏ๋ก ์ฌ๊ธฐ์์ ๊ธฐ์ง์์ ๋ฒ์ด๋ ์ ์์ต๋๋ค. ;-)
VB.NET ๋ฐ C#์๋ ์ถ๋ ฅ๊ณผ ๋์ผํ IL ์ฝ๋๊ฐ ์์ต๋๋ค. C# ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ VB.NET ๊ณต์ ์ฝ๋๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.
ํ์คํ ... ์ด๊ฒ์ด ์ค๋๋ ์ํ๋์ด์ผ ํ๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ "UI"์ ๋ํ C# ํ๋ก์ ํธ์ "๋น์ฆ๋์ค ๋ก์ง"์ ๋ํ ํ๋ ์ด์์ ํ๋ก์ ํธ๊ฐ ์์์ ์๋ฏธํฉ๋๋ค. ์ปจํ ์คํธ ์ ํ์ ๊ณจ์น ์ํ ์ผ์ ๋๋ค! ๋ฌธ์ ๊ฐ ์์ฑ๋ ์ฝ๋ ์ฝ๋ ๋ถ๋ถ์ด๋ผ๋ ์ ์ ๊ณ ๋ คํ๋ฉด ์์ฑ๋ ์ธ์ด์ ๋์ผํ ์ธ์ด๋ก ๋๋จธ์ง UI ๋ก์ง(์ฝ๋ ์จ๊น)์ ์์ฑํด์ผ ํ๋ฏ๋ก VB ์ฌ๋๋ค์ด ์ฝ๋ ์นจ์ ๋ฑ๋ ์ด์ ๋ฅผ ์ดํดํ๊ธฐ ์ด๋ ต์ต๋๋ค. "๋ค๋ฅธ ์ฌ๋๋ค์ด ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๊ธฐ๋ฅผ ์ํ๋ ๊ฒ"์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋๋ก ๊ฐ์๋ฐ๋ ๋์ ์ฐ๋ฆฌ ์ธ์ด๋ก ํ ์ ์์ต๋๋ค.
"์ฌ๋ฌ๋ถ, ์ ๊ฐ ํ๊ณ ์ถ์ ๋ง์, ์ฐ๋ฆฌ ๋ชจ๋ ์ฌ์ด์ข๊ฒ ์ง๋ผ ์๋ ์์๊น์? -- ๋ก๋๋ ํน, 1992๋ 5์ 1์ผ.
์ ๋ชฉ์ VB ์ฐธ์กฐ๊ฐ ํฌํจ๋ ์ฃผ์ ์ ๋ํด ๋จ์ํ ๋ถํฉ๋ฆฌํ ์์ ๊ฑฐ์ (IMO)๋ก ๋ณด์ด๋ ๊ฒ์ ๋ํ ์๋ต์ ๋๋ค. ๊ฒฐ๊ตญ ์ฐ๋ฆฌ๋ ๋ชจ๋ IL์ ์์ฑํ๊ธฐ ์ํด ์์ ์ธ๊ด(์ ํํ ์ธ์ด)์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค... ๊ทธ๋์ ์ฐ๋ฆฌ๊ฐ ์ ํํ ์ฝ๋ ์์ฑ๊ธฐ๋ ๋ฐ๋ก... ์ ํ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ์ ์ ํ์ ์กด์คํ๋ ๋ฐ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ์ต๋๊น? ํนํ ๊ทธ ์ ํ์ด ๋น์ ์ ์ ํ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค๋ฉด?
๊ฟ์ด ์์ด์! ์ฐ๋ฆฌ ๋ชจ๋ ์ ์ง๋ด๊ณ , ํํ๋กญ๊ฒ ๊ณต์กดํ๊ณ , "ํ ํ๋ฆฟ ์์ฑ๊ธฐ"์ ๊ฐ์ธ์ ์ธ ์ ํธ์ ๋ฐ๋ผ ์๋ก์ ์ ํ์ ์กด์คํ๊ณ , .NET ๊ฐ๋ฐ์์ ํ๋์ ์ปค๋ฎค๋ํฐ๋ก ๋จ๊ฒฐํ ์ ์์ต๋๊น? ์ค, ๊ทธ๊ฒ์ ์ผ๋ง๋ ๊ฟ์ธ๊ฐ(๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ๊ฑฐ์ 20๋ ๋์ ๊พธ๊ณ ์์๋ ๊ฟ).
ํ์คํ ... ์ด๊ฒ์ด ์ค๋๋ ์ํ๋์ด์ผ ํ๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ "UI"์ ๋ํ C# ํ๋ก์ ํธ์ "๋น์ฆ๋์ค ๋ก์ง"์ ๋ํ ํ๋ ์ด์์ ํ๋ก์ ํธ๊ฐ ์์์ ์๋ฏธํฉ๋๋ค.
๋ชจ๋ .Net ํ๋ก์ ํธ๋ Xamarin.Forms๋ฅผ ์ฐธ์กฐํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ UI๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ๋ฐ๋ผ์ VB/F#์ด ๋น์ฆ๋์ค ๋ ผ๋ฆฌ์๋ง ์ฌ์ฉ๋ ์ ์๋ค๋ ๊ฒ์ ์ฌ์ค์ด ์๋๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
VB.NET ๋ฐ C#์๋ ์ถ๋ ฅ๊ณผ ๋์ผํ IL ์ฝ๋๊ฐ ์์ต๋๋ค. C# ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ VB.NET ๊ณต์ ์ฝ๋๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.