๋ผ์ด๋ธ๋ก ๋ง๋ค์ด์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์์ ๋๋จธ์ง ์ง๋ฌธ์ ์ ๊ทผํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
ํตํ ๋ น์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ -
๋ค์ WinUI ์ปค๋ฎค๋ํฐ ์ฝ์ 1์ 22์ผ ์์์ผ์ ์์ต๋๋ค!
๋ ์ง: 1์ 22์ผ ์์์ผ
์๊ฐ: 17:00-18:00 UTC (ํํ์ ํ์ค์ ์ค์ 9:00-10:
๋๊ตฌ๋ ์ง ํ์ํฉ๋๋ค. ์ฌ์ ๋ฑ๋ก์ด ํ์ํ์ง ์์ต๋๋ค.
์ด๊ฒ์ ์์ง๋์ด๋ง ํ ๊ตฌ์ฑ์๊ณผ ์ง์ ๋น๊ณต์ ์จ๋ผ์ธ ํตํ์
๋๋ค.
๊ทํ์ ์ง๋ฌธ์ ๋ค์ ๋ต๋ณํ๋ ๋ฐ ์๊ฐ์ ํ ์ ํ๊ณ ์ถ์ต๋๋ค. ๋ค์ ์ฃผ์ ๋ค๋ฃจ์์ผ๋ฉด ํ๋ ์ง๋ฌธ์ด๋ ์ฃผ์ ๊ฐ ์์ผ๋ฉด ์ด ํธ์ ๋๊ธ์ ๋จ๊ฒจ ์ฃผ์ธ์!
WinUI 3 Alpha ๋ฅผ
์ปจํธ๋กค ๋ฐ ๊ธฐ๋ณธ๊ฐ์์ nullable ๋ฐ์ดํฐ ํ์์ ๋ํ ์ง์์ ๋ํด ์ด์ผ๊ธฐํ ์ ์์ต๋๊น? ์๋ฅผ ๋ค์ด DateTimeOffset์ ๋ฐํํ๋ DatePicker
์ DateTimeOffset?์ ๋ฐํํ๋ CalendarDatePicker
๊ฐ ์์ต๋๋ค.
DefaultValue
์์ฑ์ ๊ณ ๋ คํด์ผ ํฉ๋๊น, NaN์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ ์งํด์ผ ํฉ๋๊น, ์๋๋ฉด ๊ธฐ๋ณธ null์ ์ฌ์ฉํ์ฌ nullable double๋ก ์ ํํด์ผ ํฉ๋๊น?Value
์์ฑ์ nullable๋ก ๋ง๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ nullable ๊ฐ ๋ฐํ ๋ฐ ์ง์์ WinRT/OS XAML ์ ํ ์ฌํญ์ด ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด CalendarDatePicker๋ ์ด๋ป๊ฒ ๊ตฌํ๋์์ต๋๊น?๋ํ, WinUI 3.0์ ์์กดํ์ง ์๋ NumberBox์ ๋ฏธํด๊ฒฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ก๋๋งต์ ๋ฌด์์ ๋๊น? ๋ ์ค๋ ๊ธฐ๋ค๋ฆด ํ์ ์์ด WinUI 2.4 ์ฃผ๋ณ์์ ์ด ์ปจํธ๋กค์ ์ฌ์ฉํ๊ธฐ ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ด ์๊ฒฌ์ผ๋ก๋ ์์ง ์์ ํ ๊ตฌ์์ง์ง ์์์ผ๋ฉฐ ์ด๊ฒ์ ํ๋ก๋์ ์ฑ์ผ๋ก ๊ฐ์ ธ ์ค๋ ๊ฒ์ด ๋ถํธํฉ๋๋ค.
ํ ๋ก ํ ๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. WinUI 3.0์ด ์คํ ์์ค๋ก ์ ํ๋๋ ์ง๊ธ Microsoft์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฌด์์ ๋๊น?
๊ณผ๊ฑฐ์ Microsoft๋ ์ฌ์ค์ ํ๊ธฐ์ ์ธ ๋ณ๊ฒฝ์ ํ ์ ์ด ์์ต๋๋ค. ์ด๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ํผ๋์ด ๋ช ๋ (๋๋ 10๋ ) ํ์ ์์ผ ๋๊น์ง๋ ์ข์ ์ผ์ ๋๋ค. ๋ํ ์คํ ์์ค ํ๋ก์ ํธ์ ํ์ค์ด ์๋๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฒฐ๊ตญ ListBox๋ ListView์ ๋ํด ๋จ๊ณ์ ์ผ๋ก ์ค๋จ๋๊ณ MessageDialog๋ ContentDialog์ ๋ํด ๋จ๊ณ์ ์ผ๋ก ์ค๋จ๋์ด์ผ ํฉ๋๋ค. API์๋ ๋ ๋์ ์์ ์ ๋ฆฌ๊ฐ ๋ง์ด ์๋ค๊ณ ํ์ ํฉ๋๋ค.
๋๋ ๊ธฐ์ ์ด ๋ณํ๋ฅผ ์ซ์ดํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ์ ๋นํ ์ด์ ๊ฐ ์์ต๋๋ค. ๋ํ ์ API๋ก์ ์ด์์ ๊ฐ๋จํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉ ๊ฐ๋ฅํ ๋น๊ต์ ์ฌ์ด(๊ธฐ๋ฅ์ ์ผ๋ก ๋๋ฑํ) ๋๋กญ์ธ ๊ต์ฒด๊ฐ ์์ด์ผ ํฉ๋๋ค(MUST). ์ด๋ ์ฌ๋ก๋ณ๋ก ํ๊ฐํ๊ณ ํ๋จ์ ๋ด๋ ค์ผ ํฉ๋๋ค.
์ฃผ์ ๋ฆด๋ฆฌ์ค(์: WinUI 4.0)๋ฅผ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์ค์ ํ ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ณผ๊ฑฐ์ ๋ชจ๋ ์ค์๋ฅผ ์๊ณ ์ด์ง ์๊ณ ๋ ํ๋ก์ ํธ๊ฐ ๊ณ์ ์ฑ์ฅํ ์ ์์ต๋๋ค. ๋ณธ์ง์ ์ผ๋ก Microsoft๋ .NET Core๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์ ์ฒด .NET Framework๋ฅผ ์ญ์ ํ์ฌ .NET 5๋ก ์ด๋ฅผ ์ํํ๊ธฐ๋ก ์ด๋ฏธ ๊ฒฐ์ ํ์ต๋๋ค.
๋ ผ์๊ฐ ๋๋๋ฉด ๋ฌธ์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ง์ง๋ง ํธ์ถ ์ดํ์ ์งํ ์ํฉ์ ๋ฐ๋ผ ํ์ ์ธ์ WinUI 3๊ฐ ์ถ์๋ ์ค๋น๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ํ์ค์ ์ผ๋ก ์๊ฐํฉ๋๊น?
๋ํ ์๋ก์ด AOT ์๋ฃจ์ ๊ณผ .NET 5๋ฅผ ํตํฉํ๋ .NET ํ์ ๋ํ ๊ทํ์ ์์ ์ ์ผ๋ง๋ ์์กด์ ์ ๋๊น?
๋ง์ง๋ง์ผ๋ก, Windows 10X ๋ฆด๋ฆฌ์ค๋ฅผ ์ํด ์ค๋นํด์ผ ํ๋ Windows ์ธก์ ์๋ ฅ์ด ์์ต๋๊น?
WinUI 2.X ํ๋ก์ ํธ๋ฅผ WinUI 3.0์ผ๋ก ์ฝ๊ฒ ๋ณํํ ์ ์๋ ๋๊ตฌ๊ฐ ์์ด์ผ ํฉ๋๊น?
๋ฐฉ ์์ ์ฝ๋ผ๋ฆฌ - WinRT (#1856)
๋ฐฉ ์์ ์ฝ๋ผ๋ฆฌ - WinRT (#1856)
์๋๋ฐ์ค๊ฐ ์ ์ฉ๋์ง ์์ ์ฑ ๋ชจ๋ธ์ด ์ถ์๋ ์์ ์ ๋๋ค. ์ด ๋ชจ๋ธ์ WPF(Win32 API ํฌํจ)์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์คํ๋์ง๋ง ์ต์ WinRT API์ ์ก์ธ์คํ ์ ์์ผ๋ฉฐ Direct X 12์์ ์คํ๋๋ ์๋ก์ด XAML์ด ํฌํจ๋ ์คํ ์์ค UI ๋ฐ ์ปจํธ๋กค์ด ์ ๊ณต๋ฉ๋๋ค.
์๋๋ฐ์ค๊ฐ ์ ์ฉ๋์ง ์์ ์ฑ ๋ชจ๋ธ์ด ์ถ์๋ ์์ ์ ๋๋ค. ์ด ๋ชจ๋ธ์ WPF(Win32 API ํฌํจ)์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์คํ๋์ง๋ง ์ต์ WinRT API์ ์ก์ธ์คํ ์ ์์ผ๋ฉฐ Direct X 12์์ ์คํ๋๋ ์๋ก์ด XAML์ด ํฌํจ๋ ์คํ ์์ค UI ๋ฐ ์ปจํธ๋กค์ด ์ ๊ณต๋ฉ๋๋ค.
์ฐ์. ์์ฐ ์์ฐ!!!!
๊ทธ๊ฒ์ ๋๋ผ์ด ๊ฒ ์ด์์ ๋๋ค! ์ด์ ๋ํ ETA๊ฐ ์์ต๋๊น? ํตํ์์ ๋ ผ์ํ ์์ ์ ๋๊น?
์์ฒญ๋๊ฒ ๊ต์ฅํ๋ค!
์๋๋ฐ์ค๊ฐ ์ ์ฉ๋์ง ์์ ์ฑ ๋ชจ๋ธ์ด ์ถ์๋ ์์ ์ ๋๋ค. ์ด ๋ชจ๋ธ์ WPF(Win32 API ํฌํจ)์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์คํ๋์ง๋ง ์ต์ WinRT API์ ์ก์ธ์คํ ์ ์์ผ๋ฉฐ Direct X 12์์ ์คํ๋๋ ์๋ก์ด XAML์ด ํฌํจ๋ ์คํ ์์ค UI ๋ฐ ์ปจํธ๋กค์ด ์ ๊ณต๋ฉ๋๋ค.
์ฐ์. ์์ฐ ์์ฐ!!!!
๊ทธ๊ฒ์ ๋๋ผ์ด ๊ฒ ์ด์์ ๋๋ค! ์ด์ ๋ํ ETA๊ฐ ์์ต๋๊น? ํตํ์์ ๋ ผ์ํ ์์ ์ ๋๊น?
์์ฒญ๋๊ฒ ๊ต์ฅํ๋ค!
๊ทธ๊ฒ์ ์ฐ๋ฆฌ๊ฐ WinUI์ ๋ํด ๋ฐฐ์ด ์ฒซ ๋ฒ์งธ ๊ฒ์ด์์ต๋๋ค. ETA๋ ์ฌํด๋ฅผ ์ํ ๊ฒ์ด๋ฏ๋ก //Build/์์ ์ ํํ ๋ ์ง๊ฐ ์ ๊ณต๋ ๊ฒ์ผ๋ก ์๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ํตํ ์ค์ ์์ ๋กญ๊ฒ ์ง๋ฌธํ์ญ์์ค.
https://github.com/microsoft/microsoft-ui-xaml/blob/master/docs/roadmap.md
@jtorjo WinUI ๋ก๋๋งต์ ์ฐธ์กฐํ์ญ์์ค. ๋ํ ์์ธํ ์ ๋ณด(์: VS ํ๋ก์ ํธ ํ ํ๋ฆฟ)๋ https://github.com/microsoft/microsoft-ui-xaml/issues/1045 ๋ฅผ ์ฐธ์กฐ
@mdtauk @Felix-Dev ๊ทธ ๋ฌธ์๋ฅผ ๋ค์ ์ฝ์ ๊ฒ์ ๋๋ค. ์ ์ ์ด๊ฒ์ ๋ฌผ์ด๋ดค๋ ๊ธฐ์ต์ด ๋ฉ๋๋ค. (์๋๋ฐ์ค๊ฐ ์๋) ์ฑ์์ win2d๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค๋ฉด ๋ํ ๋์ ์์ด ํ๋ณตํ ๊ฒ์ ๋๋ค!
@jesbis ๋ฉ์ฒญํ ์ง๋ฌธ์ ๋ํด ์ฃ์กํฉ๋๋ค - ํตํ์ ์ด๋ป๊ฒ ์ฐธ์ฌํฉ๋๊น?
์ค๋ ์คํ์ ๋ด์ผ ํตํ๋ฅผ ์ํ ์ ๋ณด๋ฅผ ์ค์ ํ๊ณ ์์ต๋๋ค. ๋ช ์๊ฐ ํ์ ์๋ด๋ฅผ ๊ฒ์ํ๊ฒ ์ต๋๋ค.
์ง์ฐ์ ์๋ก์ด ๋ฐฉ์ก ์์คํ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฒ์์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ดํ์๋ ๋ ์ํํ๊ฒ ์งํ๋๊ณ ๋ ์ผ์ฐ ์ค๋น๋ ๊ฒ์ ๋๋ค. ๐
๋๋ (์ด์จ๋ ๋์๊ฒ) ํฅ๋ฏธ๋ก์ด ์๊ฐ์ ํ๋ค.
์ค๋์ ASP.NET Community Standup ๋ผ์ด๋ธ ์คํธ๋ฆผ์ ์ดํด๋ณด๋ฉด ๊ธฐ์ ๋ฐ๋ชจ์ ๊ฐ๊น๊ธด ํ์ง๋ง ๋ณธ์ง์ ์ผ๋ก 4๋ช ์ MS ๊ฐ๋ฐ์๊ฐ ๋ผ์ด๋ธ ์ฝ๋ฉ ์คํธ๋ฆผ์ ์ํํ๋ ๊ฒ์ ๋ณด์์ต๋๋ค. ๋๋ ๋ํ ๋ผ์ด๋ธ ์ฝ๋ฉ ์ธ์ ์์ ์ ์ฒด๋ฅผ ์ํ ํ๋ Twitch์ ๋ฃ ์ต๋๋ค.
๊ทธ๋์ ๋ด ์๊ฐ์ - WinUI 3๊ฐ ์ถ์๋๊ณ ์ฝ๋๋ฒ ์ด์ค(๋๋ ๋๋ถ๋ถ)๊ฐ ๋ชจ๋ ์คํ ์์ค๊ฐ ๋ ํ ํ ๊ตฌ์ฑ์์ด ๊ฐ๋ WinUI์์ ์์ ์ค ์ผ๋ถ๋ฅผ ๋ผ์ด๋ธ ์คํธ๋ฆฌ๋ฐํ ์ ์์๊น?
WinUI ๋ ธ์ถ์ ๋๋ฆฌ๊ณ ์ฌ๋๋ค์ด ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฝ๊ฒ ํ์ํ ์ ์๋๋ก ๋๊ณ ๋๋๋ก ์ง๋ฌธ์ ๋์ง ์ ์๋ ์ข์ ๊ธฐํ๊ฐ ๋ ๊ฒ์ ๋๋ค. ~๋๋ ๋งค์ฐ ๋น์์ฐ์ ์ผ ์ ์์ผ๋ฏ๋ก ํญ์ ์ ์ฒด ์ฑํ ์ฐธ์ฌ๋ฅผ ๊ถ์ฅํ์ง ์์ง๋ง ๊ฐ๋์ Q&A๊ฐ ๋ ์ ์์ต๋๋ค.
ํนํ ๊ทผ๋ฌด ์๊ฐ์๋ MS ์ ์ฑ ์ด ์ด๋ค ์ ํ์ธ์ง ์ ํ ๋ชจ๋ฆ ๋๋ค. ๋น์ ์ ์๊ฐ์ ๋ฃ๋ ๊ฒ์ด ํฅ๋ฏธ๋ก์ธ ๊ฒ์ ๋๋ค.
๋ด์ผ์ ์ ํ๋ธ ๋ผ์ด๋ธ ์ด๋ฒคํธ ๋งํฌ์ ๋๋ค!
์ง๊ธ๊น์ง ๋ชจ๋ ์๊ฒฌ๊ณผ ์ง๋ฌธ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ์ฐ๋ฆฌ๋ ๋ชจ๋ ๊ฒ์ ์ ๊ทผํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ด๊ณ , ์๊ฐ์ด ์์ ๊ฒฝ์ฐ ํ์ ์กฐ์น๋ฅผ ์ถ์ ํ ๊ฒ์ ๋๋ค.
๊ฐ์ด๋์ UI์ ์ฑ๋ฅ/fps์ ๋ํ ๋ด์ฉ์ด ์์ต๋๊น? ์ต์ Windows 10์ ๋ํ ๊ฐ์ฅ ํฐ ๋ถ๋ง ์ค ํ๋๋ Surface Book๊ณผ ๊ฐ์ ์์คํ ์์ ๋์ DPI ๋์คํ๋ ์ด์์ ๋์ฐํ ์ฑ๋ฅ์ ์ป์ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ํฌ๋ช ๋์ ์ถ๊ฐ ๋ชจ๋ํฐ๋ฅผ ๊ฒฐํฉํ๋ฉด ๋์ฑ ์ ํ๋ฉ๋๋ค. ๊ฐ๋ฅํ ๋ฒ์ ๋ฐ์ผ ์๋ ์์ง๋ง ํนํ ์ด๋ฌํ ์กฐ๊ฑด์์ ์ผ๋ง๋ ์ ์ฐํ๊ณ ์ ์๋ํ๋์ง์ ๋ํ ๊ณ ๋ ค ์ฌํญ์ด ์์ต๋๊น?
ํ ๋๋ฆฌ ์๋/ํฌ๋ช ํ ์ฐฝ์ ์ฐ์ ์์๋ฅผ ๋์ด๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค(https://github.com/microsoft/microsoft-ui-xaml/issues/1247). ์ด๊ฒ์ ์ฐ๋ฆฌ ์ ๊ฐ์ ์ฑ์ ์ํ WinUI ์ฑํ ์ฐจ๋จ๊ธฐ์ ๋๋ค.
์ฐธ์กฐ: @crutkas
๊ฒฝ๊ณ์ ์ด ์๋/ํฌ๋ช ํ ์ฐฝ์ ์ฐ์ ์์๋ฅผ ๋์ด๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค(a la #1247). ์ด๊ฒ์ ์ฐ๋ฆฌ ์ ๊ฐ์ ์ฑ์ ์ํ WinUI ์ฑํ ์ฐจ๋จ๊ธฐ์ ๋๋ค.
์ฐธ์กฐ: @crutkas
์ด๋ฅผ ์ํด์๋ WPF์ ์ ์ฌํ ์์ฑ์ ์ฌ์ฉํ์ฌ WinUI Xaml์ ์ถ๊ฐ๋ ์ต์์ ์ฐฝ ์์๊ฐ ํ์ํ ์ ์์ต๋๋ค. #1323
WinUI์ ๋ํ '์๋์ฐ์ ๋ฏธ๋'์ ๋ํด ๋ ๋ง์ด ๋ฐฐ์ฐ๋ ๊ฒ์ด ์ข์ ๊ฒ์ ๋๋ค. ์ ์ด๋ ๋ ผ์/์ฒ๋ฆฌํ ์ ์๋ ๊ด๋ จ ์์ฒญ์ด ๋ง์ด ์์ต๋๋ค.
์๋ง ์ ์ ๋ฌผ์ด๋ณธ ์ ์ด ์์ ๊ฒ์ ๋๋ค.
๋์๊ฒ ํญ์ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ์ ๋ฌธ์ ์์ต๋๋ค.
์ด๊ฒ์ ๋ ๊ฐ์ง ์ง๋ฌธ์ผ๋ก ์ด์ด์ง๋๋ค.
๋ ํ๋, UWP์์ ์ง์๋๋ WPF์ ๋๋ฝ๋ ๋นํธ๋ ์ธ์ ๋ณผ ์ ์์ต๋๊น?
์๋ง ์ ์ ๋ฌผ์ด๋ณธ ์ ์ด ์์ ๊ฒ์ ๋๋ค.
๋์๊ฒ ํญ์ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ์ ๋ฌธ์ ์์ต๋๋ค.
์ด๊ฒ์ ๋ ๊ฐ์ง ์ง๋ฌธ์ผ๋ก ์ด์ด์ง๋๋ค.
- .NET Core 3 ๋ฐ C# 8.0 ์ง์์ด ๊ณง ์ ๊ณต๋๋์?
- UWP/WinUI ํ์์ Uno Platform ์ฑ์ ๋ ์ฝ๊ฒ ๊ฐ๋ฐํ ์ ์๋๋ก ์ถ๊ฐ ๋จ๊ณ๋ฅผ ์ดํด๋ณผ๊น์?
๋ ํ๋, UWP์์ ์ง์๋๋ WPF์ ๋๋ฝ๋ ๋นํธ๋ ์ธ์ ๋ณผ ์ ์์ต๋๊น?
.NET Core ์ฝ๋๋ ๋ ๋ค์์ ์๋ํด์ผ ํ๋ฏ๋ก WPF ์ฑ์ UI Xaml ๋ฐ UI ์ฝ๋๋ง ๋ณ๊ฒฝํ๋ฉด ๋ฉ๋๋ค.
UWP ์ฑ์ WinUI 3.0์ ๋ค์์คํ์ด์ค ๋ณ๊ฒฝ์ผ๋ก ์ ๋๋ก ์๋ํด์ผ ํฉ๋๋ค. ์๋๋ฐ์ค๋ฅผ ๋ฒ์ด๋๋ ค๋ฉด ๋ ๋ง์ ์์ ์ด ํ์ํ ์ ์์ง๋ง ์ธ๋ถ ์ฌํญ์ ์์ง ์ ์ ์์ต๋๋ค.
WPF ๋๋ฝ ๋นํธ๊ฐ ํ์ธ๋์ง ์์์ง๋ง ์ด์ ๋ํด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ์ต๋๋ค. #719
@weitzhandler
๊ณต์์ ์ผ๋ก ์ง์๋์ง ์๊ณ ๋ชจ๋ C# 8 ๊ธฐ๋ฅ์ด ์๋ํ๋ ๊ฒ์ ์๋์ง๋ง ์ด๋ฏธ ๋๋ถ๋ถ์ C# 8์ WinUI/UWP์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐ
๋๋ ์ด๊ฒ์ํ๊ณ ์ด๋ค ๋ฌธ์ ๋ ๋ฐ์ํ์ง ์์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ์๋ํ์ง๋ ์์์ง๋ง "๊ธฐ๋ณธ ์ธํฐํ์ด์ค ๋ฉค๋ฒ ๋ฐ ์ธ๋ฑ์ค ๋ฐ ๋ฒ์"๊ฐ ์ ์ผํ๊ฒ ๋๋ฝ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
kmgallahan์ด C# 8 ์ฌ์ฉ์ ๋ํด ๋งํ ๊ฒ์ ์ฆํญํ๋ ๊ฒ์ ๋๋ค. ์ ๋ ๋ง์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํด ์์ง๋ง ์์ง ๊ตฌํ๋์ง ์์ ๊ธฐ๋ณธ ์ธํฐํ์ด์ค ๋ฉค๋ฒ๋ฅผ ์ ๋ง๋ก ์ํ์ต๋๋ค.
๊ณ ๋ง์์.
๋ด๊ฐ ์ฌ์ ํ ์ถ๊ฐํ ์ ์๋ค๋ฉด ์ด์ csproj ์ ํ๋ ๋ค์ ์ฑ๊ฐ์๋ค.
@jesbis
๋ฐฉ๊ธ XAML ์ปจํธ๋กค ๊ฐค๋ฌ๋ฆฌ์์ ์ด ๋ฌธ์ ๋ฅผ ์ด์์ต๋๋ค. ์ํ๋ค๋ฉด ํตํ ์ค์ ๋ ผ์ํ ์ ์์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค. ๋ชจ๋ ์ง๋ฌธ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค!
๊ฐ์ด๋์ UI์ ์ฑ๋ฅ/fps์ ๋ํ ๋ด์ฉ์ด ์์ต๋๊น?
@ryvanvel ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ์ฑ๋ฅ ์ง์นจ์ด ์์ต๋๋ค.
https://docs.microsoft.com/windows/uwp/debug-test-perf/performance-and-xaml-ui
๊ทธ๋ฆฌ๊ณ ๋์์ด ๋ ์ ์๋ ๋ค๋ฅธ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ ๋ฐ ๋น๋์ค, ์:
์ด ๋ฒ๊ทธ๋ ๋ด๊ฐ ๊ธฐ์ตํ๋ ํ Windows 10์์ ๋ฐ์ํ์ผ๋ฉฐ ๋ ๋นจ๋ฆฌ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. https://github.com/microsoft/microsoft-ui-xaml/issues/597
๋ถํํ๋ ์ ์๊ฐ์ ๋ง์ถ ์ ์์ต๋๋ค. ๋ น์์ด ๋ ๊น์?
ํธ์ง: ํตํ ๋ น์์ ์ฌ๊ธฐ์์ ์ฐพ์ ์ ์์ต๋๋ค: https://www.youtube.com/watch?v=MXTVqgB4rW0
@jesbis ์ฌ๊ธฐ :
๋ด์ผ์ ์ ํ๋ธ ๋ผ์ด๋ธ ์ด๋ฒคํธ ๋งํฌ์ ๋๋ค!
https://youtu.be/MXTVqgB4rW0
YT ๋งํฌ๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด ์ ๊ท ์๊ฐ๋ณด๋ค ํ ์๊ฐ ๋ฆ์ ์ด ์๊ฐ์ด ๋๋ ๋๋ง ์์๋๋ ๊ฒ ๊ฐ์๋ฐ ์ฌ์ค์ธ๊ฐ์?
@weitzhandler ์์ ์๊ฐ์ ๊ฒ์๋ฌผ ์๋จ์ ์์ต๋๋ค. ์ด๊ฒ์ ๋ํ ์ธ ๋ฒ์งธ ํธ์ถ์ด๋ฏ๋ก "regular"๋ ํ์ฅ์ ๋๋ค.
@weitzhandler ์ง๊ธ๊น์ง ์ธ ๋ฒ์ ์ ํ ๋ชจ๋ ํํ์ ํ์ค์๋ก ์ค์ 9์์ ์์๋ ์์ ์ด์์ต๋๋ค.
๋ ๋ถ ๊ฐ์ฌํ๊ณ ๋ฒ๊ฑฐ๋กญ๊ฒ ํด์ ์ฃ์กํฉ๋๋ค. ๊ณง ๋ด์.
Chromium ๊ธฐ๋ฐ WebView2
๊ฐ ํ์ฌ WebView
์์ WebResourceRequested
์ ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ๋
ธ์ถํ์ฌ ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ณ ์น ์์ฒญ์ ๊ฑธ๋ฌ๋ผ ์ ์๋์ง ์ฌ๋ถ๊ฐ ๊ถ๊ธํ์ต๋๋ค. ๋๋ ๋ด ์ฑ ์ค ํ๋์์ ๊ทธ ํน์ ๊ธฐ๋ฅ์ ๋ง์ด ์์กดํ๋ฉฐ ๊ทธ๊ฒ์ด ์๋ก์ด ์ปจํธ๋กค๊ณผ ํจ๊ป ์ฌ์ ํ ์ฃผ๋ณ์ ์๊ณ ๋์ผํ ๋ฐฉ์์ผ๋ก ์๋ํ๋์ง ๊ถ๊ธํฉ๋๋ค.
๋ชจ๋๋ค ๊ณ ์ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๐๐
PDF๋ฅผ ์์ฑํ๋ ๋๊ตฌ๊ฐ ์์ต๋๊น? Win2D์๋ ์ด๋ฏธ ๋ง์ ๋๋ผ์ด ๋๊ตฌ๊ฐ ์์ผ๋ฉฐ CanvasRenderTarget
์์ PDF๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ๊ฒ์
๋๋ค.
๊ทธ๊ฒ์ ์ป์ง ๋ชปํ์ต๋๋ค - vsix๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ? ์ด๋์์ ๋ค์ด๋ก๋?
์ ๋ง ๊ทธ๋ฐ๊ฑด์ง๋ ๋ชจ๋ฅด์ง๋ง ์ค๋ ํตํ์ ์ค๋งํ์ต๋๋ค. ๋ ๋ง์ ๊ธฐ์ ์ธ๋ ฅ์ ํฌํจํ์ญ์์ค. PM์ ํ ๋ก ์ ์ด์ ์ ์ ์งํ๊ณ ์ผ์ ์ ๋ง๊ฒ ์์ง์ฌ์ผ ํ์ง๋ง ์๋ต์ ์ ๋ฌธ๊ฐ์๊ฒ ์์ํด์ผ ํฉ๋๋ค(๋ง์ง๋ง์ ๋ ๋ง์ด ์ํ๋จ).
์ด ํตํ์ ์ฐธ์ฌํ๋ ๋ชจ๋ ์ฌ๋์ด ๊ฐ๋ฐ์์ด๊ณ ์์ธํ ๋ด์ฉ์ ์๊ณ ๋ ผ์ํด์ผ ํฉ๋๋ค. PM์ ๋งค์ฐ ๊ธฐ๋ณธ์ ์ธ ์ฃผ์ ์ ์ด์ ์ ๋ง์ถ๊ณ ์์ผ๋ฉฐ ์ธ๋ถ ์ฌํญ์ ๋ค์ด๊ฐ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฌธ์/WebView/ProgressRing์ ๋ํ ํธ์ถ ์์ ๋ถ๋ถ์ ํ ๋ก ์ ๊ฐ๋ ์ ์ผ๋ก๋ ํ๋ฅญํ์ง๋ง ๋๋ฌด ๊ธฐ๋ณธ์ ์ด์ด์ ์ฐ๋ฆฌ์๊ฒ ์ ์ฉํ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์์ญ ๋ ๋์ XAML์ ์ฌ์ฉํด ์์ผ๋ฉฐ ์ ๋ฌธ ์ฒญ์ค๊ณผ ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค(์ฒญ์ค์๊ฒ ํ๋ ์ ํ ์ด์ ์ ์ ์ฉํ๋ ๊ฒ์ด ์ค์ํจ).
@SavoySchuler ๋น์ ์ ๋ณธ์ง์ ์ผ๋ก ์ฐ๋ฆฌ ํ์ฌ์ ์ฑ์ ํฌํจํ์ฌ ์ฐ๋ฆฌ๊ฐ ์ปจํธ๋กค์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ๋ผ๊ณ ๋งํ์ต๋๋ค. ์ด๊ฒ์ ํ์ํ ์ฌ๋ฃ์ ์ข์ ๊ฒ์ ๊ตฌ๋ถํ๋ ๋ฐ ํ์ํฉ๋๋ค. ์ด๋ ๊ธฐ๋ฅ์ ๋ํ ๋ฆฌ์์ค์ ์ฐ์ ์์๋ฅผ ์ง์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋ค์ ๋ ๊ฐ์ง์ ๋ํด ๋ค๋ฅด๊ฒ ์๊ฐํ ํ์๊ฐ ์์ต๋๋ค.
์ปค๋ฎค๋ํฐ์์ ๋ฒ๊ทธ๋ฅผ ๋ณด๊ณ ํ๋ฉด ๋ฒ๊ทธ๋ฅผ ์์ ํ๋๋ก ์์ฝํด์ผ ํฉ๋๋ค. ์์ ํ ๊ณํ์ด ์๋ ๋ถ์์ ํ ์ปจํธ๋กค ๋ฐฐ์ก์ ์ค๋จํ์ญ์์ค. ์ด๊ฒ์ ๋งค์ฐ ์น์ํ๊ฒ ๋ค๋ฆฌ๊ธฐ ์์ํ์ต๋๋ค. ๋ช ๋ ์ UWP์์ ์์๋ ์ผ์ ๋๋ค.
ํตํ์์ ๋๋ ์๋์ฐ๋ฅผ ๋ ๋ฒ ์ธ๊ธํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ธ๊ธํ์ต๋๋ค.
์ฌ๊ธฐ์ ๋ช ํ์ฑ์ ์ป์ ์ ์์ต๋๊น? WinUI 3 ๋ฐฑ๋ก๊ทธ๋ฅผ ๋ณผ ์ ์๋ ๋ค๋ฅธ ์์น๊ฐ ์์ต๋๊น? ๋ฌด์์ด ์ค๊ณ ๋ฌด์์ด ์ค์ง ์๋์ง ์๋ ๊ฒ์ ๊ณํ ๋ชฉ์ ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ฐ์ฌ ํด์!
@SavoySchuler @jesbis ๋ฐ ๋๋จธ์ง ๋ฉ์ง WinUI ํ, ์ ๋ ๊ฐ์ธ์ ์ผ๋ก ๊ทํ์ ํ๋ฅญํ ์์ ๊ณผ ์์ฒญ๋ ๋ ธ๋ ฅ์ ๊ฐ์ฌํ๊ณ WinUI๋ฅผ ํ๋ฅญํ๊ฒ ๋ง๋ค๊ณ ๋ชจ๋ ์ง๋ฌธ์ ๋ต๋ณํด ์ค ๊ฒ์ ๋ํด ์ผ๋ง๋ ๊ฐ์ฌํ์ง ๋งํ๊ณ ์ถ์ต๋๋ค.
์กฐ์ ํ ์ ์์๋ ๋ชจ๋ ๋ถ๋ค๊ป ์ง์ฌ์ผ๋ก ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
์ค๋์ค ๋ฐ ํ โโ๋ฌธ์ ์ ๋ํด ๋ค์ ํ ๋ฒ ์ฃ์กํฉ๋๋ค. ํ๋์จ์ด ๋ฌธ์ ๋ฅผ ํ์ธํ์ผ๋ฉฐ ๋ค์ ๋ฌ์ ๋ชจ๋ ๊ฒ์ด ์ ๋ ฌ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋ น์์ด ๋์ง ์์ ๋ถ๋ค์ ์ํด ์ง๊ธ ๋ผ์ด๋ธ ์ค์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ง๋ฌธ์ ์ดํด๋ณด๊ณ ์์ผ๋ฉฐ ์ด ์ค๋ ๋์์ ๋์น ๋ถ๋ถ์ ์ฐพ์ผ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
๋ช ๊ฐ์ง ์ง๋ฌธ:
PDF๋ฅผ ์์ฑํ๋ ๋๊ตฌ๊ฐ ์์ต๋๊น?
@MuziburRahman
์ฐ๋ฆฌ๋ WinUI 3.0 RTM์ ๋ํด ์ด๊ฒ์ ์ป์ ์๊ฐ์ด ์์ง๋ง #672๋ก ๋ฐฑ๋ก๊ทธ์์ ์ด๊ฒ์ ์ถ์ ํ๊ณ ์์ต๋๋ค - ๋น์ ์ด ๊ทธ๊ฒ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํด๋น ๋ฌธ์ ์ ๋ํ ์๊ฒฌ์ ์์ ๋กญ๊ฒ ์ถ๊ฐํ์ญ์์ค!
vsix๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ? ์ด๋์์ ๋ค์ด๋ก๋?
@hannespreishuber
ํ๋ก๋์ ์ฑ์ ๋ํ WinUI 2.x ์ฌ์ฉ ์ง์นจ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. https://docs.microsoft.com/uwp/toolkits/winui/getting-started
vsix๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํด ๋ณด๊ธฐ ์ํ WinUI 3.0 Alpha ์ง์นจ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
https://aka.ms/winui/alpha
์ ๋ง ๊ทธ๋ฐ๊ฑด์ง๋ ๋ชจ๋ฅด์ง๋ง ์ค๋ ํตํ์ ์ค๋งํ์ต๋๋ค. ๋ ๋ง์ ๊ธฐ์ ์ธ๋ ฅ์ ํฌํจํ์ญ์์ค. PM์ ํ ๋ก ์ ์ง์คํด์ผ ํฉ๋๋ค. [...] ์ฐ๋ฆฌ๋ XAML์ ์์ญ ๋ ๋์ ์ฌ์ฉํด ์์ผ๋ฉฐ ์ ๋ฌธ๊ฐ ์ฒญ์ค๊ณผ ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค(์ฒญ์ค์๊ฒ ํ๋ ์ ํ ์ด์ ์ ์ ์ฉํ๋ ๊ฒ์ด ์ค์ํจ).
@roblo ์ด์ ๋ํ ํผ๋๋ฐฑ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ฐ๋ฆฌ๋ ๋ ๋ง์ ๊ฐ๋ฐ์๋ฅผ ํฌํจํ๊ณ ํฅํ ํตํ์ ๋ํ ํน์ ์ฃผ์ ์ ๋ํด ๋ ์์ธํ ์ค๋ช ํ ์ ์์ต๋๋ค. ๋ง์ฝ ๊ทธ๊ฒ์ด ๋ชจ๋์๊ฒ ๊ด์ฌ์ด ์๋ค๋ฉด - ์ฐ๋ฆฌ๋ ์ค๋ ์๊ฐ์ด ์ง๋ฌ๊ธฐ ๋๋ฌธ์ ์ฒซ ๋ฒ์งธ ํตํ์์ ๊ทธ๊ฒ์ ์๋ํ๊ณ ์ถ์ง ์์๊ณ ์ผ๋ฐ์ ์ธ ์บ์น-๋ฅผ ํ๊ณ ์ถ์์ต๋๋ค. ์๋ก.
์ฐ๋ฆฌ๋ ๋ํ ๋ง์ ์ฒญ์ค์ด ์์ง WinUI์ ์ต์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋๋ก ๋๋ฌด ๊ธฐ์ ์ ์ด๊ณ ๋๋ฌด ๊น์ด ์๋ค๋ ํผ๋๋ฐฑ์ ๊ณผ๊ฑฐ์ ๋ฐ์์ต๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๊ทธ ํผ๋๋ฐฑ์ ๊ท ํ์ ๋ง์ถ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
๋ํ ์ฐธ๊ณ ํ ์ ์๋ค๋ฉด: ๊ฐ๋ฐ์ ํ๋ซํผ ํ์ ๋ง์ PM์ ๋ฐ์ด๋ ๊ธฐ์ ์ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ ์ฃผ์ ํ๋ซํผ ๋ฐ ์ค์ ์ฑ์ ์ํ ํ๋ก๋์ ์ฝ๋๋ฅผ ์์ฑํ ๊ฒฝํ์ด ์์ต๋๋ค. ๊ทธ๋ค ์ค ์ผ๋ถ๋ ์ด์ ์ Microsoft ๋ฐ ๊ธฐํ ํ์ฌ์์ ์ ๊ท์ง ๊ฐ๋ฐ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ํ ํญ์ PM์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ์ฐ๋ฆฌ์ ์ ์ผํ ์ด์ ์ ์๋๋๋ค. ๐
๋ง์ง๋ง์ผ๋ก ๋ฒ๊ทธ ๋ฐ ํ์ง: ํ์ง์ ์ฐ๋ฆฌ์๊ฒ ๋งค์ฐ ์ค์ํ๋ฉฐ ๋ฒ๊ทธ, ํ ์คํธ ๋ฐ ํ์ง ์ธํ๋ผ์ ๋ง์ ์๊ฐ์ ํ ์ ํฉ๋๋ค. WinUI 2์ ์ปค๋ฐ ๋ก๊ทธ์์ ํ์ง ์์ ์ฌํญ๊ณผ ์๋ก์ด ๊ธฐ๋ฅ์ ๋น์จ์ ํ์ธํ ์ ์์ผ๋ฉฐ ์ผ๋จ ์คํ ์์ค๊ฐ ๋๋ฉด WinUI 3์์๋ ๋์ผํ ๋ด์ฉ์ ๋ณผ ์ ์์ต๋๋ค. ์ฆ, ๋ฒ๊ทธ๊ฐ ์๋ ์ฃผ์ ์ฝ๋๋ฒ ์ด์ค๋ ์์ผ๋ฉฐ ์ฐ๋ฆฌ๋ ํญ์ ๋น์ฆ๋์ค ์ฐ์ ์์์ ๊ท ํ์ ์ ์งํด์ผ ํฉ๋๋ค.
์ปจํธ๋กค์ด ๋ถ์์ ํ ๊ฒ ๊ฐ์ผ๋ฉด ํด๋น ์ปจํธ๋กค์ ๋ํด ๊ณต๊ฐ ๋ฌธ์ ๋ฅผ ์ํํ์ญ์์ค.
ํตํ์์ ๋๋ ์๋์ฐ๋ฅผ ๋ ๋ฒ ์ธ๊ธํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ธ๊ธํ์ต๋๋ค.
์ด๊ฒ์ ์ค์ ๋ก WinUI 3์์ ์์ ์ค์ ๋๋ค(๋ฌธ์ ๊ฐ #1247๋ก ๊ณ ์ ๋์์์๋ ๋ถ๊ตฌํ๊ณ )
๊ธฐ๋ฅ ์ถ์ ํ๋ก์ ํธ(์ด์ ์ ๋ฐ์ดํธ๋จ)(https://github.com/microsoft/microsoft-ui-xaml/projects/4)๋ WinUI 2 ํญ๋ชฉ๋ง ์ถ์ ํ๊ณ ์์ต๋๊น?
์ฌ๊ธฐ์ ๋ช ํ์ฑ์ ์ป์ ์ ์์ต๋๊น? WinUI 3 ๋ฐฑ๋ก๊ทธ๋ฅผ ๋ณผ ์ ์๋ ๋ค๋ฅธ ์์น๊ฐ ์์ต๋๊น? ๋ฌด์์ด ์ค๊ณ ๋ฌด์์ด ์ค์ง ์๋์ง ์๋ ๊ฒ์ ๊ณํ ๋ชฉ์ ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ฐ์ฌ ํด์!
@riverar ํด๋น ํ๋ก์ ํธ ๋ณด๋ ๋ ํ์ฌ ์ ์ฅ์์ ์๋ ์ ์ผํ ์ฝ๋์ด๊ธฐ ๋๋ฌธ์ ํ์ฌ WinUI 2์ฉ์ ๋๋ค.
WinUI 3๋ฅผ ๊ธฐ๋ค๋ ค์ผ ์ ๋๋ก ์ฒ๋ฆฌํ ์ ์๋ ๋ฌธ์ ์ ๋ํด needs-winui-3 ๋ ์ด๋ธ์ ์ฌ์ฉํ์ง๋ง ์์ง WinUI 3 ์์ ์ ๋ํ ๊ณต๊ฐ ์ถ์ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
๋ณ๋์ ์ฌ์ ๋ฆฌํฌ์งํ ๋ฆฌ์์ Chromium WebView ์ฌ์๊ณผ ๊ฐ์ ์ฃผ์ ํญ๋ชฉ์ ๋ํ ๊ธฐ๋ฅ ์ ์์ ๊ณ์ ๊ฒ์ํ ๊ฒ์ ๋๋ค.
https://github.com/microsoft/microsoft-ui-xaml-specs/blob/master/active/WebView2/WebView2_spec.md
WinUI 3 Xaml์ ์คํ ์์ค๋ก ๋ง๋ค ์ ์๊ฒ ๋๋ฉด ์ถ์ ์ GitHub๋ก ์ด๋ํ ์ ์์ง๋ง ์ผ์์ ์ธ ์์ ํญ๋ชฉ ์ถ์ ์ ๋๋ถ๋ถ์ ํ์ค์ ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๋ก 3.0 ๊ฐ๋ฐ์ ํตํด ๋ด๋ถ์ ์ผ๋ก ์ ์ง๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ํด์ ํ๊ธฐ ์ํ ๊ฐ์ธ OS ์ข ์์ฑ, ๋ค๋ฅธ OS ๊ตฌ์ฑ ์์ ๊ฐ๋ฐ ํ๊ณผ ๊ธด๋ฐํ๊ฒ ์ธํฐํ์ด์คํด์ผ ํ๋ ๋ฑ)
ํ๊ทธ๊ฐ ์ง์ ๋ ๊ธฐ๋ฅ ์ ์์ ๋๋ถ๋ถ์ ์ด๊ธฐ 3.0 ๋ฆด๋ฆฌ์ค์์ ํด๊ฒฐ๋์ง ์์ ๊ฒ์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ์ ์ฃผ์ ์ด์ ์์ญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋์์ ์๋ง์ ์ถ๊ฐ ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์๋ํ์ฌ ์ด๋ฅผ ์ง์ฐ์ํค๊ฑฐ๋ ๋ถ์์ ํ๊ฒ ๋ง๋ค๊ณ ์ถ์ง ์์ต๋๋ค.
๋ฐ์คํฌํ/์๋์ฐ ์ง์๊ณผ ๊ฐ์ ํฐ ์์ญ์์ ๊ตฌ์ฒด์ ์ธ ์ง์ ์ด ์ด๋ฃจ์ด์ง๋ฉด ์ ์ ๋ฐ ์ ๋ฐ์ดํธ๋ฅผ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฒ์ํ ๊ฒ์ ๋๋ค.
WinUI 3 Xaml์ ์คํ ์์ค๋ก ๋ง๋ค ์ ์๊ฒ ๋๋ฉด ์ถ์ ์ GitHub๋ก ์ด๋ํ ์ ์์ง๋ง ์ผ์์ ์ธ ์์ ํญ๋ชฉ ์ถ์ ์ ๋๋ถ๋ถ์ ํ์ค์ ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๋ก 3.0 ๊ฐ๋ฐ์ ํตํด ๋ด๋ถ์ ์ผ๋ก ์ ์ง๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ํด์ ํ๊ธฐ ์ํ ๊ฐ์ธ OS ์ข ์์ฑ, ๋ค๋ฅธ OS ๊ตฌ์ฑ ์์ ๊ฐ๋ฐ ํ๊ณผ ๊ธด๋ฐํ๊ฒ ์ธํฐํ์ด์คํด์ผ ํ๋ ๋ฑ)
๋ด๋ถ ๋ฌธ์ ์ ๊ฐ์ ์ผ๋ฐ์ ์ธ ์ด๋ฆ์ ๊ฐ์ง ๋น ํญ๋ชฉ์ผ๋ก ํ์๋๋๋ผ๋ ์ด๋ฌํ ๋ด๋ถ ์์ ํญ๋ชฉ์ ๊ณต๊ฐ์ ์ผ๋ก ๋์ดํ ์ ์์ต๋๊น? To Do์์ In Progress, Complete๋ก ์ด๋ํ๋ ๊ฒ์ ๋ณด๋ฉด ์ ์ฒด ํ๋ก์ ํธ์ ๋ํ ์ด๋ ์ ๋์ ์งํ ์ํฉ์ ๋ํ๋ ๋๋ค.
ํ๊ทธ๊ฐ ์ง์ ๋ ๊ธฐ๋ฅ ์ ์์ ๋๋ถ๋ถ์ ์ด๊ธฐ 3.0 ๋ฆด๋ฆฌ์ค์์ ํด๊ฒฐ๋์ง ์์ ๊ฒ์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ์ ์ฃผ์ ์ด์ ์์ญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- OS์์ WinUI๋ฅผ ๋ถ๋ฆฌํ์ฌ ๋ณ๋๋ก ๋ฐฐ์ก
- Xaml ํ๋ ์์ํฌ ์คํ ์์ฑ
๋ฌผ๋ก ์ด๊ฒ์ด์ผ๋ง๋ก ๋ ธ๋ ฅ์ ํต์ฌ์ด์ง๋ง, ํ์ฌ ๊ตฌํ๋์ด ์๋ ๋ค์ํ ๋ฌธ์ ์ ์ด๋ ๋ฌธ์ ์ ์ OS ์ฝ๋์์ ํด๋ฐฉ์์ผ ํด๊ฒฐํ๋ ๊ฒ์ด ๊ฐ๋ฅํ ์๋ ์๋ค.
- ์ข์ WinUI ๋ฐ์คํฌํฑ ์ฑ ๊ฐ๋ฐ ๊ฒฝํ ๋ง๋ค๊ธฐ(win32 ์ฌ์ฉ, ํจํค์ง, ์๋์ฐ ์ค์ ๋ฑ)
- Windows 10X ํ์ฑํ
์ด๋ ์ฌ๋ฐ๋ฅธ ์์ ์ ์ํํ๋ ๋ฐ ํ์์ ์ด๋ฉฐ ํผ๋๋ฐฑ์ ์์ฉํ ์ ์๋ ์ด๋ฆฐ ๋ง์์ผ๋ก ์ฌ์ฉ์์ ๊ฐ๋ฐ์์ ์์ ์ด ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ์ ๊ณตํด์ผ ํฉ๋๋ค. ๋ํ ์ฑ ๋ฐํ์ ๋ฐ ์ฑ ๋ชจ๋ฌ์ ์ด WinUI ํ์ ์์ ๊ฐ ์๋๋ฏ๋ก ์ด๋ฅผ ๋ด๋นํ๋ ์ฌ๋์๊ฒ ํผ๋๋ฐฑ์ ํํฐ๋งํ ์ ์๋๋ก ์ค์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ ค์ธ ๊ฒ์ ๋๋ค.
- .NET Core/5 + WinUI ์ฑ ํ์ฑํ
ํ์ฌ ๊ธฐ๋ณธ ์ง์์ C++ ์ฝ๋ ๋ฐ Win32 API์ ํํ๋ก ์ ๊ณต๋ฉ๋๋ค. ํ์ง๋ง ์ด๊ฒ์ด ๋ชจ๋ C# ๊ฐ๋ฐ์๊ฐ .NET์ ๋์์ผ๋ก ํด์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๊น? ์๋๋ฐ์ค๊ฐ ์ ์ฉ๋์ง ์์ ์ฑ ๋ชจ๋ธ์ .NET ์์ด C# ์ฝ๋ฉ์ ํ์ฉํฉ๋๊น?
๊ทธ๋ฆฌ๊ณ ๋์์ ์๋ง์ ์ถ๊ฐ ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์๋ํ์ฌ ์ด๋ฅผ ์ง์ฐ์ํค๊ฑฐ๋ ๋ถ์์ ํ๊ฒ ๋ง๋ค๊ณ ์ถ์ง ์์ต๋๋ค.
๋ฐ์คํฌํ/์๋์ฐ ์ง์๊ณผ ๊ฐ์ ํฐ ์์ญ์์ ๊ตฌ์ฒด์ ์ธ ์ง์ ์ด ์ด๋ฃจ์ด์ง๋ฉด ์ ์ ๋ฐ ์ ๋ฐ์ดํธ๋ฅผ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฒ์ํ ๊ฒ์ ๋๋ค.
CoreWindow ์์ด(์์ผ๋ก๋ง UWP๊ฐ ๋ ์์ ) - Windowing์ ์ฒซ๋ ๋ถํฐ ์ ์๋ฆฌ์ ์์ด์ผ ํ๋ ๊ฒ ์ค ํ๋์ ๋๋ค. WPF์๋ ์ปจํธ๋กค, ์๊ฐ์ ์คํ์ผ ์ง์ , ํฌ๋ช ๋ ๋ฑ์ ์ฒ๋ฆฌํ๋ XAML์ Window ๊ฐ์ฒด๊ฐ ์์ต๋๋ค. ํฌ๊ธฐ ์กฐ์ , ์ต์ํ ๋ฑ์ ์ฒ๋ฆฌํฉ๋๋ค. ์ด์ Win32 ํ๋ ์์ํฌ๋ XAML UI์ ํด๋น๋์ง ์๋ ํ๋ฉด์ ์๋ ํ์ธํ ์ด ํ์ํ๋ฏ๋ก ์ด ๊ฐ๊ฒฉ์ ์ด๋ป๊ฒ ๋ฉ์ธ๊น์? ?
์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ด์ค ์คํฌ๋ฆฐ ์ฅ์น์ ๋๋ฌํ๊ธฐ ์ ์ด๋ฉฐ ๋น UWP ์ฑ ๋ชจ๋ธ ๋ฐ ์ฐฝ ์ค์ ์ด ์ด์ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ด๋ฌํ ๋ด๋ถ ์์ ํญ๋ชฉ์ด ๋ด๋ถ ๋ฌธ์ ์ ๊ฐ์ ์ผ๋ฐ์ ์ธ ์ด๋ฆ์ ๊ฐ์ง ๋น ํญ๋ชฉ์ผ๋ก ํ์๋๋๋ผ๋ ๊ณต๊ฐ์ ์ผ๋ก ๋์ดํ ์ ์์ต๋๊น?
์ฐ๋ฆฌ์ ๋ชฉํ๋ ๋ถ๋ช ํ ์ฐ๋ฆฌ์ ํ๋ก์ธ์ค(๋ฌธ์ ์ถ์ ํฌํจ)๋ฅผ ์ฝ๋ ์ธ์ ์คํ ์์ค๋ก ์ฎ๊ธฐ๋ ๊ฒ์ ๋๋ค.
์ฐ์ ์์ ์์ค ์ถ์ ์ ์ํ
๊ทธ๋ฌ๋ ์ฌ๊ธฐ์๋ WinUI 3.0์ ๋ชจ๋ ์ผ์์ ์ธ ๊ฐ๋ฐ ์์ ์ด ์ฆ์ ํฌํจ๋์ง ์์ต๋๋ค. ์ฐธ๊ณ ๋ก ์ฐ๋ฆฌ๋ ํ์ฌ 2020๋ ์ ์์ฒ ์ผ ๋ถ๋์ ๊ด๋ จ ๊ฐ๋ฐ ์์ ์ ์ถ์ ํ๊ณ ์์ผ๋ฉฐ ์์ง ๋ชจ๋ ์์ ์ ์ด๋ํ ์ค๋น๊ฐ ๋์ง ์์์ต๋๋ค. ์ค๋ GitHub์ ๋ํ ๋งค์ฐ ์ธ๋ถํ๋ ์ถ์ . ์ฐ๋ฆฌ๋ WinUI 2์์ ํ๋ ๊ฒ์ฒ๋ผ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ทธ๊ฒ์ ๋๋ฌํ ๊ฒ์ ๋๋ค.
๋ฐ๋ผ์ ๊ธฐ๋ฅ ์์ค ๋ฌธ์ (์: WebView)๋ถํฐ ์์ํ์ฌ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ํ๋ก์ธ์ค๋ฅผ GitHub๋ก ์์ ํ ๋ง์ด๊ทธ๋ ์ด์ ํ ๊ฒ์ ๋๋ค.
ํ์ฌ ๊ธฐ๋ณธ ์ง์์ C++ ์ฝ๋ ๋ฐ Win32 API์ ํํ๋ก ์ ๊ณต๋ฉ๋๋ค. ํ์ง๋ง ์ด๊ฒ์ด ๋ชจ๋ C# ๊ฐ๋ฐ์๊ฐ .NET์ ๋์์ผ๋ก ํด์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๊น? ์๋๋ฐ์ค๊ฐ ์ ์ฉ๋์ง ์์ ์ฑ ๋ชจ๋ธ์ .NET ์์ด C# ์ฝ๋ฉ์ ํ์ฉํฉ๋๊น?
.NET ๋ค์ดํฐ๋ธ์ ๋ํด ๋ฌป๊ณ ์์ต๋๊น, ์๋๋ฉด .NET์ด ์ ํ ์์ต๋๊น? ๊ธฐ์ ์ ์ผ๋ก ์ธ์ด๋ก์์ C# ์ฌ์์ .NET์ ์์กดํ์ง ์๋๋ค๊ณ ์๊ฐํ์ง๋ง ํ์ฌ C++ ๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ผ๋ก ๋ณํํ ๊ณํ์ด ์์ต๋๋ค.
CoreWindow ์์ด(์์ผ๋ก๋ง UWP๊ฐ ๋ ์์ ) - Windowing์ ์ฒซ๋ ๋ถํฐ ์ ์๋ฆฌ์ ์์ด์ผ ํ๋ ๊ฒ ์ค ํ๋์ ๋๋ค. WPF์๋ ์ปจํธ๋กค, ์๊ฐ์ ์คํ์ผ ์ง์ , ํฌ๋ช ๋ ๋ฑ์ ์ฒ๋ฆฌํ๋ XAML์ Window ๊ฐ์ฒด๊ฐ ์์ต๋๋ค. ํฌ๊ธฐ ์กฐ์ , ์ต์ํ ๋ฑ์ ์ฒ๋ฆฌํฉ๋๋ค. ์ด์ Win32 ํ๋ ์์ํฌ๋ XAML UI์ ํด๋น๋์ง ์๋ ํ๋ฉด์ ์๋ ํ์ธํ ์ด ํ์ํ๋ฏ๋ก ์ด ๊ฐ๊ฒฉ์ ์ด๋ป๊ฒ ๋ฉ์ธ๊น์? ?
@marb2000 ์ ์ด์ ๋ํด ์์ ์ค์ด๋ฉฐ ๊ฐ๋ฅํ ํ ๋ ๋ง์ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ด์ค ์คํฌ๋ฆฐ ์ฅ์น์ ๋๋ฌํ๊ธฐ ์ ์ด๋ฉฐ ๋น UWP ์ฑ ๋ชจ๋ธ ๋ฐ ์ฐฝ ์ค์ ์ด ์ด์ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ถ๋ช ํ ๋งํด์, WinUI 3๋ ๋ชจ๋ win32 ๋ฐ์คํฌํฑ์ HoloLens์ ๊ฐ์ ๋ค๋ฅธ ํ๋ซํผ์ผ๋ก ๊ฐ์ ธ์ค์ง ์์ ๊ฒ์ ๋๋ค. ์ฌ๋ฌ ์ฅ์น๋ฅผ ๋์์ผ๋ก ํ ๋ ๋ฒ์ฉ ์ฑ๊ณผ API๋ ์ฌ์ ํ ๊ฐ ๊ธธ์ ๋๋ค.
๋๋ฌด ์ผ์ฐ ๊ฒ์๋์์ต๋๋ค. ์ ์ฒด ์๊ฒฌ:
@roblo - ๋๋ ๋น์ ์ ๋ง์ ๊ฐ์ ์ ๋์ํ๋ ๊ฒ์ผ๋ก ์์ํ๊ณ ์ถ์ต๋๋ค. ๋๋ ์ฐ๋ฆฌ์ ๋ชจ๋ ๊ธฐ์ ์ ์ธ ๋ฌธ์ ๋ก ์ธํด ๋งค์ฐ ํผ๋์ค๋ฌ์ ๊ณ ๊ทธ ์ง๋ฌธ์ ๋ด๊ฐ ์ํ๋ ๋งํผ ์ฒ๋ฆฌํ์ง ๋ชปํ์ต๋๋ค. ์ฌ๊ธฐ์์ ๋ค์ ์๋ํ ์ ์๋๋ก ํ์ฉํด ์ฃผ์ธ์.
์ด์ ๊ฐ์ ์ฃผ์ ๋ฅผ ๋ค๋ฃจ๋ ๊ฒ์ด ๊ฒฐ์ฝ ์ธ๊ธฐ๊ฐ ์์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๋๋ค. ๊ทธ๋ฌ๋ ์ ๋ ํฌ๋ช ์ฑ์ ๋ฏฟ์ผ๋ฉฐ ์ฐ๋ฆฌ๊ฐ ์ง๋ฉดํ ๋ฌธ์ ์ ๋ํด ์ปค๋ฎค๋ํฐ๋ก์ ์ฌ๋ฌ๋ถ๊ณผ ์์งํ๊ณ ์ถ์ต๋๋ค. ๊ทธ๋์ผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ํ ๋ก ์ ์ฐธ์ฌํ ์ ์์ต๋๋ค. . ์ด ํน์ ๊ณผ์ ๋ ์๊ฐ๊ณผ ์์ ์์ฐ์ ๋ถํ ์ ์ค์ ์ ๋ก๋๋ค. ์ฐ๋ฆฌ ํ์ ์ธ ๊ฐ์ง ์ฃผ์ ์ด๋์ ํฐ๋ธ๋ก ๋๋ฉ๋๋ค.
์์๋ค์ํผ, ์ฐ๋ฆฌ๋ A) ์ด๊ฒ์ด ๊ฒฐํฉ๋ ๋ชฉํ์ด๊ณ B) WinUI๋ฅผ ์คํ ์์ฑํจ์ผ๋ก์จ ๋ชจ๋ ์ฌ๋ ์ด ์ฐ๋ฆฌ ํ์ ํ์ ๋ ๋ฆฌ์์ค์ ์ํด ์ฐจ๋จ๋๋ ๊ฒ์ ๋ฉ์ถ ์ ์์์ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ 2์ 3์ ํฅํด ํ๊ณ ํ ์ ํ๋ฅผ ๊ฑธ์์ต๋๋ค.
๋ชฉํ 2์ 3์์ WinUI 2๊ฐ ์ปค๋ฎค๋ํฐ ๊ตฌ์ฑ์์๊ฒ ์ ๋๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ์ง ๋ชปํ๋ ์ง์ ๊น์ง ๋๋ฌด ์์๊ฐ๋ค๋ฉด ์ฐ๋ฆฌ๋ ๋ํ๋ฅผ ํ ์ ์๊ณ ์ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ฐฑ๋ก๊ทธ์ ๋ชจ๋ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๋ฉด WinUI 3์ ์ถ์๊ฐ 6๊ฐ์ ์ ๋ ์ง์ฐ๋๋ค๋ ์ ์ ์์๋์ธ์. ๋์ WinUI ์์ค๋ฅผ ๊ณต๊ฐํ ๋ฟ๋ง ์๋๋ผ ๋ฐฉ๋ํ Win32 ๊ฐ๋ฐ์ ๊ธฐ๋ฐ๊ณผ ๊ด๋ จ์ฑ์ ํ์ฅํ๋ 2์ 3์ ์ฐ์ ์์๋ก ์ง์ ํ๋ฉด ์คํ ์์ค ์ปค๋ฎค๋ํฐ์ ์ฐ๋ฆฌ ํ์ ํ์ผ๋ก ๋ฒ๊ทธ _๋ฐ_ ๊ธฐ๋ฅ ์์ฒญ์ ๋ฐฑ๋ก๊ทธ๋ฅผ ์ ๋ฆฌํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ฅผ ์ง์ํ๋ ์ ํญ์ ์ธ ๊ด์ฌ. ์ด๋ฅผ ์ํด ์ฐ๋ฆฌ์ ํ์ฌ ๊ทผ๊ฑฐ๋ ์ ๊ทผ ๊ณํ์ด ์ด ํ๋ซํผ์ ๋ ๋น ๋ฅด๊ฒ ๋ฐ์ ์ํฌ ๋ฟ๋ง ์๋๋ผ ๋ ํฌ๊ด์ ์ผ๋ก ๋ฐ์ ์ํฌ ๊ฒ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๋ฒ๊ทธ์ ์ฐ์ ์์๋ฅผ ์ ํ๋ ๋ฐ ๋์์ ๋ฌ๋ผ๊ณ ์์ฒญํ์ ๋ ์ง๋ฌธ์ "์ฐ๋ฆฌ ํ์ด ํด๊ฒฐํ๊ธฐ์ ์ถฉ๋ถํ ์ค์ํฉ๋๊น?"๊ฐ ์๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋์ "์ด๊ฒ์ด WinUI๋ฅผ ๋ ๋นจ๋ฆฌ ์คํ ์์ฑํ๋ ๊ฒ๋ณด๋ค ์ค์ํฉ๋๊น?" ํ์ฌ ์ํ์์ ์ฐ์ ์์ 1์ ํฅ์์ํค๊ธฐ ์ํด ์์ ํ๋ ๊ฐ๋ฐ์์ ํ์ ์งํฉ์ด ์์ผ๋ฉฐ ์ปค๋ฐ ๊ธฐ๋ก ๋ฐ ํ์ฑ ๋ฌธ์ ์ ์ํฅ์ ์ค ์ ์์ง๋ง ๋์ผํ ๋ชฉํ ๋ด์์ ์ฐ์ ์์๋ฅผ ์ง์ ํด์ผ ํ ํ์์ฑ์ ์ง๋ฉดํด ์์ต๋๋ค. "์ด๊ฒ์ด ์ผ๋ง๋ ์ค์ํ์ง ์๋ ค์ฃผ์ธ์"๋ผ๋ ๊ฐ๋ ์ ์๊ตฌ ์ฌํญ(์: ๋ด ์ ํ์ด ์ฐจ๋จ๋์์ผ๋ฉฐ WinUI 3์ ๊ธฐ๋ค๋ฆด ์ ์์) ๋ ์ข์ ๊ฒ(์: ์ด ๊ธฐ์ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ์ง๋ง ๊ธฐ์กด ๊ฐ๋ฐ์ด ์์)์ ํํฐ๋งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. WinUI 3)์ ๊ธฐ๋ค๋ฆด ์ ์๋๋ก ์ฐจ๋จ๋ฉ๋๋ค.
๋ด๊ฐ ๋ถ๋ช ํ ๋งํ๊ณ ์ถ์ ๋ ๋ค๋ฅธ ๊ฒ์ WinUI 2 ๋ฒ๊ทธ๋ฅผ ์ ์ถํ๊ณ ๊ธฐ๋ฅ ์์ฒญ์ ์์ฑํ๋ ๋ฑ์ ๋ชจ๋ ์์ ์ด ์ฐ๋ฆฌ์๊ฒ _ ์์ง _ ์๋ค๋ ๊ฒ์ ๋๋ค. WinUI 3๊ฐ ์ถ์๋๋ฉด ์ปค๋ฎค๋ํฐ๊ฐ ์ฝ๋๋ฅผ ์ ์ถํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ ์ธ์๋ ํ๋ซํผ์ ๋ฐ์ ์ํค๋ ์์ ํญ๋ชฉ์ผ๋ก ๋์๊ฐ ์ ์๋ ํ์ ์๋น ๋ถ๋ถ์ด ํ๋ณด๋ฉ๋๋ค. ์ฆ, ํ์ฌ ์ฐ๋ฆฌ ํ์ ์ ์ฒด ์ ๋ ฅ์ด ๊ธฐ์กด UWP ์ปค๋ฎค๋ํฐ์ ๊ณง Win32์ ๋์์ผ๋ก ์ฒ๋ฆฌํ ๋ฐฑ๋ก๊ทธ๋ฅผ ์ค๋นํ๊ณ ์์ต๋๋ค.
ํ ๊ฐ์ง ์ถ๊ฐ๋ก ์์์ผ ํ ์ฌํญ์ OS์์ WinUI 3์ผ๋ก ์ฝ๋๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๋์ ์ฐ๋ฆฌ๊ฐ ํ ์ ์๋ ๊ณณ์์ ์ฝ๋๋ฅผ ๊ฐ๋จํ๊ณ ์ ๋ฆฌํ๊ธฐ ์ํ ์กฐ์น๋ฅผ ์ทจํ๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ, ํน์ ๊ธฐ๋ฅ ์ถ๊ฐ ๋ฐ ๋ฒ๊ทธ ์์ ์ด WinUI 3์์ ํด๊ฒฐ๋ ๊ฒฝ์ฐ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ด ํ์ ํ ์ค์ด๋ญ๋๋ค.
NumberBox๋ก ๋์๊ฐ์. V1์ด ์ํ๋ ๊ธฐ๋ฅ์ ํ์ ์งํฉ์ด๋ผ๊ณ ๋งํ๋ ๊ฒ์ด ์ฌ์ค ๋ง์ต๋๋ค.
๊ณํ๋ V1 ๊ธฐ๋ฅ์ ์
๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ(WinUI 3 ์ํ์์ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ์ ์์)์ ๊ฐ์ ํญ๋ชฉ์ ๋ํ ์ข
์์ฑ์ผ๋ก ์ธํด V2๊น์ง ์ง์ฐ๋์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์(์ฌ๊ธฐ)์์ V1์ด ๋ ์๊ฒฉ์ด ์๋ค๊ณ ์๊ฐํ๋ ๋ชจ๋ ๊ฒ์ ์ธ์ ํจ์ผ๋ก์จ ์ฌ์์ ์์ ํ๊ฒ ๋ง๋ค๋ ค๊ณ ๋
ธ๋ ฅํ์ผ๋ฉฐ ์ปจํธ๋กค์ WinUI 3 V2 ๋ฆด๋ฆฌ์ค๋ก ๊ทธ ์ฝ์์ ์์ ํ ์ดํํ ๊ณํ์
๋๋ค.
์คํ ์์ค์ ์ ์ ์ ๋ฐ์๋ค์์ผ๋ก์จ ๋ด ๋ฐ๋(๊ทธ๋ฆฌ๊ณ ์ด ์์ ์ ํตํด ๋ด๊ฐ ์๋ชปํ๋์ง ์๋ ค์ฃผ์ธ์)์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์์ ์ ์ด๊ณ ์ ์ฉํ ์ฝ๋๋ฅผ ๋ฆด๋ฆฌ์คํ๊ณ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ์ ์ง์ ์ผ๋ก ๊ตฌ์ถํ๋ ๊ฒ์ ์ ์ ์ผ๋ก ์ ํธํ๋ ๊ฒ์ ๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ด๊ฒ์ WinUI 2์์ _๋๋ถ๋ถ_ ์์ ํ V1์ ๋ฆด๋ฆฌ์คํ๊ณ WinUI 3์์ ํ ์ ์๋ ๊ฒ์ฒ๋ผ ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ํฌํจ๋ ์์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋ฆด๋ฆฌ์ค๋ก ํ์ ์กฐ์น๋ฅผ ์ทจํ๋ ๊ฒ์ ์ ํธํ๋ค๋ ๊ฒ์ ์๋ฏธํ์ต๋๋ค.
@jesbis๊ฐ ๋งํ๋ฏ์ด ๋ฒ๊ทธ๊ฐ ์๋ ์ฝ๋ ๋ฒ ์ด์ค๋ ์์ง๋ง ํ์ง์ ์ฐ๋ฆฌ์๊ฒ ์ ๋์ ์ผ๋ก ์ต์ฐ์ ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ฒ๊ทธ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ์ต์ ์ ๋คํ๊ณ ์์ผ๋ฉฐ ์ด WinUI 2๋ฅผ ์ํํ๊ธฐ ์ํด ์์ ํ๋ ํ์ ํ์ ์งํฉ์ด ์์ต๋๋ค. WinUI 3์ ์ถ์๋ก ์ฐ๋ฆฌ ํ์ ๋ชจ๋ ๋ ธ๋ ฅ์ด ์ฌ๊ฒฐํฉ๋ ๋๊น์ง ์ด๊ฒ์ ์ฐ๋ฆฌ์ ๋ง์์ด ์ํ๋ ๊ฒ๋ณด๋ค ๋๋ฆฌ๊ฒ ์์ง์ผ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์ฌ์ ํ ๊ทธ๊ฒ์ ๋ฉ๋ฆฌ ์ผํ๊ณ ์์ต๋๋ค. @jesbis ๋ WinUI 2์ ์ปค๋ฐ ๋ก๊ทธ์์ ํ์ง ์์ ๊ณผ ์๋ก์ด ๊ธฐ๋ฅ์ ๋น์จ์ ๋ณผ ์ ์์ผ๋ฉฐ ์ผ๋จ ์คํ ์์ค๊ฐ ๋๋ฉด WinUI 3์์๋ ๋์ผํ ๊ฒ์ ๋ณผ ์ ์๋ค๊ณ ๋งํ์ต๋๋ค.
์ ๋ NumberBox๋ก ์ด๋ฌํ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ ์ฃผ๊ธฐ ์ํด ์ต์ ์ ๋คํ๊ณ ์์ผ๋ฉฐ, ์ ๊ฐ ์์ฐ์ด ๋ ์ ์๋ ๋ฏธํด๊ฒฐ ๋ฌธ์ , ๋ฒ๊ทธ ๋ฐ ์ง๋ฌธ์ ์๋ตํ๊ธฐ ์ํด ๋๋จธ์ง ์๊ฐ์ ํ ์ ํ๊ณ ์์ต๋๋ค. ๋ค์์ฃผ์๋ ํ๋ฃจ๋ฅผ ๋น์๋๊ฒ ์ต๋๋ค. Twitter์์ ์ ์๊ฒ ์ง๋ฌธ์ ๋ณด๋ด๊ฑฐ๋ ์ฌ๊ธฐ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ด์ ๋ํด ์ ์ ๊ต๋ฅํ ์ ์๋๋ก ๊ฒฉ๋ คํด ์ฃผ์ญ์์ค.
์ฐ๋ฆฌ์๊ฒ ์คํ ์์ค๋ ๋ง์น ์ฌ๊ธฐ Redmond ์ฌ๋ฌด์ค์ ์์ ์๋ ๊ฒ์ฒ๋ผ ์ปค๋ฎค๋ํฐ๋ฅผ ํ์์ผ๋ก ํฌ์ฉํ๋ค๋ ์ฝ์์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ฃ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฐ์ ์ ๋ํด ํจ๊ป ์ด์ผ๊ธฐํ์ฌ ํ๋์ ํฐ ํ์ผ๋ก ๋ฉ์ง ๊ธฐ๋ฅ์ ๊ตฌ์ถํ๋ ๋ฐ ์ง์คํ ์ ์์ต๋๋ค. ๐
์ฐ๋ฆฌ โค๏ธ WinUI
์คํ ์์ค์ ์ ์ ์ ๋ฐ์๋ค์์ผ๋ก์จ ๋ด ๋ฐ๋(๊ทธ๋ฆฌ๊ณ ์ด ์์ ์ ํตํด ๋ด๊ฐ ์๋ชปํ๋์ง ์๋ ค์ฃผ์ธ์)์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์์ ์ ์ด๊ณ ์ ์ฉํ ์ฝ๋๋ฅผ ๋ฆด๋ฆฌ์คํ๊ณ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ์ ์ง์ ์ผ๋ก ๊ตฌ์ถํ๋ ๊ฒ์ ์ ์ ์ผ๋ก ์ ํธํ๋ ๊ฒ์ ๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ด๋ WinUI 2์์ ๋๋ถ๋ถ์ ์์ ํ V1์ ๋ฆด๋ฆฌ์คํ๊ณ WinUI 3์์ ํ ์ ์๋ ๊ฒ์ฒ๋ผ ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ํฌํจ๋ ์์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋ฆด๋ฆฌ์ค๋ก ํ์ ์กฐ์น๋ฅผ ์ทจํ๋ ๊ฒ์ ์ ํธํ๋ค๋ ๊ฒ์ ์๋ฏธํ์ต๋๋ค.
์ด๊ฒ์ ๋์ผ ์ ์์ง๋ง ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ฝ๋๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ์ค์ํ์ง๋ง ๋ฌด์ธ๊ฐ๋ฅผ ์ ๊ณตํ๊ธฐ ์ ์ ํด๊ฒฐํด์ผ ํ๋ ํน์ ์ ํ์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด #1846์ V1์ ์ ๊ณตํ๊ธฐ ์ ์ ํด๊ฒฐํด์ผ ํ๋ ๋ฌธ์ ์ ๋๋ค. ๋ค๋ฅธ ๋ช ์ฌ๋๋ ๋ ์ ์์ต๋๋ค.
@yaichenbaum ๊ฑฐ๊ธฐ์์ ๋ด ๋ง์ ๋ ์ ์ ํํ ์ ์์์ต๋๋ค. ๐
AD๊ฐ _๋ฐ๋์ ๊ฐ์ถ์ด์ผ ํ๋_ ๊ธฐ๋ฅ์ด๊ณ EH๊ฐ _๊ฐ์ ธ ์์ผ๋ฉด ์ข์_ ๊ธฐ๋ฅ์ธ ๊ฒฝ์ฐ, ์ ์ฐ์ ์์๋ AD๋ฅผ ๋ฐ์ผ๋ก ๋ด๋ณด๋ด๊ณ ๊ฐ๋ฅํ ํ EH๋ฅผ ์ ์ง์ ์ผ๋ก ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค.
๊ฒ์ฆ ํํธ๋์ ํจ๊ป ํ๋ฆฌ๋ทฐ ๋ธ๋์น๋ฅผ ์ค๋นํ๋ ์ด์ ๋ ์ปจํธ๋กค์ด ์์ ์ ์ธ ๋ฆด๋ฆฌ์ค๋ก ํธ์๋๊ธฐ ์ ์ #1846๊ณผ ๊ฐ์ ๋ฒ๊ทธ๋ฅผ ์ก๊ธฐ ์ํจ์ ๋๋ค. ์ฃ์กํฉ๋๋ค. ์ด ๋ฌธ์ ์์ ๊ณต์ ๋์ณค์ต๋๋ค. @teaP ์ ์ต๋ํ ๋นจ๋ฆฌ ํ๋ ฅํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋์ง ํ์ธํ๊ฒ ์ต๋๋ค! ๐
ํตํ ์ค ํ ์์ ์์ WinUI ์ฑ์ด AppDomain์ ํตํด ์๋๋ฐ์ฑ์ ํ์ฉํ ๊ฒ์ด๋ผ๊ณ ์ธ๊ธํ์ต๋๋ค.
์์ฉ ํ๋ก๊ทธ๋จ ๊ฒฉ๋ฆฌ ๋ฐ ๋ฆฌ์์ค ์ ์ด๋ฅผ ์ํด WinUI 3.0+๊ฐ Capabilities์ AppDomain์ ์ด๋ป๊ฒ ํฌ์ง์ ๋ํ ๊ฒ์ธ์ง ๋๊ตฐ๊ฐ ๋งํ ์ ์์ต๋๊น?
๋ํ .Net Core์ ๋ํด ๋ด๊ฐ ๋ง์ง๋ง์ผ๋ก ์์๋ AppDomain์ ๋ํ ์์ ํ ์ง์์ด ์ด๋ฃจ์ด์ง์ง ์์์ต๋๋ค.
์ฐ๋ฝ์ด ๋ฟ์ง ์์ ์๋ ์์ง๋ง .Net 5์์ AppDomain์ ์๋ฒฝํ๊ฒ ์ง์ํ๋ค๋ ๋ง์์ด์ ๊ฐ์?
์ค๋ ์ด ํตํ๋ฅผ ์กฐ์งํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์์ฉ ํ๋ก๊ทธ๋จ ๊ฒฉ๋ฆฌ ๋ฐ ๋ฆฌ์์ค ์ ์ด๋ฅผ ์ํด WinUI 3.0+๊ฐ Capabilities์ AppDomain์ ์ด๋ป๊ฒ ํฌ์ง์ ๋ํ ๊ฒ์ธ์ง ๋๊ตฐ๊ฐ ๋งํ ์ ์์ต๋๊น?
ํตํ์์ ๋ช ํํ์ง ์์ ๊ฒฝ์ฐ ์ฃ์กํ์ง๋ง AppDomain์ด ์๋ AppContainer ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์์ต๋๋ค.
์, ์๊ฒ ์ต๋๋ค. ์ค๋ช ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ ์.
์ฐ์ ์ค๋ ์ปค๋ฎค๋ํฐ ์ฝ์ ์ฃผ์ตํด ์ฃผ์ @SavoySchuler ์ @jesbis (๋ฐ ๋๋จธ์ง WinUI ํ)์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ๊ธฐ์ ์ ์ธ ์ด๋ ค์์ด ์์์ง๋ง์ด ์ ํ๋ ๋งค์ฐ ํต์ฐฐ๋ ฅ์ด์์์ต๋๋ค !!!
@jesbis๊ฐ ์ธ๊ธํ๋ฏ์ด WinUI 3.0์ ๋ํด ์์ฒญ๋ ๋๊ตฌ ๋ฐ ๊ธฐ๋ฅ์ ์ถ์ ํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ณด๋ค ์ฌ์ด ์ถ์ ์ ์ํด WinUI 2.x์์ 3.0์ผ๋ก ๋ณํ ๋๊ตฌ์ ์์ฒญ์ ๋ณ๋์ ๋ฌธ์ ๋ก ๋ถํ ํ๋ ๊ฒ์ด ๋ ๋ซ์ต๋๊น? ๋ํ ์ด๋ฏธ ๊ณํ์ด ์์ต๋๊น? ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ฐ์ ๋์ธ ์ ์๋๋ก ๋๊ตฌ๋ฅผ ์คํ ์์ค๋ก ๋ง๋ค ๊ณํ์ด ์์ต๋๊น?
๋ค๋ฅธ ๋น WinUI ํ ๊ตฌ์ฑ์์๊ฒ๋ ํด๋น๋๋ ๋ ๋ค๋ฅธ ์ผ๋ฐ์ ์ธ ์ง๋ฌธ์ ๊ธฐ์ฌ์ ๊ดํ ๊ฒ์ ๋๋ค. ํ์ฌ ์ฌ๋๋ค์ด ๊ธฐ์ฌํ๋ ๊ฒ์ ๋ฐฉํดํ๋ ์ฅ์ ๋ฌผ์ด ์์ต๋๊น? ๊ธฐ์ฌ์๋ฅผ ์ํ ๋ ๋์ ์์ ๊ฐ์ด๋๊ฐ ๋์์ด ๋ ๊น์?
๋ด ์๊ฐ์๋ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๊ธฐ ์์ํ๋ฉด VS ํ๋ก์ ํธ๊ฐ ๋ค์ ์๋์ ์ผ ์ ์์ผ๋ฉฐ ๊ฐ๋ฐ ๋ฐฉ๋ฒ, ์ด๋ค ํ ์คํธ ํ๋ก์ ํธ๋ฅผ ๋ฌด์์ ์ฌ์ฉํด์ผ ํ๋์ง ๋ฑ์ ๋ํ ๋ฌธ์๊ฐ ๋ง์ง ์์ต๋๋ค.
์๋ง๋ ๊ทธ ์์ญ์ ๊ฐ์ ์ผ๋ก ์ฌ๋๋ค์ด ๋ ์ฝ๊ฒ ๊ธฐ์ฌํ ์ ์์ ๊ฒ์ ๋๋ค ๐
WinUI 3.0 ๋ ๋๋ง ๋ ์ด์ด๋ ์ด๋ป๊ฒ ์ํ๋ฉ๋๊น? D3D11, D2D, ์ถ์ํ ๊ณ์ธต ๋๋ ๋ฌด์์ ์ง์ ์ฌ์ฉํฉ๋๊น? ์ํํธ์จ์ด ๋ ๋๋ง ๋ ์ด์ด๊ฐ ์๊ฑฐ๋ ์ด๋ฅผ ์ํด D3D WARP๋ฅผ ์ฌ์ฉํฉ๋๊น?
@chingucoding
์ฌ๊ธฐ์์ ๋ฐฉ๊ธ ๋งํ ์์ ์ ๋ฐ๋ณต
ํธ์ง: ์๋ฅผ ๋ค๊ฒ ์ต๋๋ค. #1555 ๋ฐ #1849๋ ๋ฉํฐํ์คํน ์ค ํ ์คํธ ์ ๋ ฅ ๋ฐ ์ ํ์ ๋ฐฉํดํ๋ ํต์ฌ ์ปจํธ๋กค(TextBox)์ ์ฃผ์ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๊ฒ๋ค์ ํด๊ฒฐํด์ผ ํ ์ค์ํ ๋ฌธ์ ๋ชฉ๋ก์ ์์์ ์์ง๋ง ์ด๋์๋ถํฐ ์์ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋๋ฒ๊ทธ๋ฅผ ์ํด ๋จ๊ณ๋ณ๋ก ์ํํ๊ณ ์ถ์/ํ์ํ ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ์ฌ๋ถ๋ ์ ์ ์์ต๋๋ค.
@SavoySchuler
๋ชฉํ 2์ 3์์ WinUI 2๊ฐ ์ปค๋ฎค๋ํฐ ๊ตฌ์ฑ์์๊ฒ ์ ๋๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ์ง ๋ชปํ๋ ์ง์ ๊น์ง ๋๋ฌด ์์๊ฐ๋ค๋ฉด ์ฐ๋ฆฌ๋ ๋ํ๋ฅผ ํ ์ ์๊ณ ์ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ฐฑ๋ก๊ทธ์ ๋ชจ๋ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๋ฉด WinUI 3์ ์ถ์๊ฐ 6๊ฐ์ ์ ๋ ์ง์ฐ๋๋ค๋ ์ ์ ์์๋์ธ์.
ํ์คํ ์ดํดํฉ๋๋ค. ๊ทธ๋ฌ๋ NumberBox๋ ์ ์๊ฐ๊ณผ ์ฝ๊ฐ ๋ค๋ฅด๋ฉฐ ๋ชจ๋ ๋ฒ๊ทธ์ ์ง์คํด์ผ ํ๋ค๊ณ ๋งํ๋ ๊ฒ์ ์๋๋๋ค. ์ง๊ธ์ NumberBox์ ๋งฅ๋ฝ์์๋ง ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค. ๋ถ๋ช ํ ํด๊ฒฐํด์ผ ํ ๋ช ๊ฐ์ง ๋ค๋ฅธ ๋๋ถ์ ๋ฌธ์ ๊ฐ ์์ง๋ง.
NumberBox๋ ํ์ฌ ๋ชจ๋ ์ฌ๋์ด ์์ฉํด์ผ ํ๋ ๋ ๊ฑฐ์ ์ปจํธ๋กค์ด ์๋๋ผ WinUI 2.3์ฉ์ผ๋ก ์๋ก ๊ฐ๋ฐ๋ ์ปจํธ๋กค์ ๋๋ค. ์์ํ๊ธฐ ์ํด ์ด๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ํํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ด๊ฒ์ ์๋ก์ด ๊ฐ๋ฐ ๋ชจ๋ธ์ ๋ํ ๋งค์ฐ ๋ฆฌํธ๋จธ์ค ํ ์คํธ์ ๋๋ค.
AD์ ๊ธฐ๋ฅ์ด ์์ด์ผ ํ๊ณ EH์ ๊ธฐ๋ฅ์ด ์๋ ๊ฒ์ด ์ข์ ๊ฒฝ์ฐ, ์ ๋ AD๋ฅผ ๋ฐ์ผ๋ก ๋ด๋ณด๋ด๊ณ ๊ฐ๋ฅํ ํ EH๋ฅผ ์ ์ง์ ์ผ๋ก ์ถ๊ฐํ๋ ๊ฒ์ด ์ฐ์ ์ ๋๋ค.
์ฌ๊ธฐ์ ์ ์ ์ผ๋ก ๋์ํฉ๋๋ค. ํ์ง๋ง ๋น์ ์ ๊ธฐ๋ฅ๊ณผ ๋ฒ๊ทธ์ ์ฐจ์ด๋ฅผ ์ดํดํด์ผํฉ๋๋ค. Microsoft์ ๋ฆฌ์์ค/์ธ๋ ฅ ์ธก๋ฉด์์๋ง ์๊ฐํ๊ณ ๊ณ์ ๊ฒ ๊ฐ์ ๊ฑฑ์ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฑ ๊ฐ๋ฐ์๊ฐ ์ปจํธ๋กค์ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ง์ ์๊ฐ์ ๋ญ๋นํ๋ค๊ณ ์๊ฐํ ์ ์ด ์์ต๋๊น? ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์์ค์์ ์์ ํ๋ ๊ฒ์ด ํจ์ฌ ๋ ํจ์จ์ ์ด๋ฉฐ ํ๋ซํผ/๋๊ตฌ์ ๋ํ ์ธ์์๋ ์ค์ ๋ก ๋์์ด ๋ฉ๋๋ค.
๋ด๊ฐ ๋ถ๋ช ํ ๋งํ๊ณ ์ถ์ ๋ ๋ค๋ฅธ ๊ฒ์ WinUI 2 ๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํ๊ณ ๊ธฐ๋ฅ ์์ฒญ์ ์์ฑํ๋ ๋ฑ์ ๋ชจ๋ ์์ ์ด ์ฐ๋ฆฌ์๊ฒ ์์ค๋์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. WinUI 3๊ฐ ์ถ์๋๋ฉด ์ปค๋ฎค๋ํฐ๊ฐ ์ฝ๋๋ฅผ ์ ์ถํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ ์ธ์๋ ํ๋ซํผ์ ๋ฐ์ ์ํค๋ ์์ ํญ๋ชฉ์ผ๋ก ๋์๊ฐ ์ ์๋ ํ์ ์๋น ๋ถ๋ถ์ด ํ๋ณด๋ฉ๋๋ค.
Microsoft๋ ๋ถ์์ ํ ์ํํธ์จ์ด๋ฅผ ์ถ์ํ ๋ค์ ๋ง์ง๋ง์ ์๋ฃํ ๊ธฐํ๋ฅผ ๊ฐ๊ธฐ ์ ์ ์ต์ ์ต์ ๊ธฐ์ ๋ก ๋์ด๊ฐ๋ ์ ๋ง ๋์ ์ค์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฝ์์ ํ์์ ์ธ ์ ๋ฅผ ์ฉ์ํด ์ฃผ์ญ์์ค.
NumberBox๋ก ๋์๊ฐ์. V1์ด ์ํ๋ ๊ธฐ๋ฅ์ ํ์ ์งํฉ์ด๋ผ๊ณ ๋งํ๋ ๊ฒ์ด ์ฌ์ค ๋ง์ต๋๋ค.
...์คํ ์์ค์ ์ ์ ์ ๋ฐ์๋ค์์ผ๋ก์จ ๋ด ๋ฐ๋(๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ์๋ชปํ๋์ง ์๋ ค์ฃผ์ธ์)์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์์ ์ ์ด๊ณ ์ ์ฉํ ์ฝ๋๋ฅผ ๋ฆด๋ฆฌ์คํ๊ณ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ์ ์ง์ ์ผ๋ก ๊ตฌ์ถํ๋ ๊ฒ์ ์ ์ ์ผ๋ก ์ ํธํฉ๋๋ค.
๊ธฐ๋ฅ๋ฉด์์ ๋น์ ๊ณผ ์์ ํ ๊ฐ์ ํ์ด์ง์ ์์ต๋๋ค. ๋ฒ๊ทธ ๋ ๋ค๋ฆ ๋๋ค. ๊ธฐ๋ฅ๊ณผ ๋ค๋ฅด๊ฒ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๊ณ ๋ ๋ง์ ๋ฆฌ์์ค๋ฅผ ์ปค๋ฐํด์ผ ํฉ๋๋ค. NumberBox์ ๊ฐ์ ์๋ก์ด ์ปจํธ๋กค์ ์ถ์ํ๊ณ ์ง๊ธ๋ถํฐ 1๋ ๊น์ง ๋ฒ๊ทธ ์์ ์ ๋ฆฌ์์ค๋ฅผ ํฌ์ ํ ์ ์๋ค๊ณ ๋งํ๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค.
WinUI 3.0์ ์์กดํ์ง ์๋ ์ปจํธ๋กค์ V1 ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํด ๋ฌ๋ผ๋ ์์ฒญ์ ๋๋ค. ์ผ๋ถ๋ ์๋นํ ๊ธฐ๋ณธ์ ์ด๊ณ ๋ค๋ฅธ ์ผ๋ถ๋ ์ค๊ณ์์ ๋์ ๋๋ ์ค์์ ๋๋ค(์: NaN์ด ์๋ฐฉํฅ ๋ฐ์ธ๋ฉ ๋ฐ์ดํฐ ์ถฉ๋). ๊ธฐ๋ฅ/์ปจํธ๋กค์ ๋ฆด๋ฆฌ์คํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ฉด ๋ฒ๊ทธ๋ฅผ ๋ซ๊ธฐ ์ํด ์ ์ํ๊ฒ ์์ ํด์ผ ํฉ๋๋ค. ์ํํธ์จ์ด๊ฐ ์ฒ์์ผ๋ก ๊ด๋ฒ์ํ๊ฒ ์ถ์๋ ๋ ํญ์ ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค. (๋๋จธ์ง ์ฑ ๊ฐ๋ฐ์์ ๋ง์ฐฌ๊ฐ์ง๋ก) ๋น ๋ฅธ ๋ฒ๊ทธ ์์ V2๋ฅผ ์ํํ๊ธฐ ์ํด ๋ฆฌ์์ค๋ฅผ ๊ณํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ํ์ง์ด ์ต์ฐ์ ์ด๋ผ๋ ๋ฐ ๋์ํ๋ฏ๋ก ๋ค๋ฅธ ์์ ์ ์งํํ๊ธฐ ์ ์ NumberBox์์ ๋ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ญ์์ค.
ํ ๊ฐ์ง ์ถ๊ฐ๋ก ์์์ผ ํ ์ฌํญ์ OS์์ WinUI 3์ผ๋ก ์ฝ๋๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๋์ ์ฐ๋ฆฌ๊ฐ ํ ์ ์๋ ๊ณณ์์ ์ฝ๋๋ฅผ ๊ฐ๋จํ๊ณ ์ ๋ฆฌํ๊ธฐ ์ํ ์กฐ์น๋ฅผ ์ทจํ๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ, ํน์ ๊ธฐ๋ฅ ์ถ๊ฐ ๋ฐ ๋ฒ๊ทธ ์์ ์ด WinUI 3์์ ํด๊ฒฐ๋ ๊ฒฝ์ฐ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ด ํ์ ํ ์ค์ด๋ญ๋๋ค.
๋์ ์์ค์์ ์ดํดํฉ๋๋ค. ๊ทธ๋ฌ๋ ์์ ๋ฌธ์ ๋ฅผ ์์ ํด๋ WinUI 3.0์ด 6๊ฐ์ ๋์ ์ง์ฐ๋์ง๋ ์์ต๋๋ค. ๋ํ ํด๊ฒฐํ๊ธฐ ์ํด WinUI 3.0์ ์์กดํ์ง ์์ต๋๋ค(์ ์ฌ์ ์ผ๋ก #1721 ์ ์ธ). NumberBox๋ฅผ ๋ฆด๋ฆฌ์คํ ๋ค์ ๋ฒ๊ทธ์ ์ฒซ ๋ฒ์งธ ๋ผ์ด๋๋ฅผ ์ข ๋ฃํ๊ธฐ ์ํด ์ด๋ฅผ ๊ณ ์ํ์ง ์์์ผ๋ก์จ ์ํํ ์ ๋ก๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค. UWP ์์ฒด์์ ์ด๋ฏธ ์ด ๋จ์์ ๋ฐฐ์ ์ด์ผ ํฉ๋๋ค.
์๋ง๋ ๊ทธ ์์ญ์ ๊ฐ์ ์ ์ฌ๋๋ค์ด ๋ ์ฝ๊ฒ ๊ธฐ์ฌํ ์ ์๋๋ก ํ ๊ฒ์ ๋๋ค.
๊ธฐ์ฌํ๊ณ ์ถ์ต๋๋ค. C++/WinRT๋ก ์์ ํ๋ ๊ฒ์ ์ข์ํ์ง ์์ผ๋ฉฐ ๋ถ๋ช ํ ๋ด๊ฐ ๋ณธ ๊ฒ์ฒ๋ผ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ง์ง ์๊ฒฉ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ปจํธ๋กค์ด ๊ด๋ฆฌ๋๋ C#์ด๋ผ๋ฉด ํจ์ฌ ๋ ๋ง์ ๊ธฐ์ฌ๋ฅผ ํ์ ๊ฒ์ ๋๋ค. ๋๋ ์ํคํ ์ฒ๊ฐ ์ ๊ทธ๋ฐ ๊ฒ์ธ์ง ์ดํดํ์ง๋ง ๊ทธ ๊ฒฐ๊ณผ ์ค ํ๋๋ ์ปค๋ฎค๋ํฐ ๊ธฐ์ฌ๋๊ฐ ์ ๋ค๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์ ์์คํ ๊ฐ๋ฐ์๊ฐ ์๋๋ผ ์ต์ข ์ฌ์ฉ์ ์ฑ ๊ฐ๋ฐ์์ ๋๋ค.
RE: ๊ธฐ์ฌ:
๋ค๋ฅธ ๋น WinUI ํ ๊ตฌ์ฑ์์๊ฒ๋ ํด๋น๋๋ ๋ ๋ค๋ฅธ ์ผ๋ฐ์ ์ธ ์ง๋ฌธ์ ๊ธฐ์ฌ์ ๊ดํ ๊ฒ์ ๋๋ค. ํ์ฌ ์ฌ๋๋ค์ด ๊ธฐ์ฌํ๋ ๊ฒ์ ๋ฐฉํดํ๋ ์ฅ์ ๋ฌผ์ด ์์ต๋๊น? ๊ธฐ์ฌ์๋ฅผ ์ํ ๋ ๋์ ์์ ๊ฐ์ด๋๊ฐ ๋์์ด ๋ ๊น์?
๋ด ์๊ฐ์๋ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๊ธฐ ์์ํ๋ฉด VS ํ๋ก์ ํธ๊ฐ ๋ค์ ์๋์ ์ผ ์ ์์ผ๋ฉฐ ๊ฐ๋ฐ ๋ฐฉ๋ฒ, ์ด๋ค ํ ์คํธ ํ๋ก์ ํธ๋ฅผ ๋ฌด์์ ์ฌ์ฉํด์ผ ํ๋์ง ๋ฑ์ ๋ํ ๋ฌธ์๊ฐ ๋ง์ง ์์ต๋๋ค.
์๋ง๋ ๊ทธ ์์ญ์ ๊ฐ์ ์ ์ฌ๋๋ค์ด ๋ ์ฝ๊ฒ ๊ธฐ์ฌํ ์ ์๋๋ก ํ ๊ฒ์ ๋๋ค.
์ฌ๋๋ค์ด ํ์ฌ ์ ์ฅ์์ ์๋ ์ฝ๋๋ฒ ์ด์ค์ธ WinUI 2์ ๊ธฐ์ฌํ๋ ๊ฒ์ ๋ง์ ์ ์๋ ๊ฒ์ ์์ต๋๋ค. ์์ ํ๊ณ ์ถ์ WinUI 2 ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ ์ ํฌ์๊ฒ ์๋ ค์ฃผ์๋ฉด ํด๋น ๋ฌธ์ ๋ฅผ ํ ๋นํด ๋๋ฆฌ๊ฒ ์ต๋๋ค!
์ฐ๋ฆฌ๋ ๋ง์ ํญ๋ชฉ์ด ํ๊ทธ๊ฐ ์ข์ ์ฒซ ๋ฒ์งธ ๋ฌธ์ ์ ๋์์ด ์ํ๋ ๋๊ตฌ๋ ์ฝ๊ฒ ์์ํ๋ (์๋์ ์ผ๋ก)ํด์ผํ๋ค ํญ๋ชฉ ๋์๋ง์ ์ํ๋ค๋ฉด ๐
๋ฒ๊ทธ์์ ์ ๊ฒฝ์ฐ PR์ ์ด ์ ์์ต๋๋ค. ์ฃผ์ ์ ๊ธฐ๋ฅ์ธ ๊ฒฝ์ฐ ์ ์์ด WinUI์ ์ ํฉํ์ง ํ์ธํ๊ธฐ ์ํด ๋จผ์ ๋ฌธ์ ๋ฅผ ๊ฒํ ํ๋ ์ฝ๊ฐ์
๋๋ ๊ธฐ์ฌ์ ๊ฐ์ด๋๊ฐ ๋ ๋์ ์ ์๊ณ ์์ํ๊ธฐ ์ด๋ ต๋ค๋ ๋ฐ ์ ์ ์ผ๋ก ๋์ํฉ๋๋ค. ์ ๋ ์ต๊ทผ์ ์๋ก์ด ๊ธฐ๋ฅ( RadialGradientBrush )์ ๊ตฌํํ๊ธฐ ์ํด ์ด๋ฅผ ๋ฐ๋ฅด๋ ค๊ณ ๋ ธ๋ ฅํ์ผ๋ฉฐ ๋ง์ ๊ฐ์ ์ฌํญ์ ์ฌ์ฉํ ์ ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ฐ์ด๋๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ํ ์ผ ๋ชฉ๋ก.
์๋ฅผ ๋ค์ด ๋๋ฆฌ๊ฒ ์ต๋๋ค. #1555 ๋ฐ #1849๋ ๋ฉํฐํ์คํน ์ค ํ ์คํธ ์ ๋ ฅ ๋ฐ ์ ํ์ ๋ฐฉํดํ๋ ํต์ฌ ์ปจํธ๋กค(TextBox)์ ์ฃผ์ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๊ฒ๋ค์ ํด๊ฒฐํด์ผ ํ ์ค์ํ ๋ฌธ์ ๋ชฉ๋ก์ ์์์ ์์ง๋ง ์ด๋์๋ถํฐ ์์ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋๋ฒ๊ทธ๋ฅผ ์ํด ๋จ๊ณ๋ณ๋ก ์ํํ๊ณ ์ถ์/ํ์ํ ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ์ฌ๋ถ๋ ์ ์ ์์ต๋๋ค.
๊ทธ๊ฒ๋ค์ ์ฌ์ ํ โโdev ์์ ์์ ์ํด ๋ถ๋ฅ(๋ถ๋ฅ)๋์ด์ผ ํฉ๋๋ค(๋ฐ๋ผ์ "needs-triage" ๋ ์ด๋ธ - ํ์ฌ ์์ง ๋ถ๋ฅ๋์ง ์์ ์ด์ ๋ฅผ ์ถ์ ์ค์ ๋๋ค. ์ฃ์กํฉ๋๋ค). ๊ทธ๋ฌ๋ TextBox๊ฐ WinUI 2๋ WinUI3๋ฅผ ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค.
์ผ๋จ ๋ถ๋ฅ๋๋ฉด ์ฐ๋ฆฌ๊ฐ ํด๊ฒฐํ๊ธฐ ์ ์ WinUI 3์ ๊ธฐ๋ค๋ ค์ผ ํจ์ ๋ํ๋ด๋ needs-winui-3 ๋ ์ด๋ธ์ด ์ ์ฉ๋์ด์ผ ํฉ๋๋ค.
WinUI 3๊ฐ ์คํ ์์ค๊ฐ ๋๋ฉด ๋๊ตฌ๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค.
C++/WinRT๋ก ์์ ํ๋ ๊ฒ์ ์ข์ํ์ง ์์ผ๋ฉฐ ๋ถ๋ช ํ ๋ด๊ฐ ๋ณธ ๊ฒ์ฒ๋ผ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ง์ง ์๊ฒฉ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ปจํธ๋กค์ด ๊ด๋ฆฌ๋๋ C#์ด๋ผ๋ฉด ํจ์ฌ ๋ ๋ง์ ๊ธฐ์ฌ๋ฅผ ํ์ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๋ C++๊ฐ C#๋ณด๋ค ๋ ๋์ ์ฅ๋ฒฝ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง WinUI๋ C++ ํ๋ซํผ์ผ๋ก ๋จ์ ๊ณํ์ ๋๋ค.
๊ธฐ์ฌํ ์ ์๋ ๋ ๋ค๋ฅธ ํ๋ฅญํ ํ๋ก์ ํธ๋ C#์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ์ฌํ๊ธฐ ์ฝ๊ณ ์๊ตฌ ์ฌํญ์ด ์ํ๋ Windows Community Toolkit ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ ์ง ๊ด๋ฆฌ์์ ํ๋ ฅํ๊ณ ์ข ์ข Community Toolkit์ ์ฌ์ฉํ์ฌ ๊ถ๊ทน์ ์ผ๋ก Xaml ํ๋ซํผ์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ์๋ก์ด ์ปจํธ๋กค์ ๋ฐฐ์ํฉ๋๋ค(C++์์ ๋ค์ ๊ตฌํํด์ผ ํจ).
WinUI์ C++/CX๊ฐ ํ์ํฉ๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ด๊ฒ์ด Win32 ๋ฐ ๊ธฐํ ๋ฏธ๋ ๋ชฉํ์ ๋ํ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๊น?
WinUI 3.0 ๋ ๋๋ง ๋ ์ด์ด๋ ์ด๋ป๊ฒ ์ํ๋ฉ๋๊น? D3D11, D2D, ์ถ์ํ ๊ณ์ธต ๋๋ ๋ฌด์์ ์ง์ ์ฌ์ฉํฉ๋๊น? ์ํํธ์จ์ด ๋ ๋๋ง ๋ ์ด์ด๊ฐ ์๊ฑฐ๋ ์ด๋ฅผ ์ํด D3D WARP๋ฅผ ์ฌ์ฉํฉ๋๊น?
WinUI Xaml ํ๋ ์์ํฌ์ ๋ ๋๋ง์ ์ฃผ๋ก Windows 10 ๊ตฌ์ฑ ์์ง ์์ ๊ตฌํ๋ฉ๋๋ค. ์ปดํฌ์ง์ ๋ ์ด์ด API๋ WinUI 3์ ์ผ๋ถ๊ฐ ๋ ๊ฒ์ ๋๋ค.
๊ฒฐ๊ตญ ์ด๋ ์ผ๋ฐ์ ์ผ๋ก Direct3D, Direct2D ๋ฐ DirectWrite๋ฅผ ์ฌ์ฉํ๋ ํ๋์จ์ด ๊ฐ์ ๋ ๋๋ง์ ์๋ฏธํ๋ฉฐ ์ผ๋ถ ๊ฒฝ์ฐ์๋ ์ํํธ์จ์ด ๋ ๋๋ง์ด ํฉ๋ฆฌ์ ์ ๋๋ค.
interop API๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ง์ ๋ ๋๋ง๋ DirectX ์ฝํ ์ธ ๋ฅผ ํฌํจํ ์๋ ์์ต๋๋ค.
WinUI์ C++/CX๊ฐ ํ์ํฉ๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ด๊ฒ์ด Win32 ๋ฐ ๊ธฐํ ๋ฏธ๋ ๋ชฉํ์ ๋ํ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๊น?
์๋์ - WinUI ํ๋ซํผ์ C++๋ก ์์ฑ๋์์ง๋ง ์ฑ์ ๋ฐ๋์ ๊ทธ๋ด ํ์๋ ์์ต๋๋ค!
ํ์ฌ WinUI 2๋ฅผ ์ฌ์ฉํ๋ฉด .NET(C#, VB.NET) ๋๋ C++๋ฅผ ์ฌ์ฉํ์ฌ UWP ์ฑ์ ๋ง๋ค ์ ์์ต๋๋ค.
WinUI 3์ ๋ชฉํ๋ ๊ณง ์ถ์๋ .NET 5 ๋๋ C++๋ฅผ ์ฌ์ฉํ์ฌ UWP ๋ฐ/๋๋ win32 API๋ฅผ ์ฌ์ฉํ๋ ์ฑ์ ๋ง๋ค ์ ์๊ฒ ํ๋ ๊ฒ์ ๋๋ค.
@jesbis ์ ์ง๋ฌธ ์๋๋ฅผ ์กฐ๊ธ ์คํดํ์ ๊ฒ
1) WinUI๊ฐ C++๋ก ์์ฑ๋์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง WinUI ์ฝ๋์๋ Windows ์ ์ฉ VC++/CX ํ์ฅ์ด ํ์ํฉ๋๊น? CX ํ์ฅ์ด ํ์ํ ๊ฒฝ์ฐ WinUI๊ฐ ๋ค๋ฅธ ํ๋ซํผ์ผ๋ก ํ์ฅํ๋ ค๋ ๊ฒฝ์ฐ ์ด์์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค๊ณ ๋ด ๋๋ค. ์ด๊ฒ์ ์๋ฅผ ๋ค์ด UNO ํ์ด ์ฝ๋๋ฅผ ์ฑํํ๋ ๊ฒ์ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
2) ๋ ๋๋ง ์์คํ ์ ๋ํด. ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ์ฌํญ์ด ์์ต๋๋ค.
2.a) "๋น์ฃผ์ผ ๋ ์ด์ด"๊ฐ ๋์ค์ Vulkan ๋ฐฑ์๋๋ฅผ ์ง์ํ ์ ์๋๋ก DirectX API์์ ์ถฉ๋ถํ ๋ฉ๋ฆฌ ์ ๊ฑฐ๋ ์ถ์ํ API์ ๋๊น? (์ถ์ฒ๊ฐ ๊ณต๊ฐ๋๋ฉด ์ด ์ง๋ฌธ์ ๋ํ ๋ต์ ์ป์ ์ ์์ ๊ฑฐ๋ผ ํ์ ํ์ง๋ง ๊ถ๊ธํฉ๋๋ค.)
2.b) ์ํํธ์จ์ด ๋์คํฐํ์ ๋ํ ๋ด ์ง๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. WinUI 3.0์ด ์ ์ฒด ์ํํธ์จ์ด ๋ ๋๋ง(๋จ์ํ ํ ์คํธ ๋ ๋๋ง ๋๋ ๊ธฐํ ๊ธฐ๋ฅ์ด ์๋)์ ์ง์ํฉ๋๊น? ๋๋ก๋ ํ๋ฉด ๊ณต์ ์ํํธ์จ์ด์ GPU ๊ฐ์ ์ฑ(์ต์ํ D3D9/WPF ์ฌ์ฉ)์ ๋ฌธ์ ๊ฐ ์๊ณ ์ํํธ์จ์ด ๋ ๋๋ง์ ๊ฐ์ ์คํํ๋ฉด ์ด๋ฌํ ์ํฉ์์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ๋๋ ์ฑ์ด ํ๋์จ์ด GPU๊ฐ ์๋ VM์์ ์คํ๋๋ ๊ฒฝ์ฐ.
vsix๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํด ๋ณด๊ธฐ ์ํ WinUI 3.0 Alpha ์ง์นจ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
https://aka.ms/winui/alpha
Edge New๋ก ๊ทธ๋ ๊ฒ ํ์ต๋๊น? ๋ค์ด๋ก๋ ๋งํฌ๊ฐ ํ์๋์ง ์๊ณ ํฌ๋กฌ์ผ๋ก ๋ฐ๋ณตํ์ต๋๋ค. ๊ฑฐ๊ธฐ์์ ๋ค์ด๋ก๋ํ์ญ์์ค.
Edge New๋ก ๊ทธ๋ ๊ฒ ํ์ต๋๊น? ๋ค์ด๋ก๋ ๋งํฌ๊ฐ ํ์๋์ง ์๊ณ ํฌ๋กฌ์ผ๋ก ๋ฐ๋ณตํ์ต๋๋ค. ๊ฑฐ๊ธฐ์์ ๋ค์ด๋ก๋ํ์ญ์์ค.
@hannespreishuber ๋ค์ด๋ก๋ ๋งํฌ๋ ์ค๋ฌธ์กฐ์ฌ์ ๋ง์ง๋ง ํ์ด์ง์ ์์ด์ผ ํฉ๋๋ค. ์ค๋ฌธ์กฐ์ฌ๊ฐ Chromium Edge์์๋ ์๋ํ์ง ์์์ง๋ง Chrome์์๋ ์๋ํ๋ค๋ ๋ป์ธ๊ฐ์?
๋ค์ด๋ก๋ ๋งํฌ๋ ์ค๋ฌธ์กฐ์ฌ์ ๋ง์ง๋ง ํ์ด์ง์ ์์ด์ผ ํฉ๋๋ค. ์ค๋ฌธ์กฐ์ฌ๊ฐ Chromium Edge์์ > ์๋ํ์ง ์์์ง๋ง Chrome์์๋ ์๋ํ๋ค๋ ๋ป์ธ๊ฐ์?
๋ ๋ค์ ๋ํ ์ค๋ฌธ ์กฐ์ฌ๋ฅผ ํ์ง๋ง ๋ง์ง๋ง ํ์ด์ง๋ ๋ฌ๋์ต๋๋ค. ์๋ง๋ ์ ์๋ชป์ผ ๊ฒ์ ๋๋ค.
๋ ๋ค์ ๋ํ ์ค๋ฌธ ์กฐ์ฌ๋ฅผ ํ์ง๋ง ๋ง์ง๋ง ํ์ด์ง๋ ๋ฌ๋์ต๋๋ค. ์๋ง๋ ์ ์๋ชป์ผ ๊ฒ์ ๋๋ค.
์ข์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ๋ ๋ฒ์ ์ Edge์์ ์ค๋ฌธ์กฐ์ฌ๋ฅผ ํ ์คํธํ์ผ๋ฉฐ ์๋ํ๋ ๊ฒ ๊ฐ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ค์ด๋ก๋์ ๋ฌธ์ ๊ฐ ์๋ ์ฌ๋์ด ์์ผ๋ฉด ์๋ ค์ฃผ์๊ณ ํ์ด์ง ์ฝํ ์ธ ๊ฐ Chrome๊ณผ ๋ค๋ฅด๊ฒ ๋ ๋๋ง๋๋ ๊ฒฝ์ฐ Edge์์๋ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํด ์ฃผ์ธ์(์ค์ > ๋์๋ง ๋ฐ ํผ๋๋ฐฑ > ํผ๋๋ฐฑ ๋ณด๋ด๊ธฐ) ๐
WinUI๊ฐ C++๋ก ์์ฑ๋์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง WinUI ์ฝ๋์๋ Windows ์ ์ฉ VC++/CX ํ์ฅ์ด ํ์ํฉ๋๊น? CX ํ์ฅ์ด ํ์ํ ๊ฒฝ์ฐ ์ด์์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
@zezba9000 ์ฐ๋ฆฌ๋ ํ์ค C++17์ธ C++/WinRT๋ฅผ ์ฌ์ฉํ์ฌ WinUI 2 ์ปจํธ๋กค ๋ฐ ๊ธฐ๋ฅ(ํ์ฌ ์ ์ฅ์์ ์๋ ์ ์ฝ๋)์ ๊ตฌํํ์ง๋ง ๋๋จธ์ง WinUI 3์ ํ์ฌ ์ฌ์ ํ ์์กดํ ํจ์ฌ ๋ ํฌ๊ณ ์ค๋๋ ์ฝ๋๋ฒ ์ด์ค์ ๋๋ค. WRL ๋ฑ์์. ์ฐ๋ฆฌ๋ ํ์ฌ ์ด์์ฑ์ ์ด์ ์ ๋ง์ถ์ง ์๊ณ ์์ง๋ง ๋ฏธ๋์ ์ด์ ๋ํด ๋ ผ์ํ ์ค๋น๊ฐ ๋์ด ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ๋์ค์ Vulkan ๋ฐฑ์๋๋ฅผ ์ง์ํ ์ ์๋๋ก "๋น์ฃผ์ผ ๋ ์ด์ด" ์ถ์ํ API๊ฐ DirectX API์์ ์ถฉ๋ถํ ๋ฉ๋ฆฌ ์ ๊ฑฐ๋์์ต๋๊น? (์ถ์ฒ๊ฐ ๊ณต๊ฐ๋๋ฉด ์ด ์ง๋ฌธ์ ๋ํ ๋ต์ ์ป์ ์ ์์ ๊ฑฐ๋ผ ํ์ ํ์ง๋ง ๊ถ๊ธํฉ๋๋ค.)
์ฐ๋ฆฌ๋ ํ์ฌ ์๊ฐ ๊ณ์ธต์ ๋ํ ์ด์์ฑ์ ์ด์ ์ ๋ง์ถ์ง ์๊ณ ์์ต๋๋ค. Visual ๊ณ์ธต๊ณผ DirectX API(๊ตฌํ ์ ์ธ) ์ฌ์ด์ ์ฝ๊ฐ์ ๋์จํ ๊ฒฐํฉ์ด ์์ง๋ง ๋๋ถ๋ถ ์ถ์ํ๋์ด ์์ต๋๋ค. ๋ํ ์คํ ์์ค์ ๋ํด ๋ช ํํ ํ๊ธฐ ์ํด: ์คํ ์์ฑ ์ฝ๋ ๋ฐ ์ผ์์ ์ธ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋ํ ์ด๊ธฐ ๋ชฉํ๋ Xaml ํ๋ ์์ํฌ์ด๋ฉฐ, ํ์ฌ๋ก์๋ ๊ณต๊ฐ ์์ฑ ์๊ฐ์ ๊ณ์ธต์ ํฌํจํ์ง ์์ต๋๋ค.
์ํํธ์จ์ด ๋์คํฐํ์ ๋ํ ๋ด ์ง๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ด์์ต๋๋ค. WinUI 3.0์ ์ ์ฒด ์ํํธ์จ์ด ๋ ๋๋ง(๋จ์ํ ํ ์คํธ ๋ ๋๋ง ๋๋ ๊ธฐํ ๊ธฐ๋ฅ์ด ์๋)์ ์ง์ํฉ๋๊น? ๋๋ก๋ ํ๋ฉด ๊ณต์ ์ํํธ์จ์ด์ GPU ๊ฐ์ ์ฑ(์ต์ํ D3D9/WPF ์ฌ์ฉ)์ ๋ฌธ์ ๊ฐ ์๊ณ ์ํํธ์จ์ด ๋ ๋๋ง์ ๊ฐ์ ์คํํ๋ฉด ์ด๋ฌํ ์ํฉ์์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ๋๋ ์ฑ์ด ํ๋์จ์ด GPU๊ฐ ์๋ VM์์ ์คํ๋๋ ๊ฒฝ์ฐ.
์, ํ๋ฉด ๊ณต์ ๋ฅผ ํตํ ๋ ๋๋ง, VM ๋ฑ์์ ๋ชจ๋ ์๋ํด์ผ ํฉ๋๋ค. ๋๋ถ๋ถ์ ์ฝํ ์ธ ์๋ ๋์ ๋๋ ์ฐจ์ด๊ฐ ์์ด์ผ ํฉ๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ์์ WinUI 2 ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด ํน์ ํจ๊ณผ๊ฐ ๋ฐํ์์ ์ง์/"๋น ๋ฅธ"์ง ์ฌ๋ถ๋ฅผ ์ฟผ๋ฆฌํ๊ณ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ํน์ ํจ๊ณผ์ ๋ ๊ฐ๋จํ ๋ ๋๋ง์ผ๋ก ๋์ฒดํ๋ ๋ฐ ์ฌ์ฉํ๋ API ์ฌ์ฉ์ ๋ณผ ์๋ ์์ง๋ง ์ฑ์ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ ํ๋ซํผ ์ปจํธ๋กค ๋ฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋ ์ํํธ์จ์ด ๋ ๋๋ง์ ์ง์ํ๊ธฐ ์ํด ํน๋ณํ ์์ ์ ์ํํ ํ์๊ฐ ์์ต๋๋ค.
์ฌ๊ธฐ์ ์ ์ ์ผ๋ก ๋์ํฉ๋๋ค. ํ์ง๋ง ๋น์ ์ ๊ธฐ๋ฅ๊ณผ ๋ฒ๊ทธ์ ์ฐจ์ด๋ฅผ ์ดํดํด์ผํฉ๋๋ค. Microsoft์ ๋ฆฌ์์ค/์ธ๋ ฅ ์ธก๋ฉด์์๋ง ์๊ฐํ๊ณ ๊ณ์ ๊ฒ ๊ฐ์ ๊ฑฑ์ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฑ ๊ฐ๋ฐ์๊ฐ ์ปจํธ๋กค์ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ง์ ์๊ฐ์ ๋ญ๋นํ๋ค๊ณ ์๊ฐํ ์ ์ด ์์ต๋๊น? ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์์ค์์ ์์ ํ๋ ๊ฒ์ด ํจ์ฌ ๋ ํจ์จ์ ์ด๋ฉฐ ํ๋ซํผ/๋๊ตฌ์ ๋ํ ์ธ์์๋ ์ค์ ๋ก ๋์์ด ๋ฉ๋๋ค.
100% ๋์ - UWP/WinRT์ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋ช ์๊ฐ์ ์๋นํ๋์ง ๊ธฐ์ตํ๊ณ ์ถ์ง๋ ์์ต๋๋ค.
์ ์,
์ ๋ ์ฃผ๋ก ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๊ด์ฌ์ด ์์ต๋๋ค. ์ ๋ ํ์ฌ WinUI 3.0 Alpha๋ฅผ ์ฌ์ฉํ์ฌ Xaml, GPRC, ๋ค์ค ์ฐฝ ๋ฐ ์ง์ ํ ๋ค์ค ์ค๋ ๋ฉ์ด ๋น์ฆ๋์ค ๋ฐ ๋น์ฆ๋์ค ์ฌ์ฉ์์๊ฒ ๋ณด๋ค ์์ฐ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ๊ฐ๋ ์ฆ๋ช ์ ๊ตฌ์ถํ๊ณ ์์ต๋๋ค.
์์? ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ/์์ ํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๋์์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ ์ฃผ์ ์ ๋ํด ๋ ํ ๋ง์ด ๋ง์ง๋ง ์ฌ๊ธฐ์์ KISS๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค.
WinUI ํ๊ณผ ์ค์ ๋ก Microsoft์์ ๋ฐ๋ผ๋ ๊ฒ์ ๋น์ฆ๋์ค์ฉ ๋ฐ์คํฌํฑ ์ฑ ๊ตฌ์ถ์ ์์ฉํ๊ณ ์ง์ํ๋ ๊ฒ์ ๋๋ค.
์น ์ฑ์ด ๊ธฐ์ ์์ ๋น ๋ฅด๊ฒ ์ฑํ๋ ์ธ ๊ฐ์ง ์ฃผ์ ์ด์ ๊ฐ ์์ต๋๋ค. ํ๋ซํผ ๊ฐ ์ง์, ๋ณด์ ๋ฐ ๋ฐฐํฌ ์ฉ์ด์ฑ ์คํ ๊ฐ๋ฅํ ๋์์ด ๋๊ธฐ ์ํด์๋ ๋ฐ์คํฌํฑ ์ฑ์ด ์ด๋ฌํ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ด ํ์ํฉ๋๋ค.
๋๋ถ๋ถ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ฐ์ ์ ๋ธ๋ผ์ฐ์ ๋ฐ/๋๋ ๋ชจ๋ฐ์ผ/ํ๋ธ๋ฆฟ ํผ ํฉํฐ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณต์ ์ค์ ์ ๋๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ์ "๋ชจ๋ฐ์ผ ์ฐ์ " ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋น๊ตํ ๋ CPU, ํ๋ฉด ํฌ๊ธฐ, ๋ฉ๋ชจ๋ฆฌ, ์คํ ๋ฆฌ์ง, ๊ทธ๋ํฝ ๋ฐ ๋์ญํญ์ด ๋ง์ ์ํฌ์คํ ์ด์ ์์ ์คํ๋ฉ๋๋ค. ์ด๋ฌํ LOB ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์๋ ํ ๋ฒ์ ๋ช ์๊ฐ์ฉ ์ฐธ์ฌํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์์๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ฑ ๋์์ธ ์ง์นจ์ด ํ์ํฉ๋๋ค.
์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ์๋ ๋ง์ ๋ ผ์๊ฐ ์ด๋ฃจ์ด์ง์ง ์๋ ๋ค๋ฅธ ์ฐจ์์ธ ์๋ช ๊ณผ ๊ธฐ์ ์ด ์์ต๋๋ค. ์ฌ๊ธฐ์์๋ ํ ๋ง์ด ๋ง์ง๋ง ์์ฝํ๊ฒ ์ต๋๋ค. ๊ธฐ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ๋์ ํฌ์ํ๊ณ ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ์ "์ค๋" ์ฌ์ฉํ ๊ณํ์ ๋๋ค. ์ด๋ ๊ธฐ๋ณธ ๊ธฐ์ ์ด ์์ญ ๋ ๋์ ์ง์๋์ด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. WinUI๊ฐ Win32/MFC ๋ฐ WinForms๋ฅผ ๋์ฒดํ ์ฐจ์ธ๋ ๊ธฐ์ ์ด ๋์์ผ๋ฉด ํฉ๋๋ค.
IT ๋ถ์๋ ์ ์ ํ ๊ธฐ์ ์ ๊ฐ์ถ SE๋ฅผ ์ฐพ๋ ๋ฐ ๋์์์ด ์ด๋ ค์์ ๊ฒช๊ณ ์์ต๋๋ค. ์น ๊ธฐ์ ์ ์ด๊ฒ์ ๋์ฑ ์ด๋ ต๊ฒ ๋ง๋ค์์ต๋๋ค. ๋ฐ์คํฌํฑ ์ฑ ๊ตฌ์ถ์ ์ค์ ์ ๋ ์๋ก์ด ์คํ C#, Xaml ๋ฐ SQL(C#XS)์ ๋ณด๊ณ ์ถ์ต๋๋ค.
์คํ์ผ๋ง๊ณผ ๊ด๋ จํ์ฌ ํ๊ณ ์ถ์ ์์ํ ํฌ์ธํธ๋ ์๋ค. WinUI ์ํฐํ๋ผ์ด์ฆ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์๋ํ๋ ค๋ฉด "์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ" ์ต์ํ์ ์คํ์ผ์ด ํ์ํฉ๋๋ค. ๋ํ ์ด๊ฒ์ Fluent์์ ์ง์ ์ง์๋ โโ์ ์์ง๋ง ์ปจํธ๋กค(์คํฌ๋กค ๋ง๋์ ๊ฐ์)์ ์จ๊ธฐ์ง ๋ง์ญ์์ค. ๋น์ฆ๋์ค ์ฌ์ฉ์๋ ํ๋ฉด์ ์ค์ ์ํ๊ฐ ์ถฉ๋ถํ๊ณ ํ์ด์ง์ ๋ ๋ง์ ๊ฒ์ด ์๋ค๋ ๊ฒ์ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ UI๊ฐ ์ผ๋ง๋ "๋ฉ์ง"์ง๋ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค.
๊ฐ๋ ฅํ(๋ฌด๋ฃ) ๋ฐ์ดํฐ ๊ทธ๋ฆฌ๋ ์ ์ด๊ฐ ํ์ํฉ๋๋ค. ์ถฉ๋ถํ ๊ฐ์กฐํ ์ ์์ต๋๋ค.
๊ด์ฌ์ด ์์ผ์๋ฉด ๊ณต์ ํ ์์ด๋์ด๊ฐ ๋ ์์ง๋ง ์ฌ๊ธฐ์์ ๋ฉ์ถ๊ณ ์์ฝํ๊ฒ ์ต๋๋ค.
โข Microsoft๋ ํฌ๊ด์ ์ธ ๋ฐ์คํฌํฑ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ์๋ฃจ์
์ ์ ๊ณตํด์ผ ํฉ๋๋ค.
โข WinUI/Fluent๋ ๊ธฐ๋ฅ/์์, ๋ฐ์คํฌํฑ์ฉ UX, ๋ค์ค ์ฐฝ์ ๋ณด์ฌ์ฃผ๋ ์ฝ๋ ์ํ/ํ๋ก์ ํธ ํ
ํ๋ฆฟ, ์ง์ ํ ๋ฉํฐ ์ค๋ ๋ฉ, ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ, "์์๊ณผ ์ ์ฌํ" ํ์ด์ง์ ๊ฐ์ ๋น์ฆ๋์ค ์ฌ์ฉ์์ ์๊ตฌ ์ฌํญ์ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
โข Microsoft๋ ์์ฐ์ฑ์ด ๋๊ณ ์๋ช
์ด ๊ธด ๋น์ฆ๋์ค LOB ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํ๊ธฐ ์ํด WinUI๋ฅผ ์ ๊ณตํ๊ณ ์์์ ๋ถ๋ช
ํ ํด์ผ ํฉ๋๋ค. ๋ํ .Net 5 + WinUI๊ฐ ๋ ๋ค๋ฅธ DLL ์ง์ฅ์ด ์๋ ์ด์ .
โข WinUI๊ฐ Win32/MFC ๋ฐ WinForms๋ฅผ ๋์ฒดํ๋ค๋ ์ ์ ๋ถ๋ช
ํ ํ์ญ์์ค.
โข C#XS๋ฅผ IT๋ฅผ ์ํ ๊ธฐ์ ์ธํธ๋ก ํธ์ํฉ๋๋ค.
โข (๋ฌด๋ฃ) ๋ฐ์ดํฐ ๊ทธ๋ฆฌ๋
๋์์ด ๋์ จ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@roblo ํธํ ์ฌ์ธ์ - ํ ๋ก ์ด ํ์ ์์ต๋๋ค! ๐ ๋๋ ์ด๊ธฐ ์ฝ๋ฉํธ์์ ์ด ์ค๋ฅ๋ฅผ ์์ ํ๊ธฐ๋ก ์ฝ์ํ์ผ๋ฉฐ ์ฌ์ ํ ์ ํจํฉ๋๋ค. ์ ๋ ๊ณ์ ์ผ๋ฐํ๋ฅผ ํด์ ๋ ์ผ์ฐ ์ค์๋ฅผ ํ ๊ฒ ๊ฐ์์. ๋น์ ์ด ๋์ดํ ๋ฒ๊ทธ์ ๋ํด ์ด์ผ๊ธฐํฉ์๋ค. ์ฐ๋ฆฌ์ ์ฃผ์ ํด๊ฐ ์ง์ ์ ๋ ๊ฑด์ด ์ ์๋์๊ณ ( @teaP์ ๋ํด์๋ ๋งํ ์ ์์ง๋ง 12์ ๋๋ถ๋ถ์ ์คํ๋ผ์ธ ์ํ์์ต๋๋ค) ์์ง๋์ด๋ง ์ธก๋ฉด์์ ๊ด๋ฆฌ ๋ณ๊ฒฝ์ ๊ฑฐ์ณค์ต๋๋ค(@ranjeshj ์ถํํฉ๋๋ค!). ๋ณ๋ช ์ ์ฌ์ง๊ฐ ์์ผ๋ฉฐ ์ด๋ฌํ ๋ณ๊ฒฝ ๋ฐ ๋ถ์ฌ ๊ธฐ๊ฐ ๋์ ์ด ๋ ๊ฐ์ง ๋ฒ๊ทธ์ ๋ํด ๋ณด๋ค ์ ์ํ๊ฒ ์ฒ๋ฆฌํ์ง ๋ชปํ ์ ์ ๋ํด ์ฌ๊ณผ๋๋ฆฝ๋๋ค. ์ฌ๊ธฐ์ ๋์ด๋ ๋ค๋ฅธ ์ฌ๋๋ค์ ๋ชจ๋ ์ง๋ 10์ผ ์ด๋ด์ ์ ์ถ๋์์ต๋๋ค.
ํนํ NumberBox๊ฐ ๋ฒ์ธ์ด๊ณ ์ด๋ฌํ ๊ฒ๋ค์ด ์์ฌ๊ฐ๊ณ ์๋ค๋ ์ ์ ์ง์ ํ๋ ๊ฒ์ ์ฐ๋ฆฌ์ ์๊ฐ์ ์ ๋ต์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐ ๋์์ด ๋๋ฏ๋ก ์ด๋ฅผ ๋ณผ ์ ์๋๋ก ๋์์ฃผ์ ์ ๊ฐ์ฌ ํฉ๋๋ค . ๋ค์ ์ฃผ ์ด์ NumberBox ๊ฐ๋ฐ์ @teaP ๋ฐ (์๋ก ๋ช ๋ช ๋) ์์ง๋์ด๋ง ๊ด๋ฆฌ์ @ranjesh ์ ํจ๊ป ๋ฐ์ด๋ NumberBox ๋ฒ๊ทธ ๋ชฉ๋ก์ ๊ฒํ ํ์ฌ ์ต๋ํ ๋นจ๋ฆฌ ์ผ๊ด์ ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ์๊ฐ์ ์์ฝํ์ต๋๋ค.
@SavoySchuler ๊ฐ์ฌํฉ๋๋ค!
@SavoySchuler , ๋ค์ ์ค์์ ์ ํํ๊ธฐ ์ด๋ ค์ด ์์น์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
a) WinUI 2.x ๋ฒ๊ทธ ์์ ๋ฐ WinUI 3.0 ์ถ์ ์ฐ๊ธฐ
๋๋
b) WinUI 2.x๋ฅผ ์ปค๋ฎค๋ํฐ์ ๋จ๊ฒจ๋๊ณ WinUI 3.0์ ๋ด๋ถ ๋ฆฌ์์ค๋ฅผ ํ ๋นํ์ฌ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฆด๋ฆฌ์ค ๋ ์ง๋ฅผ ๋ฌ์ฑํฉ๋๋ค.
๋ง์ ๊ธฐ์กด WinUI 2.x ์ฌ์ฉ์๊ฐ ํ์ฌ ์ํฅ์ ๋ฐ๊ณ ์๋ ๋ฒ๊ทธ๋ฅผ ๋จผ์ ์์ ํ๊ธฐ๋ฅผ ์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ถฉ๋ถํ ๋ฆฌ์์ค( WinUI 3.0์ด 2.x์ ๋ํ ์ถ๊ฐ ์์ ์ฌํญ์ ์ ๊ณตํ๋ค๊ณ ๊ฐ์ ).
๊ฐ์ธ์ ์ผ๋ก ์ ๋ WinUI 3.0 ๋ฆด๋ฆฌ์ค๊ฐ ์ง์ฐ๋๋ ๊ฒ์ ์ํ์ง ์์ผ๋ฉฐ ์ปค๋ฎค๋ํฐ๊ฐ WinUI 2.x(๊ฒฐ๊ตญ ์คํ ์์ค์)์์ ์ค์ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ฐธ์ฌํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ค ์ฌ๋๋ค์ ๊ทธ๊ฒ์ด ๋ง์ดํฌ๋ก์ํํธ์ ํ๋ก์ ํธ์ด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ์ผ์ ํด์ผ ํ๋ค๋ ๊ธฐ๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ถํํ๋ ๊ทธ๊ฒ์ ํ์ค์ ์ด์ง ์์ผ๋ฉฐ ๋ค๋ฅธ ์คํ ์์ค ํ๋ก์ ํธ๊ฐ ์๋ํ๋ ๋ฐฉ์๋ ์๋๋๋ค.
@jesbis , WinUI 3.0๊ณผ ๊ด๋ จํ์ฌ Visual Layer์ ๋ํด ํฅ๋ฏธ๋กญ๊ฒ ๋ฃ์ต๋๋ค. ์ด๊ธฐ ๋ฆด๋ฆฌ์ค์ ๊ฒฝ์ฐ WinUI 3.0์ด Windows.UI.Composition
ํด๋์ค์ ์ข
์๋๋ค๋ ๋ง์์ด์ ๊ฐ์? WinUI 3.0์ผ๋ก ์ถ์ถํ๊ธฐ ์ ์ Visual Layer๋ฅผ ์ง์ํ๊ธฐ ์ํด OS์ ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น?
์ฐธ๊ณ ๋ก ์ ๊ฐ ๊ด์ฌ ์๋ ๋ถ์ผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Windows|Microsoft.UI.Composition
)@infoequipt ์์ธํ ์ ๋ณด ๊ฐ์ฌํฉ๋๋ค! ํ์คํ ๋์์ด๋ฉ๋๋ค. ๊ฐ์์ฑ์ ์ํ @marb2000
WinUI 3.0๊ณผ ๊ด๋ จํ์ฌ Visual Layer์ ๋ํด ๋ฃ๋ ๊ฒ์ ํฅ๋ฏธ๋กญ์ต๋๋ค. ์ด๊ธฐ ๋ฆด๋ฆฌ์ค์ ๊ฒฝ์ฐ WinUI 3.0์ด Windows.UI.Composition ํด๋์ค์ ์ข ์๋๋ค๋ ๋ง์์ด์ ๊ฐ์?
@MarkIngramUK ์๋์, ํผ๋์ ๋๋ ค ์ฃ์กํฉ๋๋ค. ์ด์ ์์ ์ ์คํ ์์ฑ์ ๊ดํ ๊ฒ์ด์์ต๋๋ค.
Microsoft.UI.Composition์ WinUI 3์ ์ผ๋ถ๊ฐ ๋๋ฉฐ Microsoft.UI.Xaml์ ์ด์ ์ข ์๋ฉ๋๋ค. ๊ทธ๊ฒ์ ์ด๋ฏธ WinUI 3 Alpha์ ๊ฒฝ์ฐ์ ๋๋ค.
์ฐ๋ฆฌ๋ Xaml์ ์คํ ์์ฑํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์ฆ, Xaml ํ๋ ์์ํฌ ์ฝ๋๊ฐ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๊ณ ์์ง๋์ด๋ง ํ์ด ์์ผ๋ก GitHub์ Xaml์ ๋ํด ํ๋ฃจ ์ข ์ผ ์์ ์ ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ Xaml์ด ์์กดํ๋ Microsoft.UI.Composition ํจํค์ง๋ ์ฌ์ ํ ๋ด๋ถ์ ์ผ๋ก ๊ฐ๋ฐ๋๊ณ ๋ฐ์ด๋๋ฆฌ ํ์์ผ๋ก๋ง ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
@jebis ์ ๋ํ ์ค๋ช ๊ฐ์ฌํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ด๋ค ๋ฐฐํฌ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๊ฒ์ ๋๊น? ์ฐ๋ฆฌ๋ ํ๋ซํผ ๊ฐ ์ฑ์ด๋ฏ๋ก CMake๋ฅผ ์ฌ์ฉํ๊ณ Windows.UI.Composition์ ์ข ์๋์ด ์์ผ๋ฏ๋ก ์ dll, lib, ํค๋ ๋ฑ์ ์ฝ๊ฒ ๊ฐ์ ธ์ฌ ์ ์๋ ๋ฐฉ๋ฒ์ ์ํฉ๋๋ค.
OS์์ Visual Layer๋ฅผ ์ถ์ถํ ๋ ์ฑ๋ฅ์ ์ํฅ์ด ์์ต๋๊น? ์ฆ, Visual Layer์๋ง ์์กดํ๋ค๋ฉด ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ ๋ฐ์ดํธํ ๋ ๋จ์ ์ด ์์ต๋๊น?
๊ถ๊ทน์ ์ผ๋ก Microsoft.UI.Composition์ ๊ณต๊ฐํ ๊ณํ์ด ์์ต๋๊น?
@MarkIngramUK ๋๋ ๋น์ ์ด ๋งํ๋ ๊ฒ๊ณผ @SavoySchuler ๊ฐ 'ํฐ ๊ทธ๋ฆผ' ๊ด์ ์์ ๋งํ๋ ๊ฒ์ ๋์ฒด๋ก ๋์ํฉ๋๋ค. ๋น์ ์ด ์ง์ ํ๋ฏ์ด, ์ฐ๋ฆฌ๋ ํ์ฌ ํ๋ก๋์ ์ฑ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ WinUI 2.0 ์ฌ์ฉ์๊ฐ ๋ฒ๊ทธ๋ฅผ ๋ฐ์๋ค์ด๊ธฐ๊ฐ ๋ ์ด๋ ต์ต๋๋ค. WinUI 3.0์ ์ง์ฐ์ํค์ง ์๋ ๋ช ๊ฐ์ง ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๊ฒ๊ณผ WinUI 3.0์ ์ ์ ์ํ๋ก ์ ์งํ๋ ๊ฒ ์ฌ์ด์์ ํํ์ ์ ์ฐพ์์ผ ํฉ๋๋ค. NumberBox๊ฐ ์ฆ์ ๋ฌด์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์์ ํ ์๋ก์ด ์ปจํธ๋กค์ด๋ผ๋ ์ถ๊ฐ์ ์ธ ์ข์ ๊ฐ์ด ์์์ต๋๋ค. Microsoft๊ฐ 1๋ ์ด์ ์ด๋ฅผ ๋ค์ ์ฌ์ฉํ์ง ์์ ๊ฒ์ด๋ผ๋ ์๊ฒฌ๋ ์์์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ , ๋๋ WinUI 3.0์ด ์ฐ์ ์์๋ผ๋ ๋ฐ ํ์คํ ๋์ํ๋ฉฐ, ๊ทธ๊ฒ์ด ์๋นํ ์ฉ๋์ผ๋ก ์ง์ฐ๋๋ ๊ฒ์ ์ํ์ง ์์ ๊ฒ์ ๋๋ค.
์ ๋ Microsoft๊ฐ ์ฌ๊ธฐ์์ ํ๊ณ ์๋ ๋ชจ๋ ์์ ๊ณผ ๋ ํฌ๋ช ํ๊ณ ๋ฐฉํฅ์ ๋ํด ์์ฌ ์ํตํ๊ธฐ ์ํ ๋ ธ๋ ฅ์ ๊ฐ์ฌํ๋ค๊ณ ๋งํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
์ด๋ฅผ ์ํด ์ด๋ค ๋ฐฐํฌ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๊ฒ์ ๋๊น? ์ฐ๋ฆฌ๋ ํ๋ซํผ ๊ฐ ์ฑ์ด๋ฏ๋ก CMake๋ฅผ ์ฌ์ฉํ๊ณ Windows.UI.Composition์ ์ข ์๋์ด ์์ผ๋ฏ๋ก ์ dll, lib, ํค๋ ๋ฑ์ ์ฝ๊ฒ ๊ฐ์ ธ์ฌ ์ ์๋ ๋ฐฉ๋ฒ์ ์ํฉ๋๋ค.
@MarkIngramUK ๊ฐ NuGet ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ฉด ํจ๊ณผ๊ฐ ์์ต๋๊น? ์ฆ, ์ฐ๋ฆฌ๊ฐ WinUI 2.x ๋ฐ WinUI 3 Alpha๋ก ๋ฌด์์ ํ๊ณ ์๋์ง์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ Visual Studio ํ๊ณผ ์ผ๋ถ ๋ฐฐํฌ ์ธ๋ถ ์ฌํญ์ ์์ ์ค์ ๋๋ค. ํ์ฌ WinUI 3 Alpha๋ 1๊ฐ์ ํจํค์ง์ Xaml ๋ฐ Composition ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ชจ๋ ํฌํจํ์ง๋ง ์คํ ์์ค Xaml์ ์ง์ํ๊ณ Xaml์ ๋ณ๋๋ก ๋น๋ํ ์ ์๋๋ก ๋ถ๋ฆฌํ ๊ฒ์ ๋๋ค.
OS์์ Visual Layer๋ฅผ ์ถ์ถํ ๋ ์ฑ๋ฅ์ ์ํฅ์ด ์์ต๋๊น? ์ฆ, Visual Layer์๋ง ์์กดํ๋ค๋ฉด ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ ๋ฐ์ดํธํ ๋ ๋จ์ ์ด ์์ต๋๊น?
๊ณ์ ์ง์ผ๋ด ์ฃผ์ธ์ ๐ ์ฑ๋ฅ ๋ฒค์น๋งํน ๋ฐ ์์ ์ ์ฌํด ํ๋ฐ์ ๋ํ ๋ก๋๋งต์ ์์ผ๋ฏ๋ก ์ซ์๋ฅผ ๊ฐ๊ธฐ์๋ ๋๋ฌด ์ด๋ฆ ๋๋ค.
๊ถ๊ทน์ ์ผ๋ก Microsoft.UI.Composition์ ๊ณต๊ฐํ ๊ณํ์ด ์์ต๋๊น?
์ ์ฌ์ ์ผ๋ก ๊ณ ๋ คํ ๋ฐฑ๋ก๊ทธ์ ์์ง๋ง ๊ณํ์ด ์์ต๋๋ค.
@MarkIngramUK ์ง๋ฌธํ ์ ์๋ค๋ฉด: ์คํ ์์ค๋ฅผ ํตํด ์ป์ ์ ์๋ ์ด์ ์ ๋ฌด์์ ๋๊น?
๊ตฌ์ฑ ๋ฐ ๋ ๋๋ง ์ฝ๋๋ ๋ค์ ๋ํดํ ์ ์์ผ๋ฏ๋ก ์ฌ๋๋ค์ด ์ค์ ๋ก ๊ธฐ์ฌํ๊ฑฐ๋ ์ฐธ์กฐ๋ก ์ฌ์ฉํ๋ ๋ฐ ๊ด์ฌ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค.
ํ์ฌ ํ๋ก๋์ ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ WinUI 2.0 ์ฌ์ฉ์๊ฐ ๋ฒ๊ทธ๋ฅผ ๋ฐ์๋ค์ด๋ ๊ฒ์ด ๋ ์ด๋ ต์ต๋๋ค. WinUI 3.0์ ์ง์ฐ์ํค์ง ์๋ ๋ช ๊ฐ์ง ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๊ฒ๊ณผ WinUI 3.0์ ์ ์ ์ํ๋ก ์ ์งํ๋ ๊ฒ ์ฌ์ด์์ ํํ์ ์ ์ฐพ์์ผ ํฉ๋๋ค. NumberBox๊ฐ ์ฆ์ ๋ฌด์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์์ ํ ์๋ก์ด ์ปจํธ๋กค์ด๋ผ๋ ์ถ๊ฐ์ ์ธ ์ข์ ๊ฐ์ด ์์์ต๋๋ค. Microsoft๊ฐ 1๋ ์ด์ ์ด๋ฅผ ๋ค์ ์ฌ์ฉํ์ง ์์ ๊ฒ์ด๋ผ๋ ์๊ฒฌ๋ ์์์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ , ๋๋ WinUI 3.0์ด ์ฐ์ ์์๋ผ๋ ๋ฐ ํ์คํ ๋์ํ๋ฉฐ, ๊ทธ๊ฒ์ด ์๋นํ ์ฉ๋์ผ๋ก ์ง์ฐ๋๋ ๊ฒ์ ์ํ์ง ์์ ๊ฒ์ ๋๋ค.
์ ๋ Microsoft๊ฐ ์ฌ๊ธฐ์์ ํ๊ณ ์๋ ๋ชจ๋ ์์ ๊ณผ ๋ ํฌ๋ช ํ๊ณ ๋ฐฉํฅ์ ๋ํด ์์ฌ ์ํตํ๊ธฐ ์ํ ๋ ธ๋ ฅ์ ๊ฐ์ฌํ๋ค๊ณ ๋งํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
@roblo ๊ฐ์ฌํฉ๋๋ค! ์ฐ๋ฆฌ๋ ์ ๋ง๋ก ํฌ๋ช ํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ผ๋ฉฐ ๊ทธ๊ฒ์ด ๊ฐ์น ์๋ค๋ ๊ฒ์ ์๋ ๊ฒ์ด ์ข์ต๋๋ค ๐
Savoy๊ฐ ์ธ๊ธํ ๊ฒ์ ๋ฐ๋ณตํ๊ธฐ ์ํด WinUI 2.x์์ ์์ ํ๋ ๊ฐ๋ฐ์๊ฐ ์์ผ๋ฏ๋ก(PR ๋ก๊ทธ์์๋ ๋ณผ ์ ์์) ์ฐ๋ฆฌ๋ ์ฌ์ ํ WinUI 2์ 3 ๋ชจ๋์ ๋ณ๋ ฌ๋ก ํฌ์ํ๊ณ ์์ต๋๋ค. ๋ฆฌ์์ค๋ WinUI 3์ ์์ต๋๋ค. ์ ๋ ํนํ ์ฝ๊ฐ์ ์ฃผ์๊ฐ ํ์ํ NumberBox์ ๋ํด ๋์ํ๋ฉฐ Xaml ์ปจํธ๋กค ๊ฐ๋ฐ ๋ฆฌ๋๊ฐ ์ง๊ธ ์กฐ์ฌํ๊ณ ์์ต๋๋ค.
@roblo ๋น์ ์ ์ต๊ณ ์ ๋๋ค! ๐ ๋ค์ ํ ๋ฒ ํผ๋์ ๋๋ ค ์ฃ์กํฉ๋๋ค. ์ธ๊ธ๋ ~1๋ ์ง์ฐ์ ๋์์ 3.0์ผ๋ก ์์ ๋ ์ ์ฒด ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ ์์ ์์ ์ฐจ๋จ๋์๊ธฐ ๋๋ฌธ์ NumberBox์ ์ถ๊ฐ ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ ๋ชจ๋ ๋ฟ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด @teaP , @ranjeshj , ๊ทธ๋ฆฌ๊ณ ์ ๋ ๋ค์ ์ฃผ๋ถํฐ NumberBox ๋ฒ๊ทธ ๋ชฉ๋ก์ ์ฌ๋ผ๊ฐ๋๋ค. ๐
@jebis ๊ฐ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ๋ค๋ฃจ์๋ค๊ณ ์๊ฐํฉ๋๋ค!
@์ ์ค๋น์ค ,
@MarkIngramUK ๊ฐ NuGet ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ฉด ํจ๊ณผ๊ฐ ์์ต๋๊น? ์ฆ, ์ฐ๋ฆฌ๊ฐ WinUI 2.x ๋ฐ WinUI 3 Alpha๋ก ๋ฌด์์ ํ๊ณ ์๋์ง์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ Visual Studio ํ๊ณผ ์ผ๋ถ ๋ฐฐํฌ ์ธ๋ถ ์ฌํญ์ ์์ ์ค์ ๋๋ค. ํ์ฌ WinUI 3 Alpha๋ 1๊ฐ์ ํจํค์ง์ Xaml ๋ฐ Composition ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ชจ๋ ํฌํจํ์ง๋ง ์คํ ์์ค Xaml์ ์ง์ํ๊ณ Xaml์ ๋ณ๋๋ก ๋น๋ํ ์ ์๋๋ก ๋ถ๋ฆฌํ ๊ฒ์ ๋๋ค.
์์งํ ๋งํด์, ์ ๋ NuGet์ ์ต์ํ์ง ์์ง๋ง ์ด SO ๋ต๋ณ ์ ๋ณด๋ฉด CMake๋ฅผ ์ฌ์ฉํ์ฌ VS ํ๋ก์ ํธ ํ์ผ์ ์์ฑํ๋ ๊ฒฝ์ฐ์๋ง ์๋ํ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์๋ํ๋ ๋ฐฉ์์ด ์๋๋๋ค(์ผ๋ฐ์ ์ผ๋ก ํด๋ ์ด๊ธฐ , ์์ฑ๊ธฐ๋ก Ninja๋ฅผ ์ฌ์ฉํจ). vcpkg ๋ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค๋ ๊ฒ์ ์ ๊ฐ์ ๋๋ค. ์ฐธ๊ณ ๋ก ์ฐ๋ฆฌ๋ ์์ค์์ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋น๋ํฉ๋๋ค(ํนํ Windows์์๋ Clang/LLVM์ผ๋ก ๋น๋ํ๋ ๊ฒฝ์ฐ ์ ์ฌ์ ์ธ ABI ๋ฌธ์ ๋ฅผ ํผํ ์ ์์).
๊ถ๊ทน์ ์ผ๋ก Microsoft.UI.Composition์ ๊ณต๊ฐํ ๊ณํ์ด ์์ต๋๊น?
์ ์ฌ์ ์ผ๋ก ๊ณ ๋ คํ ๋ฐฑ๋ก๊ทธ์ ์์ง๋ง ๊ณํ์ด ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ๊ด์ฌ์ด ์์ผ๋ฏ๋ก, ๊ทธ๋ฐ ์ผ์ด ๋ฐ์ํ๋ฉด ํ ๋ก ์ ์ฐธ์ฌํ๊ณ ์ถ์ต๋๋ค.
@MarkIngramUK ์ง๋ฌธํ ์ ์๋ค๋ฉด: ์คํ ์์ค๋ฅผ ํตํด ์ป์ ์ ์๋ ์ด์ ์ ๋ฌด์์ ๋๊น?
๊ตฌ์ฑ ๋ฐ ๋ ๋๋ง ์ฝ๋๋ ๋ค์ ๋ํดํ ์ ์์ผ๋ฏ๋ก ์ฌ๋๋ค์ด ์ค์ ๋ก ๊ธฐ์ฌํ๊ฑฐ๋ ์ฐธ์กฐ๋ก ์ฌ์ฉํ๋ ๋ฐ ๊ด์ฌ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค.
์ด๊ธฐ ์๊ฐ์ ๊ธฐ์ฌ/ํ์ฅ๋๊ณ ์์ต๋๋ค(์ด์ ์ ์ธ๊ธํ๋ฏ์ด Xaml Framework/UWP๊ฐ ์๋ Windows.UI.Composition์ ๋ํ ์ข ์์ฑ์ด ์์). ํ๋ซํผ์ ํฅ๋ฏธ๋ก์ธ ์ ์์ง๋ง ์ ๋ ๋ง ๊ทธ๋๋ก 30์ด ๋์๋ง ๊ณ ๋ คํ์ต๋๋ค. ๋ํ ์คํ ์์ฑ์ ๋ช ๋ ์์ Microsoft์์ ๊ฒฐ๊ตญ ํฌ๊ธฐํ๊ฒ ๋ ๋ ๋ค๋ฅธ ํ๋ ์์ํฌ๋ฅผ ์ฑํํด์ผ ํ๋ ๊ณจ์น ์ํ ๊ฑฑ์ ์ ๋์ด์ค ๊ฒ์ ๋๋ค. , ๋น์ ์ ๋ด๊ฐ ์ฌ๊ธฐ์์ ์ค๋ ๊ณณ์ ๋ณผ ์ ์์ต๋๋ค ...).
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ! @teaP , @ranjeshj , ๊ทธ๋ฆฌ๊ณ ์ ๋ ์ค๋ ์ด๋ ค ์๋ ๋ชจ๋ NumberBox ํญ๋ชฉ์ ์ดํด๋ณด์์ต๋๋ค.
์ฐ๋ฆฌ์ ํจ๊ป ์ผํ๋ ๋ชจ๋ ์ฌ๋์๊ฒ ๊ฐ์ฌํฉ๋๋ค. ๐ ์ฐ๋ฆฌ โค๏ธ WinUI!
WinUI ์ปค๋ฎค๋ํฐ ํธ์ถ์ ๋ํ "์บ๋ฆฐ๋"๊ฐ ์์ต๋๊น? ์: ํตํ ์ธ๋ถ์ ๋ณด์ ์๋ ์ ๋ฐ์ดํธ๋ฅผ ์ํด live/google/* ์บ๋ฆฐ๋์ ์ถ๊ฐ/ํตํฉํ ์ ์๋ ๊ณต๊ฐ ์บ๋ฆฐ๋ ํ์์ ๋๋ค.
YouTube ์ด๋ฒคํธ๋ ๋ฏธ๋ฆฌ ์์ ๋์ด ์์ผ๋ฏ๋ก ์ฌ๊ธฐ " ์์ ๋ ์ค์๊ฐ ์คํธ๋ฆผ"์์ Google ์๋ฆผ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
https://www.youtube.com/channel/UCzLbHrU7U3cUDNQWWAqjceA
์ฐ๋ฆฌ๋ ๋ํ .ics ์บ๋ฆฐ๋ ์ด๋๋ฅผ ๋ฐ์์ง๋ง ์ผ๋ถ ์ฌ๋๋ค์๊ฒ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๊ณ ์์๊ณ ์ ๋ฐ์ดํธํ ๋ฐฉ๋ฒ์ด ์์๊ธฐ ๋๋ฌธ์ ์ง๊ธ์ ๊ทธ๊ฒ์ ํฌ๊ธฐํ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋๋ฐ์ค๊ฐ ์ ์ฉ๋์ง ์์ ์ฑ ๋ชจ๋ธ์ด ์ถ์๋ ์์ ์ ๋๋ค. ์ด ๋ชจ๋ธ์ WPF(Win32 API ํฌํจ)์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์คํ๋์ง๋ง ์ต์ WinRT API์ ์ก์ธ์คํ ์ ์์ผ๋ฉฐ Direct X 12์์ ์คํ๋๋ ์๋ก์ด XAML์ด ํฌํจ๋ ์คํ ์์ค UI ๋ฐ ์ปจํธ๋กค์ด ์ ๊ณต๋ฉ๋๋ค.