๋ด๊ฐ ์ ์ฌ๊ธฐ์ ๊ธ์ ์ฐ๊ณ ์์ง? ๋๊ตฐ๊ฐ๊ฐ ์ค์ ๋ก ๋ค์ด์ค ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋(๊ทธ๋ฆฌ๊ณ ํฌ๋งํ๋) ์ ์ผํ ์ฅ์์ด๊ธฐ ๋๋ฌธ์...
๋๋ ๋๋ฅผ ์๋ ํ(22.5๋ ) Windows ์ฑ์ ๊ฐ๋ฐํด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ง๋ ๋ช ๋ฌ ๋์ WPF์์ UWP๋ก ์ฑ์ ํฌํ ํ๋ ๋์ ๋๋ ๋์์์ด ์์ ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ์จํํ๊ฒ ๋งํด์ ๋ชจ๋ ๊ฒ์ ํฌ๊ธฐํ๊ณ ์ถ์์ต๋๋ค.
๊ธ์ ์ ์ธ ๊ฒ๋ถํฐ ์์ํ๊ฒ ์ต๋๋ค.
WinRT ์ธก์ ๊ฒฝ์ฐ ๊ธ์ ์ ์ผ๋ก ์์ํ๊ฒ ์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ถ์ ์ ์ธ ์ธก๋ฉด์์ ๋ค์์ ์ฐจ๋จ๊ธฐ๋ฅผ ๋์ด์ ๊ฒ์ ๋๋ค. ์ฐจ๋จ๊ธฐ ๋ณด๋ค ๊ฐ๋ ฅํ ๋จ์ด๊ฐ ์๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
https://docs.microsoft.com/answers/questions/608/Please-either-allow-systemio-all-over-hdd-or-dast.html
์ด๊ฒ์ ์๋
๋์ ์๋ ค์ ธ
https://docs.microsoft.com/answers/questions/6483/is-uwp-the-right-development-tool-for-my-project.html (ํด๋น ์ง๋ฌธ์ ๋ํ ๋ด ๋ต๋ณ ์ฐธ์กฐ)
๋๋ "์ ์ฒด HDD ์ก์ธ์ค๋ฅผ ์์ฒญํด์ผ ํฉ๋๋ค"(์ด์จ๋ ์ด๋ฆฌ์์ ์ผ์
๋๋ค) ์ ์ฒด๋ฅผ ๋นํํ์ง ์์ ๊ฒ์
๋๋ค. ๋๋ ์ด๊ฒ์ ๋นํํ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์ด๋ฆฌ์์ ์ผ์ด๋ค.
์์ 4. ๋จ์ํ ์ด๋ฆฌ์์์ ๋์ด์ ๊ฒ์
๋๋ค. ์ด๊ฒ์ ๋๊ตฌ๋ ์๊ฐํด๋ผ ์ ์๋ ์ต์
์ UI ๋์์ธ ํ๋ฆ์
๋๋ค.
์ฌ์ฉ์๊ฐ ์์ ๊ฐ์ด ๋ง์กฑํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ญ๋๊น? ์๋์. ์ค์ ๋ก๋ 79.8%๊ฐ ํ์ง ์์ต๋๋ค(๋ด AppCenter ๋ฐ์ดํฐ๊ฐ ์ด๋ฅผ ๋ท๋ฐ์นจํจ). ์ฌ์ฉ์๊ฐ ๋ด ์ฑ์ ์ฌ์ฉํ์ง ์๊ฑฐ๋ ๋ด ์ฑ์ด ๋ค๋ฅธ ๊ธฐ๋ณธ ์ฑ์ ๋นํด ํ์ ์์ค์ผ๋ก ๋ณด์ด๋๋ก ๋ก๋๋ค.
https://docs.microsoft.com/answers/questions/4027/uwp-cant-install-signed-application-non-ms-storeco.html
์ด๊ฒ์ ๋ฏธ์น ์ง์ ๋์ด์ ๊ฒ์
๋๋ค. MS์ ๋ชจ๋ ์ฌ๋๋ค์ด ์ฌ๋๋ค์ด MS ์คํ ์ด ์ธ๋ถ์ ๋ฐฐํฌํ ์ฑ์ ๋ง๋๋ ๊ฒ์ ์ํ์ง ์๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ MS ์คํ ์ด๋ฅผ ์ํด ๊ฐ๋ฐํ๋ ๊ฒ์ ๋ค๋ฆฌ์ ์๊ฐ์ ์ฐจ๊ณ ์์ ๊ฑฐ๋ฅผ ํ๊ณ ๋ฌ๋ฆฌ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. MS ์คํ ์ด ์ธ๋ถ์์ ์ฌ์ด๋๋ก๋๋ฅผ ํ์ฉํ์ง๋ง ์ค์ ๋ก๋ ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น์ด ์ด์ ๋ ๋ฌด์์
๋๊น?
.appinstaller ํ์ผ, ๋ง์นจ๋ด ์๋ฃจ์ ์ ์ฐพ๊ณ ์ค์ ๋ก ์๋ํ๋๋ก ํ๊ธฐ ์ํด ์๋ง์ ์๊ฐ์ ๋ณด๋์ต๋๋ค. ์ด๊ฒ์ "๋ฐฐํฌ" ํ๋ก์ธ์ค์ ์ผ๋ถ์ฌ์ผ ํฉ๋๋ค. Visual Studio์์ ์๋์ผ๋ก ์์ฑํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์ํํ์ญ์์ค. github ์ด๋๊ฐ์ ์ ๊ฐ ์ฐพ๋ ๋ฐ ๊ฝค ๋ง์ ์๊ฐ์ ํ ์ ํ ์์ ๋ฌธ์๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ๋ฌธ์์ ์์ด์ผํฉ๋๋ค!
๋ํ .appinstaller ํ์ผ์ ์์ฑํ๋ ๊ฒ์ ์ด๋ ค์ด ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ๊ฒฌํ ๊ฒ์ ๋๋ค. ํ์ผ์ ์์ฑํ๊ณ ์๋ฒ์ ์ฌ๋ ค ๋๊ณ ๊ฑฐ๊ธฐ์์ ๋ค์ด๋ก๋ํ ๋ค์ ์คํํฉ๋๋ค. ๋ก์ปฌ์์ ์์ ํ๊ณ ์คํํ๋ฉด ๋ฌด์๋ฉ๋๋ค. ์ด๊ฒ์ ์ด๋์๋ ์ฐ์ฌ ์์ง ์์ต๋๋ค. ์ ๊ฐ (์ ๋ง๋ก) ์ด๋ ค์ด ๋ฐฉ๋ฒ์ ์ฐพ์์ผ ํ๋ ๊ฒ์ ๋๋ค.
https://docs.microsoft.com/answers/questions/6112/updating-existing-app-with-new-certificate-uwp.html
์ด๊ฒ์ด ๋๋ฅผ ์ค๋
ํ๊ฒ ๋ง๋ ๊ฒ์
๋๋ค. ์ฌ๋ฐ๋ฅธ ์๊ฐ์ ๊ฐ์ง ์ฌ๋์ด ๋ด๊ฐ ๊ฐ์ ํ์ฌ์ ๋ํ ์ ์ธ์ฆ์๋ฅผ ๋ง๋ค๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ UWP ์ฑ์ ๋ฐฐํฌํ ๋ Windows์์ ๋ค๋ฅธ ์ฑ์ผ๋ก ๋ณผ ๊ฒ์ด๋ผ๊ณ ์ด๋ป๊ฒ ์๊ฐํ ์ ์์ต๋๊น?
๋ด ์ฌ์ฉ์์๊ฒ ์ด๋ป๊ฒ ์ค๋ช
ํ ์ ์์ต๋๊น? ์ค, ๋น์ ์ ๋ฐฉ๊ธ ๋ด ์ฑ์ ์
๋ฐ์ดํธํ๊ณ ๋ชจ๋ ์ค์ ์ ์์์ต๋๋ค. ์ด๋ป๊ฒ ์ด๋ฐ ์ผ์ด ์ผ์ด๋ ์ ์์ต๋๊น?
๋๋ ๋ ๋์ ๊ฒ์ ์ฌ์ฉ์๊ฐ ๊ฐ์ ์ด๋ฆ, ๊ฐ์ ์์ด์ฝ์ ๊ฐ์ง ๋ ๊ฐ์ ์ฑ์ ๋ณด๊ฒ ๋๋ค๋ ๊ฒ์
๋๋ค.
๋ถ๋ช ํ ์๋ง์ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์์ง๋ง(์: ์ปดํ์ผ ์๊ฐ์ด ๋ฏธ์น ๋ฏ์ด ๋๋ฆฝ๋๋ค!), ์์ ๊ฒ๊ณผ ๋น๊ตํ ๋ ๋จ์ํ ์ฐฝ๋ฐฑํฉ๋๋ค. ์ฐ๋ฆฌ ๊ฐ๋ฐ์๋ค์ด ์ด์ ๋ํด ์๋ฌด๋ฐ ๋ง๋ ํ์ง ์๋๋ค๋ ์ฌ์ค์ด ๋งค์ฐ ์ํ๊น์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋๊ตฐ๊ฐ๊ฐ ๋ค์ ์ ์๋ ๊ณณ์ผ๋ก ์ฒ์ฒํ ์ด๋ํฉ๋๋ค... ์ฌํ๊ฒ๋ ๋ ์ด์ MS๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค...
๊ทธ๋ฆฌ๊ณ ๋ณด๋์ค:
WinRT์ ์ ํ ์ฌํญ์ ๋๋ฌด ์ค๋๋๊ณ ์ด๋ฆฌ์์ด์ ์ ๊ฐ ์ดํดํ ์ ์์ต๋๋ค. ๋ชจ๋ฐ์ผ๋ ํ๊ฒํ ํ ๋์๋ ์๋ฏธ๊ฐ ์์์ต๋๋ค. ์ง๊ธ ์ ๋งํ ๊ฒ๋ ์๊ณ -- ์ ํ ์ฌํญ์ ์ค๋จํ์ญ์์ค.
์ ๋ ์ค์ ๋ก UWP ์ฑ์ ๊ฐ๋ฐํ๋ ค๊ณ ์๋ํ ๊ทน์์์ ์ฌ๋ ์ค ํ ๋ช ์ ๋๋ค. ๋๋ถ๋ถ์ ์ฌ๋๋ค์ ์ ๋ง ๋นจ๋ฆฌ ํฌ๊ธฐํ์ง๋ง win2d๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฐ ์ฌ์น๋ฅผ ๋๋ฆฌ์ง ๋ชปํ์ต๋๋ค.
๋ช ๋ ์ ์ฒ์ WPF ์ฑ์ ํฌํ ํ๊ธฐ ์์ํ์ ๋ ๋๋ ๋น์ ์ ์ข์ ์์ค์ด์์ต๋๋ค. ๊ทธ๋์ ๋๋ ํ์คํ ๋น์ ์ ๋ง์์ ์ดํดํฉ๋๋ค. ๊ทธ ์ดํ๋ก ์ฝ๊ฐ์ ์ง์ ์ด ์์๊ณ ๋น์ ์ด ๋งํ๋ฏ์ด WinUI ํ์ ์ ๋ง๋ก ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
๋ด ๊ด์ ์์ ๋ณผ ๋ ์ฐ๋ฆฌ๊ฐ ํด๊ฒฐํ ์ ์๋ ๊ทผ๋ณธ์ ์ธ ๋์์ธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. WinRT๋ C++ ๋ฐ JavaScript์ ์ง์ ์ํธ ์ด์ฉ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์ ์ ์ผ๋ก ์ฅ์ ๊ฐ ์์ต๋๋ค( ์ฌ๊ธฐ ์ ์์ ๋ค๋ฅธ ๊ฒ์ด ์์ ). ์ ๋ค๋ฆญ๊ณผ ๊ฐ์ ๋ง์ ๊ณ ๊ธ ๊ฐ๋ ๊ณผ ์ค์ ๋ก ์ ์๋ํ์ง ์์ต๋๋ค. ๋ฌผ๋ก ์ด ์ํคํ ์ฒ์๋ ํ ๊ฐ์ง ํฐ ์ด์ ์ด ์์ต๋๋ค. ์ด์ ๋ชจ๋ Windows์์ ๋์ผํ WinRT API๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
WinRT๋ Sinofsky์ Windows ํ์์๋ ์ํํ์ต๋๋ค. ์ฆ, ๊ทธ๋ค์ ์์ ์ ์ธ๊ณ์ ์ด์๊ณ ๊ธฐ์กด ์ต์ข ์ฌ์ฉ์ ๊ฐ๋ฐ์ ์์ฝ์์คํ ๊ณผ ํจ๊ป ์์ ํ ๊ฒฝํ์ด ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์ดํฐ๋ธ ๊ฐ๋ฐ์์ ๊ด๋ฆฌ ๊ฐ๋ฐ์ ๋ชจ๋๊ฐ ์์ ํ๋ ๊ฒ์ ์ข์ํ์ง ์๋ '์ต์ ๊ณตํต ๋ถ๋ชจ' API๋ฅผ ๊ฐ๊ฒ ๋์์ต๋๋ค. ์ด๊ฒ์ ๊ทผ๋ณธ์ ์ผ๋ก Windows Phone์ด ์ฃฝ์ ์ฃผ์ ์์ธ ์ค ํ๋์ ๋๋ค. ๊ฐ๋ฐ์๋ ์ฑ์ ์ฝ๊ฒ ๊ฐ๋ฐ/ํฌํ ํ ์ ์์์ต๋๋ค. ์ฑ์ด ์์ผ๋ฉด ๊ณ ๊ฐ๋ ์์ต๋๋ค. Microsoft๋ ์ด ๊ตํ์ ๋ฐฐ์ ์ต๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์๋ ๋์ ์ต์ํด์ ธ ์จ ๊ด๋ฆฌ ์ฝ๋์ ๋ช ๊ฐ์ง ํน์ ์ ์์ด๋ฒ๋ ธ์ต๋๋ค. ํ์คํ ์ฌ์ ํ WPF์์ ํ ๊ฑธ์ ๋ค๋ก ๋ฌผ๋ฌ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ์ ๋ ํญ์ ๋ฒ๊ทธ์ ๋ถ์์ ํ ๊ธฐ๋ฅ์ ์ฐพ์ต๋๋ค. #1830์ WPF ์๋์๋ ์ ๋ ์ผ์ด๋์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ ์ด๋ป๊ฒ๋ ์์ผ๋ก ๋์๊ฐ์ผ ํฉ๋๋ค.
WinUI 3.0์ ์ ์ด๋ ํ๋ก ํธ์๋์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ ๋จ๊ณ์ ๋๋ค. ํ์ง๋ง ์ ๋ Microsoft๊ฐ ์๋ก์ด ์ปจํธ๋กค์ ์ถ์ํ๊ธฐ ์ ์ ๋ ๊ฐ๋ ฅํ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋ ๋ง์ ํ ์คํธ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค... ๊ฐ๋ฐ์ด ์ด์ ํธ์ ๋ณ๊ฒฝ ์ฌํญ์ด๋ผ๋ ๊ฒ์ ์๊ณ ๋์ค์ ์์ ํฉ๋๋ค. ์ฑ์์๋ ์๋ํ ์ ์์ง๋ง ์ผ๋จ ์ค์ ๋๋ฉด ๋์ค์ ๋ณ๊ฒฝํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ค์ด ํ๋ซํผ์๋ ์ข์ ํจํด์ด ์๋๋๋ค. (TreeView, NumberBox ๋ฑ์ 15๋ ์ ์ ๊ณํ ๋จ๊ณ๋ ๊ณ ์ฌํ๊ณ ์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค์ ๋๋ฌด ๋ง์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.)
ํ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ UI ํ๋ซํผ์ด์๋ WPF๊ฐ ์ด๊ฒ์ผ๋ก ์งํํ๋ ๊ฒ์ ๋ณด๋ ์ํ๊น์ต๋๋ค. ๊ทธ๋ฌ๋ Microsoft๋ ์ด์ ๋๋ฆฌ์ง๋ง ํ์คํ๊ฒ ํผ๋๋ฐฑ์ ๋ฃ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์ต๋๋ค. ํด์ผ ํ ์ผ์ด ๋ ๋ง๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
์ฌ์ฉ์๊ฐ ์์ ๊ฐ์ด ๋ง์กฑํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ญ๋๊น? ์๋์. ์ค์ ๋ก๋ 79.8%๊ฐ ํ์ง ์์ต๋๋ค(๋ด AppCenter ๋ฐ์ดํฐ๊ฐ ์ด๋ฅผ ๋ท๋ฐ์นจํจ). ์ฌ์ฉ์๊ฐ ๋ด ์ฑ์ ์ฌ์ฉํ์ง ์๊ฑฐ๋ ๋ด ์ฑ์ด ๋ค๋ฅธ ๊ธฐ๋ณธ ์ฑ์ ๋นํด ํ์ ์์ค์ผ๋ก ๋ณด์ด๋๋ก ๋ก๋๋ค.
์๋ง๋ ๋น์ ์ ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ๋ฉ์ถฐ์ "์ ๊น๋ง, ์ด ์ฑ์ ๋ด ์ ์ฒด ๋๋ผ์ด๋ธ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๊ณ ์ถ์ต๋๊น?"๋ผ๊ณ ์๊ฐํ๊ณ ์๋ค๋ ์ฌ์ค์ ๊ณ ๋ คํ๊ณ ์์ง ์์ ๊ฒ์ ๋๋ค. ์ฑ/๊ฐ๋ฐ์/ํ์ฌ์ ์ต์ํ์ง ์์ ์ฌ๋๋ค์ ์ํ ๋นจ๊ฐ๋ถ ๊ฒฝ๊ณ ์ ๋๋ค.
๋ฎ์ ์ ์ง์จ์ ์ํด ์ฌ์ฉ์๊ฐ ์ ์ฒด ๋๋ผ์ด๋ธ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์ฑ์ ๋ถ์ฌํ๊ธฐ ์ํด ๊ฑฐ์ณ์ผ ํ๋ ํ๋ก์ธ์ค๋ฅผ ํํ๊ณ ์์ต๋๋ค. ์๋ง๋ ์ฒ์๋ถํฐ broadFileSystemAccess์ ๋ํ "ํ์์ฑ"์ ์ฌ๊ณ ํด์ผ ํ๋ฉฐ, ์คํ๋ ค ์ฌ์ฉ์๊ฐ ์๋์ผ๋ก ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ํด๋๋ฅผ ํธ์ํ๊ฒ ์ ํํ๋๋ก ํด์ผ ํฉ๋๋ค.
์ฐธ๊ณ ๋ก, ์ฑ์ ์ฌ์ฉํด ๋ณด๊ณ ์ค์น ํ "์ด์ด, ์ด๋์๋ ๋ชจ๋ ๊ฒ์ ์ก์ธ์คํ ์ ์๋ ๊ถํ์ ์ฃผ์ธ์"์ ๊ฐ์์ผ๋ฉด ๋๋ ์คํํ์ต๋๋ค.
broadSystemAccess๋ฅผ ์์ฒญํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์๋ ํด๋น ์ก์ธ์ค ๊ถํ์ด ์์ต๋๋ค.
๋ถ๋ช ํ... ๋น์ ์ ๋จ์ง ์์ฒญ์ ํ์ ๋ฟ์ ๋๋ค. ๋น์ ์ ์ฌ์ฉ์๋ ์ค์ ๋ก ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ด ํธ์ํ๋ค๊ณ ๋๋ผ๋ฉด ๋น์ ์๊ฒ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํด์ผ ํฉ๋๋ค.
๋ํ Microsoft Open Source Code of Conduct ๋ฅผ ์๋ฐํ๋ ๋ฌด๋กํ ์ ๋ชฉ๊ณผ WinUI์ ๋ํ ๋ด์ฉ์ด ์๋๋ผ๋ ์ ์ ๊ทผ๊ฑฐ๋ก ์ด ๋ฌธ์ ๋ ์ข ๋ฃ๋์ด์ผ ํฉ๋๋ค. @jevansaks @jesbis
๋ง์ง๋ง์ผ๋ก ์ถ๊ฐํ ์ฌํญ. Rich Lander๊ฐ 1์ 15์ผ .NET ์ปค๋ฎค๋ํฐ ์คํ ๋์ (1:12:40์์ ์์)์์ ๊ฐ์ฅ ์ ๋งํ ๊ฒ ๊ฐ์ต๋๋ค.
@verelpode ๋น์ ์ ์์ ๋น๋์ค์์ ์ธ๊ธํ ๋ผ์ธ์ ํ๊ณ ์์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๊ฑด์ค์ ์ด๊ณ ์ฃผ์ ์ ์ง์คํ๊ธฐ ๋๋ฌธ์ WinUI ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ๋น์ ์ ๊ธฐ์ฌ๋ฅผ ์์คํ๊ฒ ์๊ฐํฉ๋๋ค. ์ฝ๋ฉํธ).
broadSystemAccess๋ฅผ ์์ฒญํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์๋ ํด๋น ์ก์ธ์ค ๊ถํ์ด ์์ต๋๋ค.
๋ถ๋ช ํ... ๋น์ ์ ๋จ์ง ์์ฒญ์ ํ์ ๋ฟ์ ๋๋ค. ๋น์ ์ ์ฌ์ฉ์๋ ์ค์ ๋ก ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ด ํธ์ํ๋ค๊ณ ๋๋ผ๋ฉด ๋น์ ์๊ฒ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํด์ผ ํฉ๋๋ค.
๊ทธ๊ฒ์ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ์ ์ด๋ Android/iOS์์๋ ์ฑ์ด HDD์ ์ก์ธ์คํ๋ ค๊ณ ์๋ํ๋ ๋์ ํด๋น ํญ๋ชฉ์ ๋ฌป๋ ๋ฉ์์ง๊ฐ ํ์๋๊ณ ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ์ ๊ฐ์ด ๋ซํ์ง ์์ต๋๋ค .
์ฌ์ฉ์๊ฐ ์ฑ์ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ํญ๋ชฉ์ ์ ํํ ์ ์๋ ํ์ผ ์ ํ๊ธฐ๋ฅผ ํ์ํ ๊ฒฝ์ฐ ์ฑ์ด ๋ซํ์ง ์์ต๋๋ค.
๋์ ๋น์ ์ ๋ชจ๋ ๊ฒ์ ์ํ๊ณ ์ฌ์ฉ์๊ฐ ์ทจํด์ผ ํ๋ ์ฌ์ํ ์ผํ์ฑ ์ถ๊ฐ ๋จ๊ณ์ ๋ํด ๋ถํํ๊ณ ์ด ๋จ๊ณ์์ ์ ์ง์จ์ ๋น๋ํ๊ณ ์์ต๋๋ค.
๋ํ Microsoft Open Source Code of Conduct ๋ฅผ ์๋ฐํ๋ ๋ฌด๋กํ ์ ๋ชฉ๊ณผ WinUI์ ๋ํ ๋ด์ฉ์ด ์๋๋ผ๋ ์ ์ ๊ทผ๊ฑฐ๋ก ์ด ๋ฌธ์ ๋ ์ข ๋ฃ๋์ด์ผ ํฉ๋๋ค. @jevansaks @jesbis
๋ด๊ฐ ๊ฑฐ์ ์ ์ ์ ์์ ๋ ์กด๊ฒฝํ๋ ๊ฒ์ ์ ๋ง ์ด๋ ต์ต๋๋ค. ๋งํ ๊ฒ๋ ์์ด - ์ ์๋ ๋ง ํ์ง๋ง WinRT์ ๋ํด ์ธ ๊ณณ์ด ์์ต๋๋ค. ๋ด๊ฐ ์ค์ ๋ก ๊ธ์ ์ธ ์ ์๊ณ ๋๊ตฐ๊ฐ๊ฐ ๋ค์ด์ค๋ค๋ฉด ๊ธฐ๊บผ์ด ๋ค๋ฅธ ์ด์กฐ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค. ์์ ๋ชจ๋ ์ธ์นจ์ ๋จ์ํ ์กด์ฌํ์ง ์์์ผ ํฉ๋๋ค. WinRT๋ ์ถฉ๋ถํ ์ฑ์ํด์ผ ํฉ๋๋ค . ๊ทธ๋๋... ์๋...
์ปค๋ฎค๋ํฐ๊ฐ ์ค์ ๋ก WinRT ํ๊ณผ ๋ํํ ์ ์๋ ๊ณณ์ ์ด๋์ ๋๊น? ๋ฃ๊ณ ์๋ ์ฌ๋์ด ์์ต๋๊น?
์ฌ์ฉ์๊ฐ ์ฑ์ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ํญ๋ชฉ์ ์ ํํ ์ ์๋ ํ์ผ ์ ํ๊ธฐ๋ฅผ ํ์ํ ๊ฒฝ์ฐ ์ฑ์ด ๋ซํ์ง ์์ต๋๋ค.
๋์ ๋น์ ์ ๋ชจ๋ ๊ฒ์ ์ํ๊ณ ์ฌ์ฉ์๊ฐ ์ทจํด์ผ ํ๋ ์ฌ์ํ ์ผํ์ฑ ์ถ๊ฐ ๋จ๊ณ์ ๋ํด ๋ถํํ๊ณ ์ด ๋จ๊ณ์์ ์ ์ง์จ์ ๋น๋ํ๊ณ ์์ต๋๋ค.
๋ด ์ฑ์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์ฌ์ง๊ณผ ๋น๋์ค๋ฅผ ํธ์งํ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์๊ฐ ์ด์ ์คํ์ผ์ ํ์ผ ์ ํ๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ํ๋ ๋๋ก ์ฝ๊ฒ ๋ฏธ๋ฆฌ ๋ณผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ค, ๋ชจ๋ HDD์ ์ก์ธ์คํ๋ ๊ฒ์ด ์ ๋ง ์ค์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋์. "์ฌ์ง" ๋ฐ "๋์์" ๊ฐ์ ํด๋๋ Microsoft๊ฐ ์ฌ์ฉ์๊ฐ ์ฌ์ง๊ณผ ๋์์์ ๋ณด๊ดํ๋ค๊ณ ์๊ฐํ๋ ํด๋์ ๋๋ค. ๊ทธ๊ฑด ํ์ค์ด ์๋๋๋ค.
์ ์๋ ๋งํ์ง๋ง WinRT์ ๋ํด ์ธ ๊ณณ์ด ์์ต๋๋ค.
๊ทํ์ ๋งํฌ์์ ์ ์ ์๋ฏ์ด ๊ทํ๋ ์ด๋ฏธ UWP Q&A ํฌ๋ผ์์ WinRT์ ๋ํด ํธ์ธ์ฅ๋ดํ์ต๋๋ค.
๋ฐ๋ผ์ ์ฌ๊ธฐ์ ๊ฒ์ํ๋ฉด ์ค์ ๋ก ๋ฌด์์ด๋ ๋ฌ์ฑํ๊ธฐ๋ณด๋ค๋ ๋ ๋ง์ ์ฒญ์ค์ ์ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค(WinUI ํ์ WinRT์์ ์๋ํ์ง ์๊ธฐ ๋๋ฌธ์).
๊ทํ์ ๋งํฌ์์ ์ ์ ์๋ฏ์ด ๊ทํ๋ ์ด๋ฏธ UWP Q&A ํฌ๋ผ์์ WinRT์ ๋ํด ํธ์ธ์ฅ๋ดํ์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ ์์ต๋๋ค. Q&A์์๋ ์ง๋ฌธํ๊ณ ๋ต๋ณ์ ๋ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ (๋ถํํ๋) ๋ณ๊ฒฝํ ๊ฒ์ ์ ์ํ ์๋ ์์ต๋๋ค.
๋ด ์ฑ์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์ฌ์ง๊ณผ ๋น๋์ค๋ฅผ ํธ์งํ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์๊ฐ ์ด์ ์คํ์ผ์ ํ์ผ ์ ํ๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ํ๋ ๋๋ก ์ฝ๊ฒ ๋ฏธ๋ฆฌ ๋ณผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ค, ๋ชจ๋ HDD์ ์ก์ธ์คํ๋ ๊ฒ์ด ์ ๋ง ์ค์ํฉ๋๋ค.
์๋์. ์ฌ์ฉ์๋ ๋๋ผ์ด๋ธ ์ ์ฒด์ ์ฌ์ง๊ณผ ๋น๋์ค๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ผ๋ฉฐ ํน์ ํด๋๊ฐ ์๋ ํน์ ์์น์ ์์ต๋๋ค.
์ฌ์ฉ์๊ฐ ํด๋น ํด๋๋ฅผ ํ ๋ฒ ์ ํํ๊ฒ ํ๋ฉด FutureAccessList ๋ฅผ ํตํด ํญ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๊ทธ๋ค์ด ๋น์ ์๊ฒ ๊ทธ๋ค์ ๋ชจ๋ ํ์ผ์ ์ ๊ทผํ ์ ์๋๋ก ํ์ง ๋ง์ญ์์ค. ๊ทธ๋ฌ๋ฉด ๊ทธ๋ค์ ๋๋ง๊ฐ์ง ์์ ๊ฒ์ ๋๋ค.
@kmgallahan ๋ฌผ๋ก , ํค์ ์ฝ๊ฐ ๋๋๋ฆด ์๋ ์์ง๋ง ์ฐ๋ฆฌ ๋ชจ๋๋ ์ ์ ์ข์ ํ์ต๋๋ค. ๋ช ๋ฐฑํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์๊ณ ์๋ค๊ณ ์๊ฐํ๋ฉด ๋์ฑ ์ค๋ง์ค๋ฝ์ต๋๋ค. ์ฌ๋๋ค์ด ์ด๋ฅผ ๊ฒ์ฆํ๊ณ ์ ์ฌ์ ์ธ ์๋ฃจ์ ์ ์ ๊ณตํ ์ ์๋ ํฌ๋ผ์์ ์ด๋ฌํ ์ข์ ๊ฐ์ ํ์ถํ๋ ๊ฒ์ด ๋๋๋ก ๊ฑด์ค์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ์ ๊ธฐ์ ์์ ์ ์ ํจํ๋ฉฐ WinRT ๋ฐ ์ฝ๊ฐ์ UWP์๋ง ํด๋น๋๋ฉฐ ๋ ๋ค ์ด ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ๋ํ๋ด๋ WinUI XAML ์ปจํธ๋กค์ด ์๋๋๋ค. ๊ทธ๋ฐ ์ด์ ๋ก ์ด๊ฒ์ ์ฃผ์ ๋ฅผ ๋ฒ์ด๋ ๊ฒ์ผ๋ก ๋ซ์์ผ ํฉ๋๋ค.
์ ๋ ์ด๋ฌํ ์ ํ์ ํ ๋ก ์ด ์ข์ ๊ณผ ๊ฐ๋ฐ ์ํ๊ณ์ ์ฑ๊ณต์ ๋ํ ๋ง์ ๊ธฐ๋๊ถ์์ ๋น๋กฏ๋ ๊ฒ์์ ์๊ณ ์ ๋ฌธ์ ์ผ๋ก ์ ์งํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฌผ๋ก , ํค์ ์ฝ๊ฐ ๋๋๋ฆด ์๋ ์์ง๋ง ์ฐ๋ฆฌ ๋ชจ๋๋ ์ด์ ์ ์ข์ ํ ์ ์ด ์์ต๋๋ค. ๋ช ๋ฐฑํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์๊ณ ์๋ค๊ณ ์๊ฐํ๋ฉด ๋์ฑ ์ค๋ง์ค๋ฝ์ต๋๋ค.
๊ฐ์ฌ ํด์ :)
์๋์. ์ฌ์ฉ์๋ ๋๋ผ์ด๋ธ ์ ์ฒด์ ์ฌ์ง๊ณผ ๋น๋์ค๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ผ๋ฉฐ ํน์ ํด๋๊ฐ ์๋ ํน์ ์์น์ ์์ต๋๋ค.
์ฌ์ฉ์๊ฐ ํด๋น ํด๋๋ฅผ ํ ๋ฒ ์ ํํ๊ฒ ํ๋ฉด FutureAccessList ๋ฅผ ํตํด ํญ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๊ทธ๋ค์ด ๋น์ ์๊ฒ ๊ทธ๋ค์ ๋ชจ๋ ํ์ผ์ ์ ๊ทผํ ์ ์๋๋ก ํ์ง ๋ง์ญ์์ค. ๊ทธ๋ฌ๋ฉด ๊ทธ๋ค์ ๋๋ง๊ฐ์ง ์์ ๊ฒ์ ๋๋ค.
๋ถ๋ช ํ, ๊ทธ๋ค์ ๊ทธ ํน์ ์์น์ ์์ง ์์ต๋๋ค....
๋ฌผ๋ก , ๋๋ ๊ทธ FutureAccessList๋ฅผ ์ฌ์ฉํ ์ ์๊ณ ์ฌ์ฉ์๋ค์ด ์ฌ์ง/๋น๋์ค๋ฅผ ๋ณด๊ดํ๋ ์์น๋ฅผ ๊ธฐ์ตํ๊ฒ ํ ์ ์์ต๋๋ค.
(๋ด ์ฑ์ดํ๋ ์ผ) ํด๋๋ฅผ ๋ฉ์ง๊ฒ ๋ฏธ๋ฆฌ๋ณด๊ณ ์ฌ์ง / ๋น๋์ค๊ฐ์๋ ํด๋๋ฅผ ํ์ํ๋ ๋์ .
๋ช ๊ฐ์ง ์ฐธ๊ณ ์ฌํญ:
์๊ฐ์ ๋ด์ด ๊ฒฝํ๊ณผ ํผ๋๋ฐฑ์ ์์ฑํ๊ณ Q&A ํ์ด์ง ์ ์๊ฐ์ ๋ด์ฃผ์ @jtorjo ๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
@robloo ์ @kmgallahan์ด ์ธ๊ธํ๋ฏ์ด ์ด ๋๋ถ๋ถ์ WinUI์ ์ง์ ์ ์ธ ๊ด๋ จ์ด ์์ผ๋ฉฐ ํ๋ ๊ฐ๋ น์ ์ฝ๊ฐ ๋ฐ๊ณ ์์ ์ ์์ต๋๋ค ๐
๊ทธ๋ฌ๋ Windows ๊ฐ๋ฐ์ ํ๋ซํผ์ ๋ค๋ฅธ ์์ญ๊ณผ ๊ด๋ จํ์ฌ Q&A ์ฌ์ดํธ ๋ฐ Feedback Hub์ ๋ํ ์ฐธ์ฌ๊ฐ ๋ ๋์ ์ ์์๋ ์๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ค์ ๋ก ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ์ ๊ทน์ ์ผ๋ก ๋ ธ๋ ฅํ๊ณ ์์ง๋ง ํผ๋๋ฐฑ์ ์ ๊ณตํ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋์ง ํ์ธํ ์ ์๋ ์ข์ ์ฅ์๋ฅผ ์ฐพ๋ ๊ฒ์ด ๋ต๋ตํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค.
์๋ฅผ ๋ค์ด Feedback Hub๋ฅผ ํตํด ๋ค์ด์ค๋ ๋ชจ๋ ๊ฒ์ ์ค์ ๋ก ๋ณด๊ณ ์์ง๋ง ํ ๋ก ์ ์๋ตํ๊ฑฐ๋ ๊ณ์ํ ์ ์๋ ์ข์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ฑด์ค์ ์ธ ์ํ๋ฅผ ์ ์งํ๊ณ Windows ์ฑ UX/๊ฐ๋ฐ๊ณผ ๊ด๋ จ์ด ์๋ ํ ์ฃผ์ ๊ฐ ํ์ฌ ๋ค๋ฅธ ๊ณณ์์ ์ ๋ง์ง ์๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ์์ ๋ช ๊ฐ์ง ์ผ๋ฐ์ ์ธ ํ๋ซํผ ํผ๋๋ฐฑ์ ๋ ผ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ทธ๋งํ ๊ฐ์น๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ฃผ์ ๋ ๋ด๋ถ์ ์ผ๋ก๋ ์ฌ๊ฐํ ๊ด์ฌ์ ๋ฐ์ต๋๋ค. ์ค๋ ์ผ๋ถ WinRT ์ ๋ฌธ๊ฐ ์๊ฒ ์ฐ๋ฝํ์ฌ ์ ์ฒด ํ๋ซํผ ๋ฐ ๋๊ตฌ์ ์ฃผ์ ๋ฌธ์ ์ค ์ผ๋ถ๋ฅผ ๊น๋ํ๊ฒ ์์ฝํ์ฌ
๋ฐ์คํฌํฑ ์ฑ ๊ฐ๋ฐ์ ๊ฒฝ์ฐ: WinUI 3์ Windows ๊ฐ๋ฐ์ ํ๋ซํผ์ ๋ถ๋ฆฌํ์ฌ ์ด๋ฌํ ์ํธ ์ด์ฉ์ฑ ์ฅ๋ฒฝ์ ์ ๊ฑฐํ๊ณ WinUI ๋ฐ UWP๋ฅผ ๋ ์ฝ๊ฒ ์ ์ง์ ์ผ๋ก ์ฑํํ ์ ์๋๋ก ํ๋ ค๋ ์ฐ๋ฆฌ ๋ ธ๋ ฅ์ ํฐ ๋ถ๋ถ์ ๋๋ค. ์ฐ๋ฆฌ๋ ํ์ฌ์ ๋ชจ๋ ์ ํ ์ฌํญ์ ์๊ตฌํ์ง ์๊ณ ์ต์ UX๋ก ๋ฐ์คํฌํฑ ์ฑ์ ๋ ์ ํ์ฑํํด์ผ ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. WPF์ ์ฃผ์ ์ ์์ ์ค ์ผ๋ถ๋ฅผ ํฌํจํ์ฌ ๋ง์ ์ ๋ฌธ๊ฐ๊ฐ ์์ ํ๊ณ ์์ต๋๋ค.
ํนํ, ์ฐ๋ฆฌ๋ Xaml ์ฌ๊ณผ ๋ฐ์คํฌํฑ ์ฑ์ฉ WinUI์ ๋ง์ ์๊ฐ์ ํ ์ ํ๊ณ ์์ผ๋ฉฐ ์ฌํด ํ๋ฐ์ ์ฌ๋๋ค์ด ์๋ํ ์ ์๋๋ก ๋ฏธ๋ฆฌ ๋ณด๊ธฐ๋ฅผ ๋ฆด๋ฆฌ์คํ ๋ค์ ๋จ๊ณ๋ฅผ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ํผ๋๋ฐฑ ์ค์ฌ์ ํฌ๋ช ๋๋ฅผ ๋์ด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ผ๋ฉฐ ์ ์ฒด Xaml ํ๋ซํผ(์: WinUI 3)์ ์คํ ์์ค๋ก ์ฎ๊ธฐ๋ฉด ๋ ์ฌ์์ง ๊ฒ์ ๋๋ค.
์ฌ๋๋ค์ด ๋ฐ์คํฌํฑ ๊ณํ์ ํ์ฌ ์ํ์ ๊ด์ฌ์ด ์๋ ๊ฒฝ์ฐ ์๊ฐ ์ปค๋ฎค๋ํฐ ํธ์ถ ์ค ํ๋์์ ์ข ๋ ์์ธํ ์ค๋ช ํ ์๋ ์์ต๋๋ค. ์ฌ๊ธฐ์์ ์ฃผ์ ๋ฅผ ์์ ๋กญ๊ฒ ์ ์ํ์ธ์.
์๋ ํ์ธ์ @jesbis ๋
๋ด ๋ฌธ์ ๋ฅผ ๋ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
@robloo ์ @kmgallahan์ด ์ธ๊ธํ๋ฏ์ด ์ด ๋๋ถ๋ถ์ WinUI์ ์ง์ ์ ์ธ ๊ด๋ จ์ด ์์ผ๋ฉฐ ํ๋ ๊ฐ๋ น์ ์ฝ๊ฐ ๋ฐ๊ณ ์์ ์ ์์ต๋๋ค ๐
๋ค, ์ ๋ง ์ฃ์กํฉ๋๋ค. ์ ์ ์ ์ด ๋๊ฐ ๊ฒ ๊ฐ์์ต๋๋ค. ์ฌ๊ธฐ์์ ์ธ๊ธํ ์ฌํญ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์ง๋ฉดํ๊ธฐ ๋๋ฌธ์ ์ ๋ ์ด์ ๋ํด ์ ๋ง ์ด์ ์ ์ ๋๋ค. ๊ทธ๋ค ๋ชจ๋๋ ์์ฒญ๋ ๋๊ฐ๋ฅผ ์น๋ฅด๊ณ , ๋ง์ ์ฌ๋๋ค์ ์๋์กฐ์ฐจ ํ์ง ์๊ณ ๋จ์ํ ํฌ๊ธฐํฉ๋๋ค.
๊ทธ๋ฌ๋ Windows ๊ฐ๋ฐ์ ํ๋ซํผ์ ๋ค๋ฅธ ์์ญ๊ณผ ๊ด๋ จํ์ฌ Q&A ์ฌ์ดํธ ๋ฐ Feedback Hub์ ๋ํ ์ฐธ์ฌ๊ฐ ๋ ๋์ ์ ์์๋ ์๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ค์ ๋ก ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ์ ๊ทน์ ์ผ๋ก ๋ ธ๋ ฅํ๊ณ ์์ง๋ง ํผ๋๋ฐฑ์ ์ ๊ณตํ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋์ง ํ์ธํ ์ ์๋ ์ข์ ์ฅ์๋ฅผ ์ฐพ๋ ๊ฒ์ด ๋ต๋ตํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค.
์ ์ ์ผ๋ก ๋์ ํ. ์ฐธ๊ณ ๋ก ์ ๋ ์ค์ ๋ก Feedback Hub์์ broadSystemAccess๋ฅผ ๋ณด๊ณ ํ๋ ค๊ณ ์๋ํ์ผ๋ฉฐ ๋ชจ๋ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ์ฝ 15๋ถ์ ๋ณด๋ธ ํ "๋ค๋ก"์ ํด๋นํ๋ ๋จ์ถํค๋ฅผ ์ด๋ป๊ฒ๋ ๋๋ ์ ๊ฒ์ ๋๋ค. ๋ชจ๋ ์์ ์ ์์ด๋ฒ๋ ธ์ต๋๋ค(์คํ ์ทจ์ ์์, ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ๋๋ ํ ์คํธ ์์, ์๋ฌด๊ฒ๋ ์์). ๋ถ๋ช ํ, ๋๋ ๋ฏธ์น ๋ฏ์ด ์ข์ ํ๊ณ ๊ทธ๋ฅ ํฌ๊ธฐํ์ต๋๋ค.
๊ทธ๋งํ ๊ฐ์น๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ฃผ์ ๋ ๋ด๋ถ์ ์ผ๋ก๋ ์ฌ๊ฐํ ๊ด์ฌ์ ๋ฐ์ต๋๋ค. ์ค๋ ์ผ๋ถ WinRT ์ ๋ฌธ๊ฐ ์๊ฒ ์ฐ๋ฝํ์ฌ ์ ์ฒด ํ๋ซํผ ๋ฐ ๋๊ตฌ์ ์ฃผ์ ๋ฌธ์ ์ค ์ผ๋ถ๋ฅผ ๊น๋ํ๊ฒ ์์ฝํ์ฌ
๋ฉ์๋!
๋ฐ์คํฌํฑ ์ฑ ๊ฐ๋ฐ์ ๊ฒฝ์ฐ: WinUI 3์ Windows ๊ฐ๋ฐ์ ํ๋ซํผ์ ๋ถ๋ฆฌํ์ฌ ์ด๋ฌํ ์ํธ ์ด์ฉ์ฑ ์ฅ๋ฒฝ์ ์ ๊ฑฐํ๊ณ WinUI ๋ฐ UWP๋ฅผ ๋ ์ฝ๊ฒ ์ ์ง์ ์ผ๋ก ์ฑํํ ์ ์๋๋ก ํ๋ ค๋ ์ฐ๋ฆฌ ๋ ธ๋ ฅ์ ํฐ ๋ถ๋ถ์ ๋๋ค. ์ฐ๋ฆฌ๋ ํ์ฌ์ ๋ชจ๋ ์ ํ ์ฌํญ์ ์๊ตฌํ์ง ์๊ณ ์ต์ UX๋ก ๋ฐ์คํฌํฑ ์ฑ์ ๋ ์ ํ์ฑํํด์ผ ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. WPF์ ์ฃผ์ ์ ์์ ์ค ์ผ๋ถ๋ฅผ ํฌํจํ์ฌ ๋ง์ ์ ๋ฌธ๊ฐ๊ฐ ์์ ํ๊ณ ์์ต๋๋ค.
๊ต์ฅํด! ํ์คํ ๋ ๊ธฐ๋๋ฉ๋๋ค. ์ด ์์ ์ด ์๋ฃ๋๋ฉด ์ฑ์ ์ ๋ฐ์ดํธํ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋์ง๋ง ๊ทธ๋๊น์ง๋ ๋ง์ ๋ฌธ์ ์ ๋ด์ฐฉํ์ต๋๋ค.
์ฌ๋๋ค์ด ๋ฐ์คํฌํฑ ๊ณํ์ ํ์ฌ ์ํ์ ๊ด์ฌ์ด ์๋ ๊ฒฝ์ฐ ์๊ฐ ์ปค๋ฎค๋ํฐ ํธ์ถ ์ค ํ๋์์ ์ข ๋ ์์ธํ ์ค๋ช ํ ์๋ ์์ต๋๋ค. ์ฌ๊ธฐ์์ ์ฃผ์ ๋ฅผ ์์ ๋กญ๊ฒ ์ ์ํ์ธ์.
์ฌ๊ธฐ์ ์ธ๊ธํ WinRT ์ฃผ์ ๋ฅผ ์ ์ํ ์ ์์ต๋๊น?
๋ค์ ํ๋ฒ ๊ฐ์ฌํฉ๋๋ค!
์๋ฅผ ๋ค์ด Feedback Hub๋ฅผ ํตํด ๋ค์ด์ค๋ ๋ชจ๋ ๊ฒ์ ์ค์ ๋ก ๋ณด๊ณ ์์ง๋ง ํ ๋ก ์ ์๋ตํ๊ฑฐ๋ ๊ณ์ํ ์ ์๋ ์ข์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ฑด์ค์ ์ธ ์ํ๋ฅผ ์ ์งํ๊ณ ์ฑ ๊ฐ๋ฐ๊ณผ ๊ด๋ จ์ด ์๋ ํ ์ฃผ์ ๊ฐ ํ์ฌ ๋ค๋ฅธ ๊ณณ์์ ์ ๋ง์ง ์๋ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ธ ํ๋ซํผ ํผ๋๋ฐฑ์ ์ฌ๊ธฐ์์ ๋ฐ์๋ ๊ด์ฐฎ์ต๋๋ค.
@jesbis
์ด๊ฒ์ ์ข์ ์์์
๋๋ค! ์ด๋ฌํ ์ ์ฐ์ฑ์ ๋ณด์ฌ์ฃผ๊ณ (์ธ์๋) WinRT ํผ๋๋ฐฑ ์์คํ
๋ฌธ์ ๋ฅผ ์ํํ๋ ค๊ณ ๋
ธ๋ ฅํ ํ์๊ฐ ์์์๋ ๋ถ๊ตฌํ๊ณ WinUI ํ์๊ฒ ๋ง์ ๊ฐ์ฌ๋ฅผ ๋๋ฆฝ๋๋ค!
@kmgallahan
Rich Lander๊ฐ 1์ 15์ผ .NET ์ปค๋ฎค๋ํฐ ์คํ ๋์ (1:12:40์์ ์์)์์ ๊ฐ์ฅ ์ ๋งํ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋์ Rich Lander๋ ์ฝ๊ฐ์ ๊ณต๊ฒฉ์ฑ์ด ์์ง๋ง ๋์์ ์ข์ ์ฌ๋๋ค์ ์ ํธํ๋ค๊ณ ๋งํฉ๋๋ค. ์ฌํ์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ค ํ๋๋ ๋ง์ ์ฌ๋๋ค์ด ๋๋ฌด '์์๋ฐ๋ฅด๊ฒ' ํ๋ํ์ฌ ๊ทน๋จ์ฃผ์๊ฐ ๋์ด ๋ฌด๋กํจ๊ณผ ๋ฌด๋กํจ์ผ๋ก ๋ฐ๋๋ฉด์ ํ๋ฉด์ ์ผ๋ก๋ '์์๋ฐ๋ฅธ' ๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค๋ ๊ฒ์ ๋๋ค. ๋งค์ฐ "์์๋ฐ๋ฅธ" ์ฌ๋๋ค์ ๊ฐ์ ์ ์ด๊ณ ๋ชจํธํ๊ฒ ๋งํ๋ฉฐ, ์ด๋ ์์ฌ์ํต์ ์ดํดํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค๊ณ ์๋ชป ํด์ํ๊ธฐ ์ฝ์ต๋๋ค. ๋งค์ฐ "์ ์คํ" ์ฌ๋๋ค์ ๋ค์๊ณผ ๊ฐ์ ๋ง์ ํ๊ธฐ ๋๋ฌธ์ ๋ฌด๋กํ๊ณ ๋ฌด๋กํฉ๋๋ค.
"์ง์ ์ ์ธ ์ง์ค์ ๊ฐ๋นํ ์ ์๋ค๊ณ ๋ฏฟ์ผ๋๊น ๋ํผํ ์ํธ์ฅ๊ฐ์ ๋ผ๊ณ ๋ฝ๋ฝ์ด์ ์ธ์ ์์ฃผ ์ ์คํ๊ฒ, ๊ฐ์ ์ ์ผ๋ก, ๋ง์ฐํ๊ฒ ๋งํ๊ฒ ๋ค. ์ฑ์ํ ์ด๋ฅธ์ด๊ณ ๋ด ์์งํ ์๊ฒฌ์ ๋ด์ธ์ฐ๋ฉด ํ์ฉ ๋ฐ๊ณ ํฐ์ง๊ณ ๋ฏธ์ณ๋ฒ๋ฆด๊ฑฐ์ผ ๋๋ ์์ฃผ ์ฐ์ฝํ๊ณ ์ฐ์ฝํ ์ฌ๋์ด๊ณ ์ฒ ๋ ์๊ณ ๊ทธ๋์ ๋ด๊ฐ ๋์๊ฒ ๊ทน๋๋ก ๊ณต์ํ๊ณ ๊ฐ์ ์ ์ผ๋ก ๋งํด์ผ ํ๋๊น. ์ง์ ์ ์ธ ์ง์ค์ ๋ค๋ฃจ์ง ๋ง๋ผ."
๊ทธ๋ฐ ์์ผ๋ก, ์์ "๊ณต์ํจ"์ด ๊ทน๋จ์ ์ผ๋ก ์ทจํด์ง๋ฉด(๋ง์ ์ฌ๋๋ค์ด ๊ทธ๋ฌํ๋ฏ์ด), ์ฌ์ ํ "๊ณต์ํจ"์ธ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋ฌด๋กํ๊ณ ๋ฌด๋กํ๊ฒ ๋ฉ๋๋ค. ์ฆ, ์์์ ์กด์ค์ ๋ํ ์คํด๋ ์ฌํ์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ค ํ๋์ ๋๋ค. ๋ง์ ์ฌ๋๋ค์ ๊ณผ๋ํ ์์๊ฐ ๋ฌด๋กํ๊ณ ํ๋ก์ ํธ๊ฐ ์คํจํ๋ ๋ฑ์ ์์ธ์ด ๋๋ค๋ ์ฌ์ค์ ๊นจ๋ซ์ง ๋ชปํฉ๋๋ค. ์ด ๊ฑฐ์ง ์์ ๋ฌธ์ ๋ ์ธ๊ณ ์ด๋๊ฐ์์ ๋งค์ผ ๋งค์ด ๋ ๋ค๋ฅธ ํต์ ์ฅ์ ๋ฅผ ์ ๋ฐํฉ๋๋ค. ๊ทธ๋ก ์ธํด ํฌ๊ฒ ๊ณ ํต๋ฐ์ต๋๋ค.
@jtorjo
๋ฌธ์ ์ ์์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
WinRT/UWP๋ ์ค์๋ก ๋ ธํค์, ๋ธ๋๋ฒ ๋ฆฌ, ์ ํ๊ณผ ๊ฐ์ ์ค์๋ฅผ ํ ์ง์ ์์ ๋ฐ๋ณตํ๋ค. Nokia ์ด์ผ๊ธฐ: Nokia๋ ๋งค์ฐ ์ฑ๊ณต์ ์ธ ๊ฑฐ๋ฌผ์ด์์ง๋ง ๋์ค์ Nokia๋ ์ค๋งํธํฐ ๊ธฐ์ ์์ ๋ค์ณ์ ธ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ทธ๋ค์ ๊ธฐ์กด ์์คํ ์ ์ผ๋ จ์ ๊ฐ์ ๋ ๋ฒ์ ์ ๊ตฌํํ๋ ๊ฒ์ ์ต์ฐ์ ๊ณผ์ ๋ก ์ผ์์ผ ํ์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ ๋์ , ๊ทธ๋ค์ ์๋ก์ด ์์คํ ์ผ๋ก ์ ํํ๋ ค๊ณ ํ๊ณ , ๊ทธ๊ฒ์ ๊ทธ๋ค์ ์ฃฝ์์ต๋๋ค. ๋ง ๊ทธ๋๋ก ๊ทธ๋ค์ ์ฃฝ์๋ค. ๋ ธํค์ ๋ชจ๋ฐ์ผ์ ๋ง์ดํฌ๋ก์ํํธ์ ์ธ์๋ฅผ ๋ฐ์๋ค์ผ ์๋ฐ์ ์์๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ง์ดํฌ๋ก์ํํธ๊ฐ ๋ ธํค์์ ์ค์๋ก๋ถํฐ ๊ตํ์ ์ป๊ณ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ฐ๋ณตํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ์์ํ ๊ฒ์ด๋ค. ๋ถํํ๊ฒ๋ ๋ง์ดํฌ๋ก์ํํธ๋ ๋ ธํค์์ ๊ฐ์ ์ค์๋ฅผ ๋ฐ๋ณตํ๋ค. Microsoft๋ WPF ๋ฐ .NET Framework์ ์ ๋ฒ์ ์ ์์ฑํ๋ ๋์ WinRT/UWP์ ์ฐฉ์ํ์ต๋๋ค. ๋ฌด์จ ์ผ์ด ์์๋์ง ๋ง์ถฐ๋ณด์ธ์? ๋ ธํค์์ ๋๊ฐ์ ์ฌ์์ด ๊ทธ๋ค์ ์ฃฝ์์ต๋๋ค. Windows Mobile์ ์ฃฝ์๊ณ Microsoft ๊ฒฝ์์ง์ ์ํด ์ทจ์๋์์ต๋๋ค. ๋ฐ๋ผ์ ๋ถํํ๊ฒ๋ ๋ง์ดํฌ๋ก์ํํธ๋ ๋ ธํค์์ ์น๋ช ์ ์ธ ์ค์๋ก๋ถํฐ ๊ตํ์ ์ป์ง ๋ชปํ๋ค. ์ด์ ๋ชจ๋ ์ค๋งํธํฐ์ WinRT/UWP ๋์ Android ๋๋ Apple์ ์คํํ๋ฏ๋ก WinRT/UWP๋ Microsoft๊ฐ ์์ญ์ต ๋ฌ๋ฌ ๊ท๋ชจ์ ์ค๋งํธํฐ ์ฐ์ ์์ ์์ ํ ์๋ฆฌ๋ฅผ ์๊ฒ ๋ง๋ ์น๋ช ์ ์ธ ์คํจ์์ต๋๋ค. WinRT/UWP๋ Microsoft์ ์์ญ์ต ๋ฌ๋ฌ์ ์์ค์ ์ด๋ํ์ต๋๋ค.
๋ธ๋๋ฒ ๋ฆฌ๋ ๋ ธํค์์ ๋ง์ดํฌ๋ก์ํํธ์ ๊ฐ์ ์ค์๋ฅผ ์ ์ง๋ ๋ค. ๋ธ๋๋ฒ ๋ฆฌ๋ ๋งค์ฐ ์ฑ๊ณต์ ์ด์์ง๋ง ๋์ค์ ๋ธ๋๋ฒ ๋ฆฌ๋ ์ค๋งํธํฐ ๊ธฐ์ ์์ ๋ค์ณ์ ธ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ทธ๋ค์ ๊ธฐ์กด ์์คํ ์ ์ผ๋ จ์ ๊ฐ์ ๋ ๋ฒ์ ์ ๊ตฌํํ๋ ๊ฒ์ ์ต์ฐ์ ๊ณผ์ ๋ก ์ผ์์ผ ํ์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ ๋์ ์๋ก์ด ์์คํ ์ผ๋ก ์ ํํ๋ ค๊ณ ํ์ต๋๋ค. ๋ธ๋๋ฒ ๋ฆฌ๋ ์๋ ๋ธ๋๋ฒ ๋ฆฌ OS๋ฅผ ์ฌ์ฉํ๋ค๊ฐ 2013๋ ๊ฒฝ์ QNX ์์คํ ์ผ๋ก ์ ํํ์ต๋๋ค. ๋ฌด์จ ์ผ์ด์์? WinRT ๋ฐ Nokia์ ๋์ผํฉ๋๋ค. ๊ทธ๊ฒ์ ๊ทธ๋ค์ ์ฃฝ์๋ค. 2016๋ ๋ธ๋๋ฒ ๋ฆฌ๋ ์์ฒด ํด๋ํฐ ์ค๊ณ๋ฅผ ์ค๋จํ๊ฒ ๋ค๊ณ ๋ฐํํ์ต๋๋ค.
๊ณผ๊ฑฐ ์ด๋ ์์ ์์ Apple์์๋ ๋ฐ์ํ์ต๋๋ค. ์ ํ์ ๊ฑฐ์ ๋ฌด๋์ง ๋ปํ๊ณ ์ด์๋จ์ ๊ฒ์ ์ด์ด ์ข์๋ค. ๋ช ๋ ํ, ์ ํ์ ๊ฒฐ๊ตญ ์ค๋งํธํฐ์ ํตํด ๊ฐ๋ ฅํ ํ๋ณต์ธ๋ฅผ ๋ณด์์ต๋๋ค. ์น๋ช ์ ์ธ ์ค์ ์ดํ์ ์ด์์ ์ด์ด ์ข์ต๋๋ค.
Microsoft๋ WPF ๊ฐ๋ฐ์ ๊ณ์ํ ์ ์๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค. ๋ธ๋ ์ดํน ์ฒด์ธ์ง ๋๋ฌธ์ ์ค๋งํธํฐ/ํ๋ธ๋ฆฟ์ฉ WPF๋ฅผ ์ฌ์ฉํ ์ ์์์ง๋ง ๋ธ๋ ์ดํน ์ฒด์ธ์ง์ ๋ํ ๊ทน๋์ ๋๋ ค์์ด ์๋ ๊ฒฝ์ฐ์ ๋๋ค. ์, ๋ณ๊ฒฝ ์ฌํญ์ ๊นจ๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ๋งค์ฐ ์กฐ์ฌํ๋ ๊ฒ์ด ํ๋ช ํ์ง๋ง ๊ทน๋จ์ ์ผ๋ก ์ทจํ๋ฉด ํ๋ก์ ํธ์ ํ์ฌ๊ฐ ์ฃฝ์ต๋๋ค. ํ์ค์ ๊นจ๋ ๋ณํ๊ฐ ์ค์ ๋ก ๋์ ๋ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. Microsoft๋ ์ค๋งํธํฐ/ํ๋ธ๋ฆฟ/ํฐ์น์คํฌ๋ฆฐ์ ์ง์ํ๋ "WPF 5"๋ฅผ ์ถ์ํ ์ ์์๊ณ ์ฌ๊ธฐ์๋ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋์ด ์๋ค๊ณ ๋ฐํํ์ง๋ง ๊ฐ๋ฐ์๊ฐ ์ฆ์ ์ ๊ทธ๋ ์ด๋ํด์ผ ํ๋ ๊ฒ์ ์๋๋๋ค. ๊ธฐ์กด ์ฑ์ ์ฑ ๊ฐ๋ฐ์๊ฐ ํธ์ํ๊ณ WPF 5๋ก ์ ํํ ์ค๋น๊ฐ ๋ ๋๊น์ง WPF 4๋ก ๊ณ์ ์คํ๋๊ธฐ ๋๋ฌธ์ ์ค๋จ๋์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์ธํด ํผ๋์ด๋ ์คํจ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
์ฃผ์ ๋ณ๊ฒฝ ๋ด์ฉ์ด ํฌํจ๋ NuGet ํจํค์ง์ ์ ๋ฒ์ ๊ณผ ๋์ผํ ์์น์ ๋๋ค. ํจํค์ง์ ์ ๋ฒ์ ์ด ์ถ์๋ ๋ ์ฑ์ด ๊ฐ์๊ธฐ ์ค๋จ๋์ง ์์ต๋๋ค. ์ฌ์ฉ์๋ ๊ณ์ํด์ ์ฑ์ ์ฌ์ฉํ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ํธ์ํ๊ณ ์ต์ ๋ฒ์ ์ NuGet ํจํค์ง๋ฅผ ์ฌ์ฉํ๋๋ก ์ฑ์ ์ ๊ทธ๋ ์ด๋ํ ์ค๋น๊ฐ ๋ ๋๊น์ง ์ฑ์์ ์ด์ ๋ฒ์ ์ ํจํค์ง๋ฅผ ๊ณ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋์ ํ ์ ์์ต๋๋ค.
Microsoft๋ ๊ด๋ฆฌ ์ฝ๋๊ฐ ๋ฐ์ด๋ ์ด์ ์ ์ ๊ณตํ๋ค๊ณ ๋งํ์ผ๋ฉฐ ๊ด๋ฆฌ ์ฝ๋์ ๋น๊ด๋ฆฌ ์ฝ๋๋ฅผ ๋ชจ๋ ์ฌ์ฉํ ๊ฒฝํ์ ๋ฐ๋ฅด๋ฉด ์ด๋ ์ ๋์ ์ผ๋ก ์ฌ์ค์ ๋๋ค. ๋น๊ด๋ฆฌ ์ฝ๋ ์์ฑ ๊ฒฝ๋ ฅ์ ์์ํ์ต๋๋ค. ๋์ค์ Microsoft์ ์ฃผ์ฅ์ ํ ์คํธํ๊ณ ๊ด๋ฆฌ ์ฝ๋๋ก ์ ํํ์ผ๋ฉฐ ์์ฐ์ฑ๊ณผ ์์ ์ฑ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค. ๋์ค์ ๋ง์ดํฌ๋ก์ํํธ๋ ๊ธฐ์ดํ๊ฒ๋ ๊ทธ๋ค์ ์ ์ฅ์ ๋ฐ๊พธ์ด 1993๋ ๋ถํฐ ๋น๊ด๋ฆฌ ์ฝ๋์ ๊ณ ๋ COM(๊ตฌ์ฑ ์์ ๊ฐ์ฒด ๋ชจ๋ธ), ๊ทธ๋ฆฌ๊ณ Win16(Win32๋ผ๊ณ ๋ ํจ)์ ๊ณผ๋ํ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ผ๋ก WinRT๋ฅผ ์์ฑํ์ต๋๋ค. WinRT์ ๊ธฐ๋ฐ์ ์์ญ ๋ ์ด ์ง๋ ๊ธฐ์ ์ ๋๋ค. ๋ค์ดํฐ๋ธ ์ฝ๋, COM ๋ฐ Win16(์ผ๋ช Win32)์ ๋๋ค. ๋๋ถ๋ถ์ ์ฑ ๊ฐ๋ฐ์๊ฐ WinRT/UWP๋ก ์ ํํ๋ ๊ฒ์ ๊บผ๋ฆฌ๋ ๊ฒ์ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค.
Android๋ ์ด์ ์์ฅ์ ๋ฆฌ๋์ ๋๋ค. ๋ง์ดํฌ๋ก์ํํธ๋ ์๋๋ก์ด๋์์ ๋ฐฐ์ธ ์ ์์ต๋๋ค. Android ์ฑ์ ์ผ๋ฐ์ ์ผ๋ก ๊ด๋ฆฌ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋ฉ๋๋ค. Java๋ฅผ ์ซ์ดํ๊ณ C#์ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํ์ง๋ง Java๊ฐ ๊ธฐ๋ณธ Win16 ๋ฐ COM๋ณด๋ค ํจ์ฌ ๋ซ๋ค๊ณ ๋งํด์ผ ํฉ๋๋ค.
์ฌ๋ฌ Microsoft ์ง์์ ์ฌ์ ํ โโ์ข์ ์ผ์ธ ๊ฒ์ฒ๋ผ "๋ค์ดํฐ๋ธ"๋ผ๊ณ ๊ณ์ ๋งํฉ๋๋ค. ์ ๋ "๋ค์ดํฐ๋ธ"๋ก ๊ฒฝ๋ ฅ์ ์์ํ์ผ๋ฉฐ ์๋ ๊ฐ์ ๊ฒฝํ์ ํตํด "๋ค์ดํฐ๋ธ"๊ฐ ๋์ ๊ฒ์์ ์๊ณ ์์ต๋๋ค. ์๋ง์ Android ๊ฐ๋ฐ์๋ค๋ ๋ค์ดํฐ๋ธ๊ฐ ๋์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๋๋ฌด ๋ง์ UWP ์ง์์ด ์ข์ ๊ฒ์ฒ๋ผ ๋งํฉ๋๋ค. @jtorjo ์ ๋ง์ ์ฌ์ฉํ๋ฉด WinRT ํ์ "ํ์ค๊ณผ
์ด ๋ง์ ๊ณ์ํด์ ๋ฐ๋ณตํด์ผ ํฉ๋๋ค. WinRT/UWP๋ ์น๋ช ์ ์ธ ์คํจ์์ต๋๋ค. WinRT ํ์ด WinRT/UWP๊ฐ ์น๋ช ์ ์ธ ์คํจ์์ผ๋ฉฐ Microsoft๊ฐ ๋์ผํ ์ค์๋ฅผ ๊ณ์ ๋ฐ๋ณตํด์๋ ์ ๋๋ค๋ ์ ์ ์ธ์ ํ์ง ์๋๋ค๋ ์๋ฏธ์์ WinRT ํ์ด "ํ์ค๊ณผ ๋๋จ์ด์ง" ์ํ์ด๊ธฐ ๋๋ฌธ์ ์ด ๋ง์ ๊ณ์ ๋ฐ๋ณตํด์ผ ํ์ต๋๋ค. ์๋ฌด ์ผ๋ ์์๋ ๊ฒ์ฒ๋ผ WinRT.
์๋ฅผ ๋ค์ด, ํ์ฌ DataGrid
๋ ์ต์ ๊ด๋ฆฌ ์ฝ๋๋ก ์์ฑ๋์ด ์์ง๋ง WinUI ํ์ "๋ค์ดํฐ๋ธ" ์ฝ๋๋ฅผ ์ฌ์ฉํ๋๋ก DataGrid๋ฅผ ๋ค์ ์์ฑํ๋ ค๊ณ ํ๋ฉฐ ์ค์ ๋ก๋ ๋ค์ด๊ทธ๋ ์ด๋ ๋ฐ ๊ดํ์ผ๋ก ํ๊ทํ ๋ ์ด๊ฒ์ด "์
๊ทธ๋ ์ด๋"๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์์ญ ๋
์ด ์ง๋ ๊ฒ์
๋๋ค. ์ผ๋ฐ์ ์ผ๋ก WinRT/UWP๋ ์ต์ ์ํํธ์จ์ด ์์ง๋์ด๋ง ๋ฐฉ์๊ณผ ๊ตฌ์ ์ํํธ์จ์ด ์์ง๋์ด๋ง ๋ฐฉ์์ด ํผ์ฌ๋์ด ์์ต๋๋ค. ๋ฐ๋ผ์ @jtorjo๊ฐ _"ํ์ค๊ณผ
_"ํ์ค๊ณผ ๋๋จ์ด์ง"_์ ๋ ๋ค๋ฅธ ์๋ WebView2
์ ๋์์ธ์ ๋ณด์ธ์. ๋ง์น ์์ญ ๋
์ ์ธ๋ชจ์๋ ๊ฐ๋
์ ์ฌ์ฉํ๋ ์ ์ปค๋ฆฌ์ด์ ์์์ผ๋ก ์๊ฐ ์ฌํ์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์๋ฅผ ๋ค์ด ํ๋์ ์ธ ์์ธ ์ฒ๋ฆฌ ๋์ HRESULT
์
๋๋ค. WebView2๊ฐ 2020๋
์ ์๋ก์ด ํ๋ก์ ํธ๋ก ์ถ์๋์์ง๋ง HRESULT
๋ฐ LPCWSTR
์ ๊ฐ์ ๊ณ ๋ ๊ธฐ์ ์ ์ฌ์ ํ ์ฌ์ฉํ๋ ๊ฒ์ ๋ณด๋ ๊ฒ์ ๋๋ผ์ด ์ผ์
๋๋ค. WebView2์ ๋์์ธ์ ํ๋์ ์ธ ์ํํธ์จ์ด ์์ง๋์ด๋ง ๋ฐฉ์๊ณผ ๋๋จ์ด์ ธ ์์ต๋๋ค.
๋ฐ๋ผ์ Rich Lander๊ฐ ๋งํ ๋๋ก, ์ด์ ๋ฉ์์ง๋ WinUI ํ ์ ๋ํ ๋์ ์ ์ค ํ๊ฒ ๋ํ๊ฑฐ๋ ์๋ฌด ๋ง๋ ํ์ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ด๊ฐ ํ์ ์กด์คํ์ง ์๋๋ค๋ฉด WinUI๋ฅผ ๋ฌด์ํ๊ณ ๋ฌด์ํ ๊ฒ์ ๋๋ค. ๋๋ ์ด๋ค ๋ฉ์์ง๋ ์์ฑํ์ง ์์ ๊ฒ์ ๋๋ค. ๋๋ WinUI๋ฅผ "ํฌ๋ง์ด ์๋" ๊ทธ๋ฆฌ๊ณ "์์ด๋ฒ๋ฆฐ ์์ธ"์ผ๋ก ๋ณผ ๊ฒ์ด๊ณ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ง ์์ ๊ฒ์ ๋๋ค. ๋ชจ๋. ์ ๊ฐ ์์ธํ ํผ๋๋ฐฑ์ ํด์ค๋ค๋ ๊ฒ์ ์ ๊ฐ ํ์ ์กด์คํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ํผ๋๋ฐฑ์ ์ ๊ณตํ์ง ์์ต๋๋ค. ์ด๋ ํ์ ๋ํ ๋ฌด๋กํ ํ๋์ ๋๋ค. ํ์ด ๋๋ฌด ์ ๋ง์ ์ด์ด์ ํผ๋๋ฐฑ์ ์ธ ๊ฐ์น๊ฐ ์๋ค๊ณ ๋ณด๋ ๊ฒ์ ๋ฌด๋กํ ์ผ์ ๋๋ค.
๋ฒ์ ์ ์ฐ๋ค๋ฉด ํ์ฌ์ ๋ฐฐ์งฑ์ด ์ซ๋๋ผ๋ ์์ฃผ ์ ์คํ๊ฒ ํ์ฌ์๊ฒ "ํ์ฌ๋"์ด๋ผ๊ณ ๋งํ์ ๊ฒ์ ๋๋ค. ๊ทน๋์ ๊ณต์ํจ์ ๋ฌด๋กํจ์ ๋๋ค. ํ์ฌ๋ค์ "Your Honor"๋ฅผ ์กด๊ฒฝ์ผ๋ก ํด์ํ์ง๋ง ์ค์ ๋ก๋ ๋ฌด๋กํฉ๋๋ค.
Microsoft๋ WPF ๋ฐ .NET Framework์ ์ ๋ฒ์ ์ ์์ฑํ๋ ๋์ WinRT/UWP์ ์ฐฉ์ํ์ต๋๋ค. ...
๋์. ๋๋ ์ง๊ธ ๊ฝค ๋ช ๋ฌ ๋์ UWP๋ฅผ ๊ฐ๋ฐํด ์์ต๋๋ค... ๊ฝค ๋ง์ ์ ํ ์ฌํญ์ด ์์ง๋ง ๊ทธ๊ฒ์ ๋ํด "์ "ํ๊ธฐ ์ํด ์ต์ ์ ๋คํ๊ณ ์ด๋ ์ ๋ ์งํํ์ต๋๋ค. ํ์ง๋ง ์ผ์ ํ๋ฉด ํ ์๋ก ํ๊ณ๊ฐ ์ฌ์ค์ UWP๊ฐ ์๋๋ผ WinRT๋ผ๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค.
๋ฌธ์ ๋ ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๊ฐ๊ณ ์๋ ๊ฒ์ด๋ฉฐ ๋ถ๋ช ํ ์์ผ๋ก ๋์๊ฐ์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ด ์๊ฐ์๋ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
(ps ํ์ผ์ ์์ฑ์ ์ป์ผ๋ ค๋ฉด ๋น๋๊ธฐ ํจ์๋ฅผ ํธ์ถํด์ผ ํ๋ค๋ ์ฌ์ค์ด ์ฌ์ ํ ์ ๋ฅผ ์์ฐํ๊ฒ ๋ง๋ญ๋๋ค)
๊ด๋ฆฌ ์ฝ๋์ ๋ํ ๊ด์ ์ ๋ฐ์
WinRT์์ COM์ ๋ค๋ฃจ์ด์ผ ํ๋ ์ด์ ๋ ์ ๋ง ์ดํด๊ฐ ๋์ง ์์ต๋๋ค. ์ค๋๋ DCOM ์ฝ๋๋ ๋ค๋ฅธ ๊ฒ์ ํฌ์ฅํ ๊ฒ ๊ฐ์ง๋ง WinRT ์ฌ์ฉ์์๊ฒ๋ 100% ์จ๊ฒจ์ ธ ์์ด์ผ ํฉ๋๋ค.
COM์ ์์์ผ ํ๋ค๋ ์ฌ์ค์ ์ ๋ง ๋์ ๊ฒ์
๋๋ค. ๋ค์ ํ ๋ฒ, ๊ฐ๋ฅํ ํ ๋ง์ด ์จ๊ฒจ์ผ ํ๋ฉฐ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์์ธ ๋์๊ฒ ์จ๊ฒจ์ ธ ์์ด์ผ ํฉ๋๋ค.
[๋์ค์ ํธ์ง] ์ด์ ์๊ฐํด ๋ณด๋ DirectX๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด ์ต์ํ COM์ด ํ์ํฉ๋๋ค. ๊ทธ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์์๊ฒ๋ ๊ฐ๋ฅํ ํ ์จ๊ฒจ์ ธ ์์ด์ผ ํฉ๋๋ค.
์ฌ๋ฌ Microsoft ์ง์์ ์ฌ์ ํ โโ์ข์ ์ผ์ธ ๊ฒ์ฒ๋ผ "๋ค์ดํฐ๋ธ"๋ผ๊ณ ๊ณ์ ๋งํฉ๋๋ค.
๋ค์ดํฐ๋ธ๋ ".net ๋ค์ดํฐ๋ธ๋ก ์ปดํ์ผ"์ด๋ผ๋ ๋งฅ๋ฝ์์ ์ข์ ์ผ์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ์ ํ ์ฌํญ์ด ๋ง์์ ๋ค์ง ์์ต๋๋ค. ๋ด ํ๋ก์ ํธ๋ UWP๋ก ํฌํ ํ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ๊ฐ๋ ฅํ Store ์ง์์ด "ํ์ฉํ ์ ์๋ค"๊ณ ์๊ฐํ๋ ์ผ๋ถ API๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ .net ๋ค์ดํฐ๋ธ๋ก ์ปดํ์ผํ์ง ๋ชปํฉ๋๋ค. ๋ฌธ์ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ https://github.com/naudio/NAudio - ์์ฒญ๋๊ฒ ๊ฐ๋ ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ์ด๋ฌํ ์ด์ ๋ก ๋๋ ๋จ์ํ ๋ด ์ฑ์ MS ์คํ ์ด์ ๊ฒ์ํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ๋งํ์ต๋๋ค.
_"ํ์ค๊ณผ ๋๋จ์ด์ง"_์ ๋ ๋ค๋ฅธ ์๋
WebView2
์ ๋์์ธ์ ๋ณด์ธ์. ๋ง์น ๋ด ๊ฒฝ๋ ฅ์ ์์์ ์ผ๋ก ์๊ฐ ์ฌํ์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
100% ํ์ ํ ์๋ ์์ง๋ง ์๋ง๋ ๋น์ ์ด ๋ง์ ๊ฒ์ ๋๋ค. WebView๊ฐ Win32 ์ปจํธ๋กค์ ๋ํ ๋ํผ๋ผ๋ ๊ฒ์ ์๊ณ ์์ผ๋ฉฐ WebView๊ฐ ๋ค๋ฅธ ์ปจํธ๋กค ์์ ์์ ๋ WebView ๋งํฌ๊ฐ ์๋ํ์ง ์๋๋ค๋ ์ด์ํ ๋ฒ๊ทธ๋ฅผ ์๊ณ ์์ต๋๋ค.
์๋ ํ์ธ์ @roblo ๋
๋ฆ์ ๋ต๋ณ ์ฃ์กํฉ๋๋ค
๋ช ๋ ์ ์ฒ์ WPF ์ฑ์ ํฌํ ํ๊ธฐ ์์ํ์ ๋ ๋๋ ๋น์ ์ ์ข์ ์์ค์ด์์ต๋๋ค. ๊ทธ๋์ ๋๋ ํ์คํ ๋น์ ์ ๋ง์์ ์ดํดํฉ๋๋ค. ๊ทธ ์ดํ๋ก ์ฝ๊ฐ์ ์ง์ ์ด ์์๊ณ ๋น์ ์ด ๋งํ๋ฏ์ด WinUI ํ์ ์ ๋ง๋ก ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
์, ์ ์ ์ผ๋ก ๋์ํฉ๋๋ค. 2016-2017๋ ์๋ UWP๋ฅผ ๊ฑด๋๋ฆฌ์ง๋ ์์์ต๋๋ค.
๋ด ๊ด์ ์์ ๋ณผ ๋ ์ฐ๋ฆฌ๊ฐ ํด๊ฒฐํ ์ ์๋ ๊ทผ๋ณธ์ ์ธ ๋์์ธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. WinRT๋ C++ ๋ฐ JavaScript์ ์ง์ ์ํธ ์ด์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์ ์ ์ผ๋ก ์ฅ์ ๊ฐ ์์ต๋๋ค.
๊ทธ๊ฒ์ ์ฌํ ์ผ์ด ์๋๋๋ค... JS ์ํธ ์ด์ฉ์ฑ์ ์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
...๋ ์์ด๊ณ ๋ค๋ฅธ ํ๋๋ )์ ๋๋ค. ์ ๋ค๋ฆญ๊ณผ ๊ฐ์ ๋ง์ ๊ณ ๊ธ ๊ฐ๋ ๊ณผ ์ค์ ๋ก ์ ์๋ํ์ง ์์ต๋๋ค. ๋ฌผ๋ก ์ด ์ํคํ ์ฒ์๋ ํ ๊ฐ์ง ํฐ ์ด์ ์ด ์์ต๋๋ค. ์ด์ ๋ชจ๋ Windows์์ ๋์ผํ WinRT API๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
๋ด๊ฐ WinRT์ ๋ํด ์ซ์ดํ๋ ๊ฒ์ด ๋ง์ด ์์ต๋๋ค. ๋ชฉ๋ก์ ํ๋๊ฐ ๋ ์์ต๋๊น?
๋ด๊ฐ ์ด๊ฒ์ ๋ํด ์์์ผ ํ๋ค๋ ์ฌ์ค์กฐ์ฐจ ๋์๋ค. ์ฌ์ค, ๋๋ 2๊ฐ์ ์์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด์ผ ํ๊ณ , ์ค์ ๋ก ๋ด๊ฐ ๋ฌด์์ ์ฌ์ฉํ ์ ์๋์ง ์ดํดํ๊ธฐ ์ํด ์ํ์ฐฉ์ค๋ฅผ ๊ฒช์์ต๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์๋ ๋์ ์ต์ํด์ ธ ์จ ๊ด๋ฆฌ ์ฝ๋์ ๋ช ๊ฐ์ง ํน์ ์ ์์ด๋ฒ๋ ธ์ต๋๋ค. ํ์คํ ์ฌ์ ํ WPF์์ ํ ๊ฑธ์ ๋ค๋ก ๋ฌผ๋ฌ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ์ ๋ ํญ์ ๋ฒ๊ทธ์ ๋ถ์์ ํ ๊ธฐ๋ฅ์ ์ฐพ์ต๋๋ค. #1830์ WPF ์๋์๋ ์ ๋ ์ผ์ด๋์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ ์ด๋ป๊ฒ๋ ์์ผ๋ก ๋์๊ฐ์ผ ํฉ๋๋ค.
๊ทธ๋, ์ฐ๋ฆฌ๋...
WinUI 3.0์ ์ ์ด๋ ํ๋ก ํธ์๋์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ ๋จ๊ณ์ ๋๋ค. ํ์ง๋ง Microsoft๋ ์๋ก์ด ์ปจํธ๋กค์ ์ถ์ํ๊ธฐ ์ ์ ๋ ๊ฐ๋ ฅํ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋ ๋ง์ ํ ์คํธ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค... [...]
100% ๋์ํฉ๋๋ค.
ํ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ UI ํ๋ซํผ์ด์๋ WPF๊ฐ ์ด๊ฒ์ผ๋ก ์งํํ๋ ๊ฒ์ ๋ณด๋ ์ํ๊น์ต๋๋ค. ๊ทธ๋ฌ๋ Microsoft๋ ์ด์ ๋๋ฆฌ์ง๋ง ํ์คํ๊ฒ ํผ๋๋ฐฑ์ ๋ฃ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์ต๋๋ค. ํด์ผ ํ ์ผ์ด ๋ ๋ง๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
์, MS์๋ ๋ถ๋ช ํ ๋ฃ๊ณ ์๋ ๋ฉ์ง ์ฌ๋๋ค์ด ์์ต๋๋ค . ์ฐ๋ฆฌ๊ฐ ์ด๊ฒ์ ๋ค์ง์ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค...
ํ์ผ ์ฟผ๋ฆฌ API๋ ๋๋ฆผ์ ๋์ด
๋ถ๋ช
ํ ๋๊ตฐ๊ฐ๊ฐ ์ด์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ๋ถ๋ช
ํ, ์ด ์์
์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ ๊ฒ์ ์ ๋ง ์ฌํ ์ผ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ ๊ฐ ํ์ผ ๊ฒ์์ ์ฒ๋ฆฌํ ๋ ์ ํธํ๋ ๋ฐฉ์์ ์๋์ง๋ง ์ ์ด๋ ์ค์ ๋ก๋ ์๋ํฉ๋๋ค.
https://github.com/microsoft/microsoft-ui-xaml/issues/1465#issuecomment -575987737
@duke7553 ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
@jtorjo ๊ธฐ๊บผ์ด ๋์์ฃผ์ธ์!
์ ๋ ์ด ํ ๋ก ์ด ๋งค์ฐ ํฅ๋ฏธ๋กญ๊ณ ์ค์ ๋ก Windows UI์ ๋ฏธ๋์ ๋งค์ฐ ๊ด๋ จ์ด ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค. WinUI๊ฐ ์ง๊ณต ์ํ์ ์์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด ์ ์ฒด ๋ฆฌํฌ์งํ ๋ฆฌ๋ WinRT/UWP ์ด์ธ์ ๋ค๋ฅธ ํญ๋ชฉ์์ ์คํ๋๋ ์ฑ์ ๋ง๋๋ ๋ฐ ์ ์ฉํ์ง ์๋ ํ ๊ฑฐ์ ๊ฐ์น๊ฐ ์์ต๋๋ค. WinUI 3.0์ ๊ณง ๋์ฌ ์ ์์ต๋๋ค.
Windows์ UI์ ๋ํ ๋น์ ๊ณผ ๋ก๋๋งต์ด ์์ง๋ง ์คํ์ ๋งจ ์์ ์๊ณ ํด๋น ํ๋ฉด ๋ ์ด์ด ์๋์ ์๋ ๋ด์ฉ์ ๋ํ ๋น์ ์ด ์์ต๋๋ค.
WinUI๊ฐ ์ข์ ๋ณด์ด๋์? ์
์ง๊ธ(2020๋
1์) Windows์์ ํ๋์ ์ด๊ณ ๋ฉ์ง ์ฑ์ ๋ง๋ค ์ ์์ต๋๊น? ์๋์
UWP๋ก ์ข์ ์ฑ์ ๋ง๋ค ์ ์๋์? ์ง์ฅ NO!
์ฐ๋ฆฌ๋ ๋ฐฉ์ ์ฝ๋ผ๋ฆฌ๋ฅผ ๋ค๋ฃจ์ง ์๊ณ ๋ ์์ผ๋ก ๋์๊ฐ ์ ์์ต๋๋ค. ์์์ WinRT์ UWP๊ฐ ๋น์ฆ๋์ค ๋ฉด์์๋ฟ๋ง ์๋๋ผ ๊ธฐ์ ์ ์ผ๋ก๋ ์์ ํ ์คํจํ๋ค๋ ์ฌ์ค์ ์ธ๊ธํ์ต๋๋ค. ๋๋ ๊ฐ์ธ์ ์ผ๋ก ์ ์ฒด ์์ ์ํฉ๋๋ค. ๋ด ์ฑ์ด ์ด์ ์ ์์์ ๋ ์๋ฆฌ๋ฅผ ์ฌ์ํ๋ ๋ฐฉ๋ฒ์ ์์๋ผ ์ ์์ ๋ ์ทจ๋ฏธ ํ๋ก์ ํธ ๊ฐ๋ฐ์ ์ค๋จํ์ต๋๋ค. ํ์ฐฎ์. ์ฌ์ํ ์ผ๋ UWP๋งํผ ์ด๋ ค์์ผ ํฉ๋๊น? ์ฌ์ํ ์ผ์ด ๋ถ๊ฐ๋ฅํ ์ ๋๋ก ์ด๋ ค์ธ ๋ ํ๋ซํผ์ ํ๋ฅญํ๋ค๊ณ ํ ์ ์์ต๋๊น? WinUI๋ ํ๋ซํผ์ ์ผ๋ถ์ผ ๋ฟ์ ๋๋ค.
๋ฐฉ์ ์๋ ๋ ๋ค๋ฅธ ์ฝ๋ผ๋ฆฌ. ๋๊ตฐ๊ฐ๊ฐ ์ Windows ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ์ถ๋ค๊ณ ๋ฌป๋๋ค๋ฉด ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น? 2020๋ 1์ ์ ๋ต์ ์๋ค! ๋ต๋ณ์ UWP๋ฅผ ๋ฃ์ผ๋ ค๊ณ ํ๋ฉด ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆด ๊ฒ์ ๋๋ค. (๋๊ตฐ๊ฐ๊ฐ ๋ค์๊ณผ ๊ฐ์ด ๋งํ ๋๊ธ, ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ, YouTube ๋์์์ด ์์ต๋๊น? UWP๋ก ํ๋ฅญํ ์ฑ์ ๋ง๋ค์๊ณ ๊ทธ ๊ณผ์ ์ด ๋ง์์ ๋ค์์ต๋๊น? ์ฐ๋ฆฌ ๋ชจ๋๋ ๊ทธ๋ ์ง ์๋ค๋ ๊ฒ์ ์๋๋ค. ์๋ฌด๋ UWP๋ก ์ฑ์ ๋ง๋๋ ๊ฒ์ ๋ํด ๊ธ์ ์ฐ์ง ์๊ณ ๋ง ๊ทธ๋๋ก ๊ทธ๋ ์ต๋๋ค. ์ธํฐ๋ท์ ์กด์ฌํ์ง ์์). WPF? ํ๋์ ์ธ ์ปจํธ๋กค์ด ์์ - ์ฃฝ์ ๊ธฐ์ , ์ข์ ์๊ฐ์ ์๋๋๋ค(๊ทธ๋๋ UWP๋ณด๋ค ๋ซ์ต๋๋ค). ์ ์งํ ๋๋ต์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ ์๋ฅผ ์ฌ์ฉํด๋ณด์ญ์์ค. ์๋ง๋? VSCode๋ ๊ทธ๊ฒ์ผ๋ก ๋ง๋ค์ด์ก๊ธฐ ๋๋ฌธ์ ์ข์ ์ฑ์ ๋ง๋ค ์ ์๋ค๋ ๊ฒ์ ์๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋น์ ์ด ์ํ๋ ์ด๋ค ์ธ์ด๋ก๋ ์๋์ฐ์ฉ ์ฑ์ ๋ง๋ค ์ ์๋ค๋ ์ด ์์ด๋์ด๋ ๊ทธ์ ๋ง์ฐํ ์๊ฐ์ผ ๋ฟ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋น์ ์ด ์ํ๋ ์ด๋ค ์ธ์ด๋ก๋ ์์ฃผ ๋์ UWP ์ฑ์ ๋ง๋ค ์ ์๋ ์ํฉ์ ์์ต๋๋ค. ๋ด์ ์ ์ด๋ ํ๋์ ํ๋ฅญํ ๋ฐฉ๋ฒ์ด ์๋๋๋ค.
์ ์ ์ฐ๋ ๋์์ ์ธ๊ธํ ๋ค์ด๋น? ์์ ํ ๋์ํฉ๋๋ค. Visual Studio - Juggernaut ์์ฒด(UI)๋ ๊ด๋ฆฌ ์ฝ๋์ธ WPF๋ก ๋ง๋ค์ด์ง๋๋ค. ํ๋ฅญํฉ๋๋ค. ์ฌ์ง์ด ํ์์ ์ ๋๋ค. ๋ง์ดํฌ๋ก์ํํธ๋ ์ด ์ํผ๋ฆฌ์จ ๋ค์ดํฐ๋ธ ์ฝ๋๋ก OK ์ฑ์ ๋ง๋ค ์๋ ์์ง๋ง. ๋๋ OneNote, ๋ ์จ, ์ฌ์ง์ด ์์/๊ฒ์/์์ ํ์์ค์์ ๋งค์ผ ์๊ธฐ์น ์์ ๋์์ ๋ด ๋๋ค. ๋ถ์์ ํ ๋๋์ด ๋ค๊ณ ๋๋๋ก ์ด์ ์ด ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค.
์ด๊ฒ์ ํ๋ถํ๊ณ ์ค์ํ ์ฃผ์ ์ ๋๋ค. WinUI์ ๋งค์ฐ ๊ด๋ จ์ด ์์ผ๋ฉฐ ์ฌํ๊ฒ๋ ๊ทธ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ธฐ์ ๋ ์ข์ ๊ณณ์ด ์์ต๋๋ค. ์ด๋ฌํ ํญ๋ชฉ์ Microsoft์์ ๊ณต๊ฐ์ ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
Windows์ UI์ ๋ํ ๋น์ ๊ณผ ๋ก๋๋งต์ด ์์ง๋ง ์คํ์ ๋งจ ์์ ์๊ณ ํด๋น ํ๋ฉด ๋ ์ด์ด ์๋์ ์๋ ๋ด์ฉ์ ๋ํ ๋น์ ์ด ์์ต๋๋ค.
WinUI๊ฐ ์ข์ ๋ณด์ด๋์? ์
๊ทธ๋ ์ต๋๋ค!
์ง๊ธ(2020๋ 1์) Windows์์ ํ๋์ ์ด๊ณ ๋ฉ์ง ์ฑ์ ๋ง๋ค ์ ์์ต๋๊น? ์๋์
๋๋ ๋น์ ์ด ํ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค - ํ์ง๋ง ๊ทธ๊ฒ์ ์ ๋ง ์ ๋ง ์ด๋ ต์ต๋๋ค. ์ฌ์ํ ์ผ์ ํ๊ธฐ๊ฐ ์์ฒญ๋๊ฒ ์ด๋ ต์ต๋๋ค(๋๋ ๊ทธ๊ฒ์ด ๊ฐ๋ฅํ๋ค๋ ์ด์์๋ ์ฆ๊ฑฐ์ด์ง๋ง, ๋น์ ์ ํ์คํ ๊ฐ์ฒ ์ ์ ๊ฒฝ์ด ํ์ํฉ๋๋ค):
์ฐ๋ฆฌ๋ ๋ฐฉ์ ์ฝ๋ผ๋ฆฌ๋ฅผ ๋ค๋ฃจ์ง ์๊ณ ๋ ์์ผ๋ก ๋์๊ฐ ์ ์์ต๋๋ค. ์์์ WinRT์ UWP๊ฐ ๋น์ฆ๋์ค ๋ฉด์์๋ฟ๋ง ์๋๋ผ ๊ธฐ์ ์ ์ผ๋ก๋ ์์ ํ ์คํจํ๋ค๋ ์ฌ์ค์ ์ธ๊ธํ์ต๋๋ค. ๋๋ ๊ฐ์ธ์ ์ผ๋ก ์ ์ฒด ์์ ์ํฉ๋๋ค. ๋ด ์ฑ์ด ์ด์ ์ ์์์ ๋ ์๋ฆฌ๋ฅผ ์ฌ์ํ๋ ๋ฐฉ๋ฒ์ ์์๋ผ ์ ์์ ๋ ์ทจ๋ฏธ ํ๋ก์ ํธ ๊ฐ๋ฐ์ ์ค๋จํ์ต๋๋ค. ํ์ฐฎ์. ์ฌ์ํ ์ผ๋ ์๋ ๋งํผ ํ๋ค์ด์ผ ํฉ๋๊น?
๋์. ์ค์ ๋ก WPF์์ SystemSounds.Beep.Play()
์ ๊ฐ์ ์์คํ
์ฌ์ด๋๋ฅผ ์ฌ์ํ๋ ๊ฒ์ UWP์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก "ํ๋ฅญํ" WinRT ์ ํ์ผ๋ก ์ธํด UWP์๋ ์ฌ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ต๋๋ค. ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก win32์ธ DLL์์ ํจ์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์์ ์๋ฏธํฉ๋๋ค. ๊ฑฐ์ ๋ชจ๋ ์ ์ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ UWP๋ก ์ด์ํ ์ ์์ต๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฑ๋ ์์ต๋๋ค.
UWP์ "์ฌ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ"์์ naudio๋ UWP์์ ์๋ํ๊ธฐ ์ํด ์ต์ ์ ๋คํ์ต๋๋ค. ๋ถ๋ช ํ, ๊ทธ๊ฒ์ ํํํ๊ฒ ๋จ์ด์ก์ต๋๋ค. ํฌํฌ๋ฅผ ์ํํ๊ณ ๋ง์ #ifdef๋ฅผ ์ ๊ฑฐํ์ผ๋ฉฐ ์ด์ ํ์์ ๋ง๊ฒ ์๋ํฉ๋๋ค. ๋ด ์ฑ์ MS Store์ ๊ฒ์ํ ์ ์์ผ๋ฉฐ, ๊ทธ๋ ๊ฒ ํ๊ณ ์ถ์ง๋ ์์ต๋๋ค.
๋ด ์๊ฐ์ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ ๊ฐ์ฅ ์ข์ ๋จ๊ณ๋ MS๊ฐ
๋ฐฉ์ ์๋ ๋ ๋ค๋ฅธ ์ฝ๋ผ๋ฆฌ. ๋๊ตฐ๊ฐ๊ฐ ์ Windows ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ์ถ๋ค๊ณ ๋ฌป๋๋ค๋ฉด ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น? 2020๋ 1์ ์ ๋ต์ ์๋ค! ๋ต๋ณ์ UWP๋ฅผ ๋ฃ์ผ๋ ค๊ณ ํ๋ฉด ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆด ๊ฒ์ ๋๋ค. (๋๊ตฐ๊ฐ๊ฐ ๋ค์๊ณผ ๊ฐ์ด ๋งํ ๋๊ธ, ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ, YouTube ๋์์์ด ์์ต๋๊น? UWP๋ก ํ๋ฅญํ ์ฑ์ ๋ง๋ค์๊ณ ๊ทธ ๊ณผ์ ์ด ๋ง์์ ๋ค์์ต๋๊น? ์ฐ๋ฆฌ ๋ชจ๋๋ ๊ทธ๋ ์ง ์๋ค๋ ๊ฒ์ ์๋๋ค. ์๋ฌด๋ UWP๋ก ์ฑ์ ๋ง๋๋ ๊ฒ์ ๋ํด ๊ธ์ ์ฐ์ง ์๊ณ ๋ง ๊ทธ๋๋ก ๊ทธ๋ ์ต๋๋ค. ์ธํฐ๋ท์ ์กด์ฌํ์ง ์์). WPF? ํ๋์ ์ธ ์ปจํธ๋กค ์์ -
์, ๋์ํฉ๋๋ค. UWP์์ ์ข์ ๋ฆฌ์์ค๋ฅผ ์ฐพ๋ ๊ฒ์ ๊ฑฐ์ 0์ ๊ฐ๊น์ต๋๋ค. ๋ง์ ๋ฌธ์ ๋ฅผ ์ค์ค๋ก ํด๊ฒฐํ๊ณ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
์ฃฝ์ ๊ธฐ์ , ์ข์ ์๊ฐ์ ์๋๋๋ค(๊ทธ๋๋ UWP๋ณด๋ค๋ ๋ซ์ต๋๋ค). ์ ์งํ ๋๋ต์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ ์๋ฅผ ์ฌ์ฉํด๋ณด์ญ์์ค. ์๋ง๋? VSCode๋ ๊ทธ๊ฒ์ผ๋ก ๋ง๋ค์ด์ก๊ธฐ ๋๋ฌธ์ ์ข์ ์ฑ์ ๋ง๋ค ์ ์๋ค๋ ๊ฒ์ ์๋๋ค.
WPF์ ๋ํด ์นญ์ฐฌ์ ๋ง๋ง ์์ต๋๋ค. ๋๋ ๊ฝค ๋ช ๋ ๋์ ๊ฐ๋ฐํ์ต๋๋ค. ํ์ต ๊ณก์ ์ด ์๋นํ ๊ฐํ๋ฅด์ง๋ง ์ผ๋จ ์ต์ํด์ง๋ฉด ๋๋์ต๋๋ค! ๋๋ ๊ฒฐ์ฝ ๊ณ ์ณ์ง์ง ์์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์๋ ๋ช ๊ฐ์ง ํ๋์ฝ์ด ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ์ง๋ง, ๊ทธ๊ฒ ์ ๋ถ์ ๋๋ค.
๋ด ์ฑ์ ์ถฉ๋ถํ ๋น ๋ฅด๊ฒ ๋ง๋ค๊ธฐ ์ํด win2d๋ฅผ ์ฌ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ UWP๋ก ์ด๋ํด์ผ ํ์ต๋๋ค. UI์ ๊ด๋ จํ์ฌ UWP์์ ๋๋ฝ๋ ๊ฒ์ด ์์ต๋๋ค(์: ํฌํ
์ ์์ํ ๋น์ ์ปจํธ๋กค์ ๋ํด Cursor
๋ฅผ ์ ์ํ๋ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ์ด ์์). ํ์ง๋ง ๋์ฒด๋ก ์ ๋ ํญ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. .
์ ์ ์ฐ๋ ๋์์ ์ธ๊ธํ ๋ค์ด๋น? ์์ ํ ๋์ํฉ๋๋ค. Visual Studio - Juggernaut ์์ฒด(UI)๋ ๊ด๋ฆฌ ์ฝ๋์ธ WPF๋ก ๋ง๋ค์ด์ง๋๋ค. ํ๋ฅญํฉ๋๋ค. ์ฌ์ง์ด ํ์์ ์ ๋๋ค. ๋ง์ดํฌ๋ก์ํํธ์กฐ์ฐจ ํ ์ ์๋ ๋์
๋ถ๋ช ํ, ๋๋ ํ์ UWP์์ Visual Studio๋ฅผ ๋ง๋ค ์ ์๋ค๊ณ ํ์ ํฉ๋๋ค. UI์ ๋ํด ๋งํ๋ ๊ฒ์ด ์๋๋ผ Visual Studio์ UI์ ์ผ์นํ๊ณ ๋ฅ๊ฐํ ์ ์์ง๋ง ๋๋จธ์ง๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ...
์ด๊ฒ์ ํ๋ถํ๊ณ ์ค์ํ ์ฃผ์ ์ ๋๋ค. WinUI์ ๋งค์ฐ ๊ด๋ จ์ด ์์ผ๋ฉฐ ์ฌํ๊ฒ๋ ๊ทธ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ธฐ์ ๋ ์ข์ ๊ณณ์ด ์์ต๋๋ค. ์ด๋ฌํ ํญ๋ชฉ์ Microsoft์์ ๊ณต๊ฐ์ ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
100% ๋์ํฉ๋๋ค!
์ง๊ธ(2020๋ 1์) Windows์์ ํ๋์ ์ด๊ณ ๋ฉ์ง ์ฑ์ ๋ง๋ค ์ ์์ต๋๊น? ์๋์
๋๋ ๋น์ ์ด ํ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค - ํ์ง๋ง ๊ทธ๊ฒ์ ์ ๋ง ์ ๋ง ์ด๋ ต์ต๋๋ค. ์ฌ์ํ ์ผ์ ํ๊ธฐ๊ฐ ์์ฒญ๋๊ฒ ์ด๋ ต์ต๋๋ค(๋๋ ๊ทธ๊ฒ์ด ๊ฐ๋ฅํ๋ค๋ ์ด์์๋ ์ฆ๊ฑฐ์ด์ง๋ง, ๋น์ ์ ํ์คํ ๊ฐ์ฒ ์ ์ ๊ฒฝ์ด ํ์ํฉ๋๋ค):
- UI ์ ๋ฉด์๋ ๋ฌธ์ ๊ฐ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
- "๋ค๋ฅธ ๋ชจ๋ ๊ฒ" ์ ๋ฉด์์๋ ์ํฉ์ด ๋งค์ฐ ์ด๋ก์ต๋๋ค.
- UWP์์ ํ์ผ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ StorageFile/Folder API๋ก ์ธํด ์์ ํ ์ง์ฅ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์์ ๊ตฌํ๋นํ ๊ฐ์ ๊ฐ์ต๋๋ค. Windows ๋ฐ์คํฌํ์ ์ํ ์๋ก์ด ์ต์ ์ฑ์ ๋ง๋๋ ๊ฒ์ ์ค์ ๋ก ๋๋ฌด ์ด๋ ต์ต๋๋ค! ์ฑ์ ์คํํ๋ ํ๋ฅญํ ๋ฐฉ๋ฒ์ด ์ ์ด๋ ํ๋๋ ์์ด์ผ ํ์ง ์์ต๋๊น? Windows์์ Microsoft Store๋ก ์ด๋ํ์ฌ ์ฑ ๋ฒ์ฃผ๋ฅผ ์คํฌ๋กคํ๋ ค๊ณ ํ๋ฉด UWP๋ก ๋ง๋ ๊ด์ฐฎ์ ์ฑ์ ์ฐพ์ ์ ์์ต๋๋ค. Btw ๋ด๊ฐ ์ง์ ํ์ธํ ์๋ ์๊ธฐ ๋๋ฌธ์ ...
๋ค, "๋ชจ๋", "๋ค์ดํฐ๋ธ" ์ฑ ์ ์ฌ ์๋ ์ฌ๋ฌ๋ถ. Windows๋ ์ด์ ๊ฑฐ์ ๋ฌด๋ฃ์ด๊ธฐ ๋๋ฌธ์ ์์ต ์ฐฝ์ถ์ ์ฃผ์ ์์ค๋ ์์คํ ์์ ๊ฐ์ฅ ๊ฒฌ๊ณ ํ ์ฑ์ด ๋์ด์๋ ์ ๋ฉ๋๋ค. ์ค์ ๋ก ์ด๋ค ๊ธฐ์ ๋ก ์ฑ์ ๋ง๋ค์๋์ง ์๊ธฐ ์ํด ์ฑ์ ์กฐ์ฌํ ํ์๋ ์์ต๋๋ค. ํ ๋ฒ๋ง ๋ด๋ UWP๋ก ๋น๋๋์๋์ง ์ ์ ์์ต๋๋ค. UWP๋ก ๊ตฌ์ถ๋ ์ฌ๊ฐํ ์์ฉ ํ๋ก์ ํธ๋ ์์ผ๋ฉฐ, UWP๋ก ๊ตฌ์ถ๋ ๊ฒ์ ... ์์๋ค์ํผ ...
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋๋ฌด ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค. Window10์ ์ธํฐ๋ท, ์๋๋ก์ด๋ ๋ค์์ผ๋ก ํฐ ํ๋ซํผ์ ๋๋ค!!! ๊ทธ๋ฌ๋ ์๋ฌด๋ ๊ทธ ๋ชฉ์ ์ ์ํด ๋ง๋ค์ด์ง ๋๊ตฌ๋ก ์ฑ์ ๋ง๋ค๊ณ ์์ง ์์ต๋๋ค! ๊ทธ๊ฒ์ ๋ํด ์๊ฐํด๋ณด์ญ์์ค. UWP๊ฐ ์๋ Windows์ฉ๋ณด๋ค 3๊ฐ์ง ์ด์ ์ฒด์ ์ฉ Electron ์ฑ์ ๋น๋ํ๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค!
์ฐ์ํ ๋๊ตฌ๋ฅผ ์๊ตฌํ๋ Windows ๋ฐ์คํฌํฑ ์ฑ์ ๊ตฌ์ถํ๋ ค๋ ๊ตฌํ๋นํ ์ฐ๋ฆฌ์๊ฒ ๊ด์ฐฎ์ต๋๊น? ๋๋ ๋น๋นํ๊ฒ ์๋ผ๊ณ ๋งํฉ๋๋ค! ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ์๊ฒ ์๋ ๊ฒ์ Microsoft์ ๋ฌด์ ๋ฌด์๋ฟ์ ๋๋ค. ์ฑ์ด Holo Lens, Windows Phone ๋๋ Xbox์์ ์๋ํ ์ ์๋ค๋ ๋ํ๋ฅผ ๋๊ฐ ๋ฃ๊ณ ์ถ์ต๋๊น? ์๋ฌด๋. 5๋ ํ UWP์ ๋ํด ์ฝ์๋ ํ๋ซํผ์์ ์๋ํ๋ ์์ฉ ์ฑ์ด ์์ต๋๋ค. (๋๋ถ๋ถ ํด๋น ํ๋ซํผ์ด ์ข ๋ฃ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค). ๋ค์ ํ ๋ฒ ์๊ฐํด๋ณด์ธ์! ์ฐ๋ฆฌ์๊ฒ ์ผ์ด๋ ๊ฐ์ฅ ์ข์ ์ผ์ WinUI๊ฐ ์ด์ win32๋ก ๋ค์ ํฌํ ๋๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค.
์ ๋ Windows ๋ฐ์คํฌํ์ ์ข์ํ๊ณ WinForms ๋ฐ WPF์์ C#์ ํ๋ก๊ทธ๋๋ฐํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ์ ๋ฉ์ฒญํ ๋์๊ฒ๋ ์ฝ๊ณ ํ๋ฅญํ์ต๋๋ค. ์ค๋ ์ ๋ WinUI์ ์ด ๋ฉ์ง ์ปจํธ๋กค์ ๋ณด๊ณ ์นจ์ด ๊ณ ์ด์ง๋ง, ๋๊ตฐ๊ฐ๋ ํ๋ซํผ์ ๋ํ ํฐ ๊ทธ๋ฆผ์ ๋ช ํํ๊ฒ ์ดํดํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ผ๋ถ MS ๋น์ฆ๋์ค ์์์ ์์ฅ ์ด๋ง์ด ์๋๋ผ ์ค์ฉ์ ์ธ ๊ธฐ์ ๋ฆฌ๋์ญ์ ๋ํ ๋ช ํํ ๋ฉ์์ง๊ฐ ํ์ํฉ๋๋ค.
์๋
ํ์ธ์,
๋๋ ์ด ํ ๋ก ์ ์กฐ๊ธ ๋ฆ์์ง๋ง ์ด์จ๋ ๋์ ๊ฒธ์ํ ์๊ฒฌ์ ๋งํ๊ณ ์ถ์์ต๋๋ค.
์์ฉ UWP ์ฑ์ ๊ดํ์ฌ: ๋ด ๋ง์์ ๋ ์ค๋ฅด๋ ๊ฒ์ Adobe XD์
๋๋ค. ์ด๊ฒ์ UWP์ด๋ฉฐ ๋งค์ฐ ์ฑ์ํ๊ณ ์์ฑ๋ ๋๋์
๋๋ค.
13๋
๋์ .Net ๊ฐ๋ฐ์๋ก ์ผํ๋ฉด์ UWP์ ๋ํ ์ ๊ฒฝํ: ๋ฌผ๋ก ์ด ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด๊ธฐ ์ข๊ณ ์ฑ๋ฅ์ด ์ข์ ์ฑ์ ๋ง๋ค ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ... ๊ทธ๊ฒ์ ์๋ฆ๋ค์ด ๊ฒฝํ์ด ์๋๋๋ค. ์ฐ๋ฆฌ๋ ์๋ฃ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋๋ ๊ณผ์ ์ ์์ผ๋ฉฐ ์ฌ๊ธฐ์ ๋ค๋ฅธ ๊ณณ์์ ์ด๋ฏธ ์ธ๊ธํ ๋ง์ ๊ฒ๋ค๋ ์ฐ๋ฆฌ๊ฐ ๊ฒช์์ต๋๋ค.
@jasonwurzel ์์ฃผ ์ข์ ํฌ์ธํธ์ ๋๋ค.
- ํ์ผ API๋ ๋๋ฆฌ์ง๋ง ๊ทธ๋์ @duke7553 ์ #1465(๋๊ธ)์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ฒ์ํ์ต๋๋ค.
๊ทธ๊ฒ์ ์ฌ์ค์ด์ง๋ง ๊ทธ๋ ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๋ํด ์์ง ๋ชปํ์ต๋๋ค. ๋งํ ๊ฒ๋ ์์ด, ๋จ์ง ๋น ๋ฅธ ํ์ผ I/O๋ฅผ ์ป๊ธฐ ์ํด ์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ตฌํํ๋ ๊ฒ์ ๋ฏธ์น ์ง์ ๋๋ค...- F5 ์๊ฐ์ ์๋๋ฅผ ๋ฆ์ถ๊ณ ๋ช ๊ฐ์ง ๊ฐ์ ์ฌํญ์ ์ฌ์ฉํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
- xaml ์ฌ ๋ฃจํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋ฐ๋๋ก ์ผ๋ฐ UWP ์ฑ์ ๊ฐ๋ฐํ๋ ค๊ณ ํ๋ฉด ์ด๋ค ํ๊ณ์ ๋ถ๋ชํ๋์ง ๊ถ๊ธํฉ๋๋ค. ์ ๋ ์ง๊ธ ๋ช ๊ฐ์ง ์ฑ์ ์์ ์ค์ด๋ฉฐ Win32 ํ๋ก์ธ์ค๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ์ ํ ์ฌํญ์ ํด๊ฒฐํ ์ ์์์ง๋ง ์ฑ์ ๋ง๋๋ ๋ฐ ํญ์ ์ด์์ ์ธ ๋ฐฉ๋ฒ์ ์๋๋ผ๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
๊ฒฐ๊ตญ ์ฐ๋ฆฌ๊ฐ ๋ง๋ ์ฅ์ ๋ฌผ์ ์ดํฉ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์์ฌํ ์ฌ์ง ์์ด ์ผ๋ถ๋ ์ธ๋ถ ํ๋ก์ธ์ค๋ก ํด๊ฒฐํ ์ ์์์ต๋๋ค. ํน๋ณํ ์์ ์์ด:- ์ฝ์ ๋ ๋ฏธ๋์ด์ CD ํธ๋ ์ด/USB ํฌํธ ๊ด์ฐฐ
- ๋ก์ปฌ PC์ ์ด๋ ๊ณณ์์๋ ์ฌ์ฉ์๊ฐ ์ ํํ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ด์ฐฐํ๊ณ ์ ๋ฐ์ดํธํ ๋ ์ฑ/Windows๊ฐ ์ก์ธ์ค ๊ถํ์ ๊ธฐ์ตํ๋๋ก ํฉ๋๋ค.
- broadFileSystemAccess ์๊ตฌ, ์์ธ ๋ฐ์, ํด๋น Windows ์ค์ ํ์ด์ง ์ด๊ธฐ, ์ฌ์ฉ์๊ฐ ์ฑ์ ํ ๊ธ์ ํ์ธํ๊ณ , ์ฑ์ด ๊ฒฝ๊ณ ์์ด ๋ซํ๊ณ , ๊ฐ์ ํ ๊ธฐํ๊ฐ ์์ต๋๋ค.
- ๋์ผํ ๋๋ฉ์ธ: ์ฌ์ฉ์๊ฐ Windows ์คํ์ผ์ FolderPicker๋ฅผ ์ด์ง ์๊ณ ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ํํ ์ ์๋๋ก ํฉ๋๋ค.
- ๋ญ๊ณผ ๊ณ๋ ๋ฌธ์ : ๋๊ฒ ํจํค์ง์ ๊ฐ์ฉ์ฑ/์ง์(๋ ๋ง์ ์ฌ๋๋ค์ด ์ฌ์ ํ WPF๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก ์์ ๋ฌธ์ ์ ๋ํ ์๋ฃจ์ ์ ์ฐพ๋ ๊ฒ์ด ํจ์ฌ ๋ ๋น ๋ฆ)
- ์ค์น ์์น ์ ์ด
@AndrewPawlowski GitHub์ ์คํ ์์ค์ธ ์์๋ฅผ ํฌํจํ์ฌ ํ๋์ ์ด๊ณ ๋ณด๊ธฐ ์ข์ ํ๋ฅญํ UWP ์ฑ์ด ๋ง์ด ์์ ๋ ๋น์ ์ด ๋งํ ์ ์๋ค๋ ๊ฒ์ ๋๋์ต๋๋ค.
์ด๋ป๊ฒ ํด์ผ ํ ์ง ๋ชฐ๋ผ์ ์ฑ ๋ง๋ค๊ธฐ๋ฅผ ํฌ๊ธฐํ๋ค๊ณ ํด์ ํ๋ซํผ์ด ์คํจํ ๊ฒ์ด ์๋๋ผ ์ฑ์ด ์คํจํ ๊ฒ์ ๋๋ค. ์ฃผ๋ณ์ ๋๋ฌ๋ณด๋ฉด ์ฑ์ด ์ด์ ์ ์์ ๋ ์๋ฆฌ๋ฅผ ๊ณ์ ์ฌ์ํ๋ ์ฑ์ ํฌํจํ์ฌ ์ ๋ง ์ข์ ์ฑ์ ๋ง๋ค๊ณ ์ด์ฌํ ์ผํ ๊ฐ๋ฐ์๋ฅผ ๋ง์ด ๋ณผ ์ ์์ต๋๋ค.
๋ถ๊ฐ๋ฅํ๋ค๋ ๋ง์ ์๋์ง๋ง ๋งค์ฐ ์ด๋ ต์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ๋จ์ํ "๋ฉ๋ชจ์ฅ๊ณผ ๊ฐ์" ์ฑ์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒ์ด ์๋๋ผ UI / ๋น๋์ค ํธ์ง / ์ฌ์ด๋ ํธ์ง / ๋์คํฌ์ ๋ง์ ํญ๋ชฉ ๋ก๋/์ ์ฅ์ ์ฒ๋ฆฌํ๋ ๋งค์ฐ ๋ณต์กํ ์ฑ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ) ์ถ์(๊ทธ๋ฆฌ๊ณ fullTrust API์ ๋ํด ์๋ ค์ฃผ์ง ๋ง์ญ์์ค). 50-100K ์ด์์ ์ฝ๋ ์ค ์ฑ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค.
๊ทธ๊ฒ ๋ ์ด๋ ต์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฑ์ด ์ด์ ์ ์์ ๋ ์๋ฆฌ๋ฅผ ์ฌ์ํ ์ ์๋ค๋ ์ฌ์ค - ์๋ฌด๋ ๋น์ ์ด ํ ์ ์๋ค๊ณ ๋งํ์ง๋ ์์ง๋ง ์ง๊ธ๋ณด๋ค ํจ์ฌ ์ฌ์์ผ ํฉ๋๋ค.
UWP ์ฑ์ ๊ฐ๋ฐํ๋ ๊ณผ์ ์ ์ฆ๊ธฐ๋ ์ฌ๋์ด ์๋๋๊ณ ๋ฌป์ ๋๋ต์ ๋ง๊ณ ์ต๊ทผ ๋ช ๋ฌ๊ฐ ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค๋ก๋ถํฐ ์ฑ์ ๋ํ ๋์์ ์์ฒญํ๋ ์์ฒญ์ ๋ง์ด ๋ฐ์ ํ๋ซํผ์ด ๋ถ๋ช ํ ๊ด์ฌ์ ์ป๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค.
๋์ํฉ๋๋ค. ๊ทธ๋์ ์ค์ ๋ก ๋ด ์ฑ์ UWP๋ก ์ด์ํ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๋งค์ฐ ์ธํ๋ถํํ ๊ธธ์ด์๊ณ , ์ง๊ธ๋ ๊ทธ๋ ์ต๋๋ค.
๋น์ ์ ๋ํ UWP ์ฑ ๊ฐ๋ฐ์ ๋ํด ๊ธ์ ์ฐ๋ ์ฌ๋์ด ์๋ค๊ณ ์ฃผ์ฅํ๋ฉฐ ๊ทธ๊ฒ์ ๋จ์ง ๊ฑฐ์ง์ด๋ผ๊ณ ๋งํด์ผ ํฉ๋๋ค. @rudyhuyn , Martin Zikmund๋ UWP์ ๋ํด ๊ธ์ ์ฐ๋ ๊ฐ๋ฐ์์ ๋ ๊ฐ์ง ์์ผ ๋ฟ์ด์ง๋ง ๋ค๋ฅธ ๋ง์ ์ฌ๋๋ค๋ ์์ต๋๋ค.
๋๋ ์ ์ ์ผ๋ก ๋์ํ์ง๋ง wpf์ ๋ํด ์ฐ๋ ์ฌ๋๋ค๊ณผ ๋น๊ตํ์ญ์์ค. ๋ฌผ ํ ๋ฐฉ์ธ์ ๋๋ค.
"c# wpf"(3701๊ฐ ๊ฒฐ๊ณผ) ๋ "c# uwp"(337๊ฐ ๊ฒฐ๊ณผ)์ ๊ฐ์ ๊ฐ๋จํ github ๊ฒ์์ ์ํํ์ญ์์ค.
๊ฐ์ ๊ฒ์ ๊ฒ์ํ๊ณ "์ปค๋ฐ ์ > 500"์ผ๋ก ํํฐ๋งํ๋ฉด(์ด๋ ์ผ์ข
์ '์ฌ์ฉ์๊ฐ ํ๋ก์ ํธ์ ๊ฐํ ์์์ ์๋ฏธํฉ๋๋ค) -> ์ด๋์ปด์ปดํ ํฌ๋ฏธํ ๊ทธ๋ฆผ์ ์ฐพ์ ์ ์์ ๊ฒ์
๋๋ค.
์ด๋ 2020๋ ์ ๋ณด๊ธฐ ์ข์ ์ฑ๊ณผ ์ต์ UWP ์ฑ์ ๋ชจ๋ ๋ง๋ค ์ ์์ผ๋ฉฐ ๊ทํ์ ์ง์ ์ค ๋ง์ ๋ถ๋ถ์ด ์ ํํ์ง ์๋ค๋ ๊ฒ์ ๊ฑฐ์ ๋ณด์ฌ์ค๋๋ค.
๋๋ ๋์ํ์ง ์์ต๋๋ค. UWP ๋ณต์กํ ์ฑ์ ๊ฐ๋ฐํ๊ณ ๊ทธ๊ฒ์ ํ๋ณตํ๊ฒ ํ๊ธฐ ์ํด์ -> ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ๊ณผ๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋๋ค.
- xaml ์ฌ ๋ฃจํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋ฐ๋๋ก ์ผ๋ฐ UWP ์ฑ์ ๊ฐ๋ฐํ๋ ค๊ณ ํ๋ฉด ์ด๋ค ํ๊ณ์ ๋ถ๋ชํ๋์ง ๊ถ๊ธํฉ๋๋ค. ์ ๋ ์ง๊ธ ๋ช ๊ฐ์ง ์ฑ์ ์์ ์ค์ด๋ฉฐ Win32 ํ๋ก์ธ์ค๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ์ ํ ์ฌํญ์ ํด๊ฒฐํ ์ ์์์ง๋ง ์ฑ์ ๋ง๋๋ ๋ฐ ํญ์ ์ด์์ ์ธ ๋ฐฉ๋ฒ์ ์๋๋ผ๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
๊ฒฐ๊ตญ 9์์ Xaml Islands๋ฅผ ์ฌ์ฉํ์ฌ win2d๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ์๋ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค. MS์ ๋ช ๊ฐ์ง ์๋ฅผ ์๋ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค. ๊ทธ ์์ ์์ ์ ๋ ์ฑ์ UWP๋ก ์ด์ํด์ผ ํ๋ค๋ ์ฌ์ค์ ๊นจ๋ฌ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ด๊ฒ์ด ์๋ํ์ง ์์ ๊ฒ์ ๋๋ค.
๋ ์ต๊ทผ์ ํ ์คํธ์ ๊ดํด์๋ - https://github.com/microsoft/Win2D/issues/731
- ๋งค์ฐ ๋๋ฆฐ "F5 ์๊ฐ". ๋ฐ๋ผ์ ๋๋ฒ๊ทธ๋ก ์ด๋ํ์ฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋น๋/์์ํ์ฌ ๋ฌด์ธ๊ฐ๋ฅผ ์๋ํ๋ ๊ฒ์ WPF์์๋ณด๋ค ์ต์ 10๋ฐฐ ๋๋ฆฝ๋๋ค. (Surface Book 2์์ ์ฝ 2๋ถ ์ ๋)
์ด ๊ทธ๋! ๋๋ ์ด๊ฒ์ ์ธ๊ธ์กฐ์ฐจํ์ง ์์์ง๋ง ๋ค, ๊ทธ๊ฒ์ ๋ฏธ์น ๋ฏ์ด ๋๋ฆฝ๋๋ค. ๋๋ ๋ด๊ฐ ์ปดํ์ผํ๋ ํ๋ก์ ํธ์ ์ปดํ์ผํ์ง ์๋ ํ๋ก์ ํธ๋ฅผ ์กฐ์ ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ์์ ํ๊ณ ์๋ ์ฑ์ ์ด๋ ๋ถ๋ถ์ ๋ฐ๋ผ ์ด๊ฒ์ ๊ด์ฐฎ๊ฑฐ๋ ๋์ฐํฉ๋๋ค. ์ด)
- ์ผ๋ฐ์ ์ผ๋ก ์๋๋ฐ์ค์ ์ํด ์ ํ๋ฉ๋๋ค.
์ค ์ :)
- ํ์ผ API๋ ๋๋ฆฌ์ง๋ง ๊ทธ๋์ @duke7553 ์ #1465(๋๊ธ)์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ฒ์ํ์ต๋๋ค.
๋์ํ์ง๋ง ๋๊ตฐ๊ฐ๊ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๋ฐ ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ ธ๋์ง ์๊ฐํด๋ณด์ญ์์ค. ๋ถ๋ช ํ ์กด์ฌํ์ง๋ง ๋ฌธ์์ ๊น์ด ๋ฌปํ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ง๊ธ ๋น์ฅ์ ์๋ง ์์ฃผ ์์์ ์ฌ๋๋ค๋ง์ด ๊ทธ๊ฒ์ ์๊ณ ์์ ๊ฒ์ ๋๋ค(์ ๋ฅผ ํฌํจํ์ฌ).
Google ๊ฒ์์ ์ํํ๋ฉด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์๋ฌผ์ ์ฐพ์ ์ ์์ผ๋ฏ๋ก ๋๋ถ๋ถ์ ๊ฐ๋ฐ์๊ฐ ์์์ฐจ๋ฆฌ๊ธฐ๊น์ง ๋ช ๊ฐ์์ด ๊ฑธ๋ฆด ๊ฒ์ ๋๋ค.
@jasonwurzel
๋ค๋ฅธ ๋ง์ ์ฌ๋๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฐ๋ฆฌ๋ "UWP" ํ๋ก ํธ์๋์ .net ์ฝ์ด(๋๋ .net 5 ;-) ) ๋ฐฑ์๋๋ฅผ ํธ๋ฆญ ์์ด ๊ฐ์ง ์ ์๋ WinUI 3์ ์ถ์์ ์ฑ์์ ๊ธฐ์๊ฒ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค.
MS๊ฐ .NET 5๊ฐ ์ถ์๋๋ฉด UWP ํ๋ก์ ํธ์ ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๋ผ๊ณ ๋งํ์ต๋๋ค. "ํธ๋ฆญ"์ด๋ .NET Core 3.x์ ๊ฐ์ ์ํฉ์ด ํ์ํ์ง ์์ต๋๋ค. ๋ค์์ .NET 5 ๋ฐํ ๊ฒ์๋ฌผ์ ๋๋ค. https://devblogs.microsoft.com/dotnet/introducing-net-5/
๋ค ์ ๊ฐ ์ธ๊ธํ ๋ด์ฉ์ ๋๋ค๐
_"ํ์ค๊ณผ ์์ ํ ๋๋จ์ด์ง "_์ "์์ ํ"๋ผ๋ ๋จ์ด๋ ๋ถ๊ณตํํ๊ณ ์ ํํ์ง ์๋ค๊ณ ์๊ฐํ์ง๋ง ์์ ํ ๋ ๋จ์ด์ ธ ์์๋ค๋ฉด WinUI ํ์ UWP์์ WinUI๋ฅผ ๋ถ๋ฆฌํ๋ ์์ ์ ํ์ง ์์์ ๊ฒ์ ๋๋ค. ์ ๋ฐ์ ์ผ๋ก WinUI ํ์ UWP/WinRT์ ๋ค๋ฅธ ๋ถ์๋ณด๋ค โโ๋ ๋ง์ ์ฐ๋ฝ์ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ ์์ ์์ ๋ช๋ช ํ๋ค ์ฌ์ด์ ์ด๋ ์ ๋์ ์ ์ด ๋ถ๊ฐ์ฆ์ด ์กด์ฌํ๋ค๋ ๊ฒ์ด ์ ํํ ์ค๋ช ์ด ์๋๊น ์๊ฐํฉ๋๋ค.
WinUI ํ์ด UWP/WinRT์ ๊ด๋ จ๋ ๋ชจ๋ ํ ์ค์์ ๊ฐ์ฅ ์ค์ ์ด ์ข์ ํ์ด์ง๋ง WinUI์ ํ๋ก์ ํธ ๊ด๋ฆฌ์์ ์ฌ์ ํ ๋ช ๊ฐ์ง ์ค์๊ฐ ์์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด์ด ํฌํจ ๋ DataGrid
)๋ ๋ชจ๋ ๊ณ ๊ฐ์ด ๋งค์ผ ์ฌ์ฉํ๋ ํ์ ์ฃผ์ ๊ธฐ๋ฅ์
๋๋ค(์: Windows ํ์๊ธฐ ๋ฐ Spotify ๋ฑ์ ๋ค์ํ ๊ธฐํ ์). WinRT๊ฐ ์์๋ ์ด๋๋ก ์ด์ด ํฌํจ๋ ๋ชฉ๋ก GUI์ ๋ํ ๊ณต์ ์ง์ ์ด ์๋์ง ! ๋๋ ์ด ์ํฉ์ด ์ถฉ๊ฒฉ์ ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฐ ์ด์ ๋ก UWP๋ ์ค๋๋ ์๋ ์ฌ์ ํ ์ํ ๋ฒ์ ์ด๋ผ๊ณ ๋งํฉ๋๋ค(์์ง ๊ธฐ๋ฅ์ด ์์ ํ์ง ์์ผ๋ฏ๋ก ์ง์ ํ ๋ฒ ํ๊ฐ ์๋๋๋ค). ๋๋ถ๋ถ์ ์ฑ ๊ฐ๋ฐ์๊ฐ UWP๋ฅผ ์ง์งํ๊ฒ ๋ฐ์๋ค์ด์ง ์์๊ธฐ ๋๋ฌธ์ Windows Mobile์ด ์ทจ์๋ ๊ฒ์ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค.
WinUI์ DataGrid
๊ณต์ ๋ฒ์ ์ ์ง๋ 8๋
๋์ ์ง์ฐ๋์์ต๋๋ค. DataGrid๋ WinRT 1.0์ด ์ถ์๋์์ ๋ ๊ธฐํ์ด ์ง๋ฌ์ต๋๋ค. Microsoft๊ฐ ์ ์์คํ
์ ์์ํด์๋ ์ ๋์๊ธฐ ๋๋ฌธ์
๋๋ค(Nokia ๋ฑ์ ๋ํ ์ด์ ๋ฉ์์ง์์ ์ค๋ช
ํ ๋๋ก). ๊ธฐ๋ณธ์ด ๋๋ฝ๋ 8๋
, ์ง์ฐ๋ 8๋
, ์ด์ WinUI ํ์ DataGrid๋ฅผ ๋ค์ดํฐ๋ธ ์ฝ๋๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ์ฌ ๋ ๋ง์ ์๊ฐ์ ๋ญ๋นํจ์ผ๋ก์จ ๋์ฑ ์ง์ฐ๋ DataGrid๋ฅผ ๋ง๋ค๊ณ ์ ํฉ๋๋ค. ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๋ก UWP๋ฅผ ์ง์งํ๊ฒ ๋ฐ์๋ค์ด๊ณ ์ ๋ขฐํ๊ธฐ ์ด๋ ต์ต๋๋ค.
๋ค์์ "ํ์ค๊ณผ ๋๋จ์ด์ง" ์ํ์ ๋ ๋ค๋ฅธ ์์
๋๋ค.
๋ถ๋ช
ํ ์ํํธ์จ์ด๋ ์ ์ ์ ์ด ์๋ ๋ฐฉ์์ผ๋ก ์์ฑ๋์ด์ผ ํฉ๋๋ค. "์ ์ ์ "์ด๋ผ๋ ์ฉ์ด๋ ๋จ์ํ๊ณ ๊ฐ๋จํ ์์
์ ์ํํ๊ธฐ ์ํด ๋ชจํธํ ๋ณต์กํ ํ๋ง๋ฒ์ ์ฌ์ฉํด์๋ ์ ๋๋ค๋ ์๋ฏธ์
๋๋ค.
C++/CX๋ ์ต๊ทผ์ C++/WinRT๋ก ๋์ฒด๋์์ต๋๋ค. C++/WinRT๋ ์ ์ ๋์คํจ์น๋ฅผ โโํตํ ํจ์ ํธ์ถ์ ์ํด ์์ _"๊ธฐ๋ฌํ๊ฒ ๋ฐ๋ณต๋๋ ํ
ํ๋ฆฟ ํจํด"_์ ์ฌ์ฉํฉ๋๋ค. ๋จ์ํ๊ณ ๊ฐ๋จํ ์์
์ ์ํํ๊ธฐ ์ํด ๋ชจํธํ ๋ณต์กํ ํ๋ง๋ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ด๊ธฐ ๋๋ฌธ์ ์ ์ ์ ์ด ์๋ ๋์์ธ์ด๊ธฐ ๋๋ฌธ์ ์ ๋ง ๋์ฐํ ๋์์ธ์
๋๋ค. ๊ฒ๋ค๊ฐ CLR/C#์ ์ด๋ฏธ ์์ญ ๋
์ ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ์ WinRT ํ์ ์์ญ ๋
์ ์ ์ด๋ฏธ ํด๊ฒฐ๋ ์์ฃผ ์ค๋๋๊ณ ์์์ ์ธ ์ฃผ์ ๋ก ์ฌ์ ํ ์ด์ง๋ฝํ๊ณ ์๊ฐ์ ๋ญ๋นํ๊ณ ์์ต๋๊น? WinRT ํ์ด ๋ฐํด๋ฅผ ์ฌ๋ฐ๋ช
ํ๋ ์ด์ ๋ ๋ฌด์์
๋๊น?
๋๋ C++/WinRT์ ์๋ก์ด ์์ค ์ฝ๋๋ฅผ ์ฐพ์๋ณด์๊ณ ๊ทธ๊ฒ์ ๋ํ ๋์ ์ธ์์ ๊ทธ๊ฒ์ด ๋งค์ฐ ๋ฎ์ ํ์ง์ ์ํํธ์จ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ WinRT ํ์ ๊ทธ๊ฒ์ ํ๋ฅญํ๊ฒ ๋ฐ์ ๋ ๊ฒ์ผ๋ก ๋ด ๋๋ค. ๋ฐ๋ผ์ "ํ์ค๊ณผ ๋๋จ์ด์ง"์ด ์ ํํ ์ค๋ช ์ ๋๋ค.
@jtorjo ์ ๋ค๋ฅธ ์ฌ๋๋ค์ UWP ํ์ผ ์์คํ API์ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ธ๊ธํ์ต๋๋ค. ์ฑ๋ฅ์ ๊ธฐ๋ฅ์ด ์์ ํ ๋ฒ ํ ๋ฒ์ ์ผ๋ก ์ค๋ช ํ๋ ๋ฐ ํ์ํ ์์ค ์ดํ์ ๋๋ค. UWP FS API๊ฐ ์ฌ์ ํ ์ํ ๋ฒ์ ์ธ ๋ ๋ค๋ฅธ ์ด์ ๋ ํด๋๋ฅผ ์ด๋ํ๋ ๊ธฐ๋ฅ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. 25๋ ์ Windows 95์๋ ํด๋๋ฅผ ์ด๋ํ ์ ์๋ ๊ธฐ๋ฅ์ด ์์์ง๋ง UWP์๋ ์ฌ์ ํ ์ด ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ด๋ค ๋ฉด์์ Windows 95๋ UWP๋ณด๋ค ๊ฐ๋ ฅํฉ๋๋ค. ๋ค์ํ ๋ฉด์์ WPF ๋ฐ .NET Framework๋ ์ฌ์ ํ UWP๋ณด๋ค ๊ฐ๋ ฅํฉ๋๋ค. Microsoft๋ ์ฑ ๊ฐ๋ฐ์๊ฐ UWP๋ฅผ ์ง์งํ๊ฒ ๋ฐ์๋ค์ผ ๊ฒ์ผ๋ก ์์ํ์ง๋ง Microsoft๊ฐ UWP๋ฅผ ์ํ์์ ๋ฒ ํ ๋จ๊ณ๋ก ์งํํ์ง ์์๊ธฐ ๋๋ฌธ์ ์ด๋ ๋งค์ฐ ๋นํฉ๋ฆฌ์ (๋๋ "ํ์ค๊ณผ ๋๋จ์ด์ง" ์ํ)์ด์์ต๋๋ค.
Windows๋ "App Dev"์ ๊ฐ์ ๋ชจ๋ฐ์ผ์ด ๊ธ์ฑ์ฅํ๋ ์์ฅ์ด๊ณ ๋ณด์๊ณผ ๋ฐฐํฐ๋ฆฌ ์๋ช ์ด ํต์ฌ์ด๋ผ๋ ์ ์์ ํ๋์ ์ด๋ผ๊ณ ๊ฐ์ ํ์ต๋๋ค.
๊ทธ๋ค์ ์์ฅ์ ํ์ผ๋ก ์ธํด ๋ชจ๋ฐ์ผ ์์ฅ์์ ๋ฐ๋ ค๋ฌ์ต๋๋ค. Hololens ๋ฐ Xbox์ ๊ฐ์ ์ฅ์น๋ Win32 ๋ ๊ฑฐ์ ์ง์์ ์ ๊ฑฐํ์ฌ ๊ฐ๋ฐ์ ๋ ๋จ์ํ๊ฒ ๋ง๋ค๊ณ ๋ ์ฑ๋ฅ์ด ์ข์ OS ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค.
์ด๋ฌํ ๋ด๊ธฐ๋ ์์ ํ ์ฑ๊ณผ๋ฅผ ๊ฑฐ๋์ง ๋ชปํ์ง๋ง ํ๋์ ์ธ ์ฑ ์ ๊ณต ๋ฐ ๋ณด์ ๋ชจ๋ธ์ ๋ํ ์ด์์ ์นญ์ฐฌํ ๋งํ ๋ชฉํ์ ๋๋ค.
๋ฐ๋ผ์ Microsoft๋ ๋ช ๊ฐ์ง ์ํผ ๊ฒ์ ํ UI ํ๋ ์์ํฌ์์ ์ต์ ์ฑ ํ๋ ์์ํฌ๋ฅผ ๋ถ๋ฆฌํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
WinUI 3.0์ ์ธ์ด ํ๋ก์ ์ , ์ต์ ์ฝ๋ฉ ํ์ค ๋ฐ ๋ชจ๋ฐ์ผ ์น์ํจ์ ์ด์ ์ ์ ๊ณตํ๋ ๋๋ถ๋ถ์ ์ต์ API์ ์ก์ธ์คํ ์ ์๋๋ก ํ์ฌ ๋ ์ธ๊ณ ๋ชจ๋์์ ์ต๊ณ ์ฌ์ผ ํฉ๋๋ค. ๋ํ ์ฑ์ด ๋ ์์ ํ์ง๋ง ๋ ๊ฐ๋ ฅํ Win32 ๋ฐ .NET ๋ฐํ์์ ์ฌ์ฉํ๋๋ก ํ์ฉํฉ๋๋ค.
๋ฌผ๋ก Win32 ์ก์ธ์ค์ ์์กดํ๋ฉด ์คํ๋๋ ํ๋ซํผ์ด ์ ํ๋๊ณ ํฅํ ์์ฅ์ด ์ด๋๋ก ์ด๋ํ ์ง ๋๊ฐ ์ ์ ์์ต๋๊น?
๋๋ ๋๊ฐ์ ์ค๋๋ ๊ทผ๊ฑฐ์ ๋ถ๋ง์ ์ฐธ์ํ๋ ๋์ ์ ์ํ๊ณ ์ถ์ต๋๋ค. ์ด ์ปค๋ฎค๋ํฐ๋ ๊ฐ๋ฐ์๊ฐ ์์ผ๋ก ๋ฌด์์ ์ํ๋์ง ๋ฌป๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ ํ๋ก์ ํธ๋ฅผ ์งํํ์ง ์๋ ๋ฐฉ์์ผ๋ก ๋น๋ํ๊ฑฐ๋ ๋น๋ํ์ง ์์ต๋๋ค.
@mdtauk ์ ๋ค์
๊ทธ๋ค์ ์์ฅ์ ํ์ผ๋ก ์ธํด ๋ชจ๋ฐ์ผ ์์ฅ์์ ๋ฐ๋ ค๋ฌ์ต๋๋ค.
๋ค์ํ UWP/WinRT ์ง์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง _๊ธฐ๋ถ_์ข๊ฒ ํ๊ธฐ ์ํด ๊ทธ ์ค๋ช ์ ๋งค์ฐ ๋ฏฟ๊ณ ์ถ์ดํฉ๋๋ค. ๋๋ ๊ทธ ์ค๋ช ์ ๋ฏฟ์ง ์๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก UWP๊ฐ ์คํจํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ํ๊น๊ฒ๋ ๊ด๋ฆฌ ๋ถ์ค์ด UWP ์คํจ์ ์ฃผ์ ์์ธ์์ ๊ณ ๋ คํ ๋ UWP๊ฐ ๊ด๋ฆฌ๋์ง ์๋ ์ฝ๋๋ก ์์ฑ๋์๋ค๋ ๊ฒ์ ์์ด๋ฌ๋ํฉ๋๋ค. ์๋ํ๋ฉด "๊ด๋ฆฌ๋์ง ์๋"์ด๋ผ๋ ๋จ์ด๊ฐ ์ค์ ๋ก ์คํจ์ ์์ธ์ ์์ฝํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์ค ์ฝ๋์ ํ๋ก์ ํธ ๊ด๋ฆฌ์ ๋ถ์ค ๊ด๋ฆฌ์ ๋๋ค.
@jtorjo ๋ ๋ค์
๋ค์ดํฐ๋ธ, ".net ๋ค์ดํฐ๋ธ๋ก ์ปดํ์ผ"์ด๋ผ๋ ๋งฅ๋ฝ์์ ๋๋ ์ข์ ์ผ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋๋ ๋์ํ๋ค. ์ฐจ์ด์ ์ ๋ค์ดํฐ๋ธ ์ฝ๋์ ์๋ ์์ฑ๊ณผ ์๋ ์์ฑ์ ์์ต๋๋ค. ๋ค์ดํฐ๋ธ ์ฝ๋๊ฐ ์ปดํ์ผ๋ฌ๋ ๋๊ตฌ์ ์ํด ์๋์ผ๋ก ์์ฑ๋๋ฉด ์ผ๋ฐ์ ์ผ๋ก ์ข์ ์ผ์ด์ง๋ง ๋ค์ดํฐ๋ธ ์์ค ์ฝ๋๊ฐ ์์ค ์ฝ๋๋ฅผ ์๋์ผ๋ก ์์ฑํ๋ฉด ์์ฐ์ฑ, ๊ธฐ๋ฅ ์งํฉ ๋ฐ ์์ ์ฑ์ด ํฌ๊ฒ ์ ํ๋ฉ๋๋ค.
WPF ๊ฐ๋ฐ ๊ธฐ๊ฐ๊ณผ WinUI ๊ฐ๋ฐ ๊ธฐ๊ฐ์ ๋น๊ตํ๋ฉด WinUI๊ฐ WPF๋ณด๋ค ๊ฐ๋ฐํ๊ธฐ ์ฝ๊ณ ๋นจ๋ผ์ผ ํ๋ค๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ WPF์ ๊ฐ๋ฐ์ ํจ์ฌ ๋ ๋นจ๋์ต๋๋ค(ํจ์ฌ ๋ ๋์ ์์ฐ์ฑ). WPF์ฉ์ผ๋ก _์ด๋ฏธ_ ๋ง๋ ๊ฐ๋ ์ ๋๋ค. ๋ถํํ๋ Microsoft๋ ์ด์ ์ ์ํํธ์จ์ด ์์ง๋์ด๋ง ๊ธฐ์ ์ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ฌ ์ด์ ์ ๊ด์ ๊ณผ ๋ชจ์๋๊ณ ์์ฐ์ฑ์ด ์ ํ๋์ด ์ฑ ๊ฐ๋ฐ์๊ฐ UWP ์ฑ ๊ฐ๋ฐ์ ์๊ตฌ์ ์ผ๋ก ์ฐ๊ธฐํ๊ฒ ๋์์ต๋๋ค.
๊ณผ๊ฑฐ์ ์ค์๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ง๊ธ ๋ฌด์์ ํ ์ ์์ต๋๊น? UWP ์คํจ๋ก ์ด์ด์ง ๋์ผํ ์ค์๋ฅผ ๋ฐ๋ณตํ์ง ๋ง์ญ์์ค. ๋์ ์ผ์ด ์์๋ ๊ฒ์ฒ๋ผ ๊ณ์ํ์ง ๋ง์ญ์์ค. ์ฌ๊ธฐ์๋ DataGrid
๋ฅผ ์๋ก ์ฌ์ฉํ๊ฒ ์ต๋๋ค. DataGrid๋ฅผ ๋ ์ง์ฐ์ํค๋ ๋์ DataGrid
์ ๊ธฐ๋ฅ์ ์ถ๊ฐํฉ๋๋ค. ์ธ๋ชจ์๋ ์๋ ์ฌ์์ฑ/๋ค์ดํฐ๋ธ ์ฝ๋๋ก์ ๋ณํ์ ์ํํ์ฌ DataGrid๋ฅผ 8๋
์ด์ ์ง์ฐ์ํค์ง ๋ง์ญ์์ค.
์ต์ข ์ฌ์ฉ์๋ DataGrid๊ฐ ๊ด๋ฆฌ๋๋ ์ฝ๋๋ก ์์ฑ๋์๋์ง ๋๋ ๋น๊ด๋ฆฌ๋๋ ์ฝ๋๋ก ์์ฑ๋์๋์ง ์ฌ๋ถ์ ์ ๊ฒฝ์ ๋ ์ธ ์ ์์์ผ๋ฉฐ ์ด๋ฌํ ์ฉ์ด๊ฐ ๋ฌด์์ ์๋ฏธํ๋์ง ์์ง ๋ชปํฉ๋๋ค. ๋ฐ๋ผ์ ํจ์ฌ ๋ ์ค์ํ๊ณ ํฉ๋ฆฌ์ ์ธ ๊ฒ์ ๊ด๋ฆฌ ์ฝ๋๋ฅผ ์๋ ๊ทธ๋๋ก ์ ์งํ๊ณ ๊ฐ์ ํ๋ ๊ฒ์ ๋๋ค. DataGrid์ ๊ธฐ๋ฅ/ํน์ง. UWP์์ ์๋์ผ๋ก ์์ฑ๋ ๋ค์ดํฐ๋ธ ์ฝ๋์ ์์ ์ด๋ฏธ ์ฌ์์ ์ธ ์ํฉ์ธ๋ฐ, Win16/32 ๋ฐ COM์ ๊ธฐ๋ฐ์ผ๋ก ๋ ๋ง์ ๋ค์ดํฐ๋ธ ์ฝ๋์ ํจ์ฌ ๋ ์ค๋๋ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์ํฉ์ ๋์ฑ ์ ํ์ํค๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๊ตฌ์ ์ฝ๋๋ฅผ ๋ชจ๋ ๋ฒ๋ฆด ์๋ ์์ง๋ง ์ํฉ์ ์ด๋ฏธ ๋ ์ ํ์ํค๋ ๊ฒ์ ๋ง์ ์๋ ์๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ์ฆ, ๋ ์ค๋๋ ๋ค์ดํฐ๋ธ ์ฝ๋ ์์ฑ์ ์ค๋จํ์ญ์์ค. ์ง๊ธ๋ถํฐ ๋ชจ๋ ์๋ก์ด ์ฝ๋/ํ๋ก์ ํธ๋ ์ต์ ์ํํธ์จ์ด ์์ง๋์ด๋ง ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์์ฑ๋๋ค๋ ์ ์ฑ ์ ๋ง๋์ญ์์ค. DataGrid ๋ฑ๊ณผ ๊ฐ์ ๊ธฐ์กด ๊ด๋ฆฌ ์ฝ๋๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํ์ง ๋ง์ญ์์ค.
UWP ํ์ผ ์์คํ ์ ์์ง ์ํ ๋ฒ์ ์ ๋๋ค.
@jtorjo ์ ๋ค๋ฅธ ์ฌ๋๋ค์ UWP ํ์ผ ์์คํ API์ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ธ๊ธํ์ต๋๋ค. ์ฑ๋ฅ์ ๊ธฐ๋ฅ์ด ์์ ํ ๋ฒ ํ ๋ฒ์ ์ผ๋ก ์ค๋ช ํ๋ ๋ฐ ํ์ํ ์์ค ์ดํ์ ๋๋ค. [...]
๋๋ ์ด๊ฒ์ ์ ์ ์ธ๊ธํ๊ณ ๋ค์ ์ธ๊ธํ ๊ฒ์ ๋๋ค - StorageFolder/StorageFile API๋ ๋ด๊ฐ ๋ณธ ์ต์ ์ API ์ค ํ๋์ ๋๋ค. ์ฐ๋ฆฌ๋ 21์ธ๊ธฐ์ ์ ์ด๋ค์์ต๋๋ค. "์ ์ ๋ฐ, ์ด๊ฒ๊ณผ ์ ๊ฒ์ ์ก์ธ์คํ ์ ์์ต๋๊น? ๊ทธ๋ฐ ๋ค์ ํ๋ฅญํ FuturesAccessList์ ์ถ๊ฐํ ์ ์์ต๋๊น?"๋ผ๊ณ ๋ฌป๊ณ ์ถ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ผ ํฌ๊ธฐ์ ๊ฐ์ ๊ธฐ๋ณธ ์์ฑ์ ๋น๋๊ธฐ์์ผ๋ก ์์ฒญํด์ผ ํฉ๋๊น? ๋๋ ์ด๊ฒ์ด ์ด๋ค ๊ทผ๊ฑฐ๋ฅผ ๊ฐ์ง๊ณ ์์๋์ง ์๊ดํ์ง ์์ง๋ง, ์ง๊ธ์ ํ์ค๊ณผ ๋๋จ์ด์ ธ ์์ต๋๋ค.
์ด๋ฌํ ๋ด๊ธฐ๋ ์์ ํ ์ฑ๊ณผ๋ฅผ ๊ฑฐ๋์ง ๋ชปํ์ง๋ง ํ๋์ ์ธ ์ฑ ์ ๊ณต ๋ฐ ๋ณด์ ๋ชจ๋ธ์ ๋ํ ์ด์์ ์นญ์ฐฌํ ๋งํ ๋ชฉํ์ ๋๋ค.
์ ์ ์ผ๋ก ๋์ํฉ๋๋ค...
[....] ๋ฌผ๋ก Win32 ์ก์ธ์ค์ ์์กดํ๋ฉด ์คํ๋ ํ๋ซํผ์ด ์ ํ๋๊ณ ํฅํ ์์ฅ์ด ์ด๋๋ก ์ด๋ํ ์ง ๋๊ฐ ์ ์ ์์ต๋๊น? [...]
์ ์ ์ผ๋ก ๋์ํ์ง๋ง, ๋๋ฌด ๋ฏธ๋์ ๋ํด ์๊ฐํ๋ ๊ฒ๋ ๊ณ ํต์ด ๋ ์ ์์ต๋๋ค...
์ฆ, ์ฒ์๋ถํฐ Win32 ์ก์ธ์ค๋ฅผ ์ ํํ๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ํ๋ ๊ฒ์ ๊ฑฐ์ "๊ธ์ง"์ด๋ฏ๋ก ๋ฏธ๋๋ ๊ณ ์ฌํ๊ณ ํ์ฌ๋ ์์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ Win32 ์ฝ๋๋ ์ฌ์ฉํ ์ ์๊ฒ ํจ์ผ๋ก์จ ๋ค๋ฅธ (์์ ๋) ํ๋ซํผ์ผ๋ก ์ด์ํ ์ ์์ ์๋ ์์ง๋ง ์ ์ด๋ ์ค๋์ ์ํ ์ฝ๋๋ ๊ฐ๊ฒ ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ด์ผ, ๊ทธ๊ฒ์ ๋ ๋ค๋ฅธ ๋ ์ด ๋ ๊ฒ์ด๊ณ , ์ฐ๋ฆฌ๊ฐ ๊ฑฐ๊ธฐ์ ๋์ฐฉํ๋ฉด ์ฐ๋ฆฌ๊ฐ ์ ๋ง๋ก ์ํ ๋ ์ฐ๋ฆฌ์ ์ฝ๋๋ฅผ ์ด์ํ ๋ฐฉ๋ฒ์ ์ฐพ์๋ผ ๊ฒ์ ๋๋ค.
๊ทธ๋ฌ๋ ๋๋ ์ ํ์ ์ฃผ์ด์ง ์ผ์ ํ๊ณ ์ํ์ ์ดํดํ ๊ฒ์ ๋๋ค.
๋๋ ๋๊ฐ์ ์ค๋๋ ๊ทผ๊ฑฐ์ ๋ถ๋ง์ ์ฐธ์ํ๋ ๋์ ์ ์ํ๊ณ ์ถ์ต๋๋ค. ์ด ์ปค๋ฎค๋ํฐ๋ ๊ฐ๋ฐ์๊ฐ ์์ผ๋ก ๋ฌด์์ ์ํ๋์ง ๋ฌป๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ ํ๋ก์ ํธ๋ฅผ ์งํํ์ง ์๋ ๋ฐฉ์์ผ๋ก ๋น๋ํ๊ฑฐ๋ ๋น๋ํ์ง ์์ต๋๋ค.
์ด๊ฒ์ด ๋๋ฅผ ๋์์ผ๋ก ํ ๊ฒ์ธ์ง ํ์คํ์ง ์์ต๋๋ค. ์ ๋ ์์ด๊ฐ ๋ชจ๊ตญ์ด๊ฐ ์๋๋๋ค. ๊ทธ๋ ๊ธด ํ์ง๋ง, ์ ๋ ์ด ํ๋ก์ ํธ๊ฐ ๊ณ์ ์งํ๋๊ธฐ๋ฅผ ๋ถ๋ช ํ ์ํ์ง๋ง ๋ฐฐํฌ๋ฅผ ๋ฐฉํดํ๋ ๋ช ๊ฐ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ฐ๋ก ์ค๋์ ๋๋ค.
๋๋ ๋๊ฐ์ ์ค๋๋ ๊ทผ๊ฑฐ์ ๋ถ๋ง์ ์ฐธ์ํ๋ ๋์ ์ ์ํ๊ณ ์ถ์ต๋๋ค. ์ด ์ปค๋ฎค๋ํฐ๋ ๊ฐ๋ฐ์๊ฐ ์์ผ๋ก ๋ฌด์์ ์ํ๋์ง ๋ฌป๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ ํ๋ก์ ํธ๋ฅผ ์งํํ์ง ์๋ ๋ฐฉ์์ผ๋ก ๋น๋ํ๊ฑฐ๋ ๋น๋ํ์ง ์์ต๋๋ค.
์ด๊ฒ์ด ๋๋ฅผ ๋์์ผ๋ก ํ ๊ฒ์ธ์ง ํ์คํ์ง ์์ต๋๋ค. ์ ๋ ์์ด๊ฐ ๋ชจ๊ตญ์ด๊ฐ ์๋๋๋ค. ๊ทธ๋ ๊ธด ํ์ง๋ง, ์ ๋ ์ด ํ๋ก์ ํธ๊ฐ ๊ณ์ ์งํ๋๊ธฐ๋ฅผ ๋ถ๋ช ํ ์ํ์ง๋ง ๋ฐฐํฌ๋ฅผ ๋ฐฉํดํ๋ ๋ช ๊ฐ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ฐ๋ก ์ค๋์ ๋๋ค.
๋๋ ๋๊ตฐ๊ฐ๋ฅผ ๋ชฉํ๋ก ์ผ๊ณ ์์ง๋ ์์ง๋ง ํ ๋ก ์ ๋ชฉ์ด ์ฝ๊ฐ ๋ถ์ ์ ์ด๊ณ ์ฌ๋๋ค์ด ๋ชจ์๊ณผ ๋น๋์ ๋๋ฌ์ธ์ฌ ์์ผ๋ฉด ์ ๋นํ ๋ฌธ์ ์ ๋์ํ๊ณ ํด๊ฒฐํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.
๋ํ ์ด์ ์ฐ๋ฆฌ๋ Win32/.NET ์ฑ ํ๋ ์์ํฌ๊ฐ WinUI 3.0๊ณผ ํจ๊ป ์ ๊ณต๋ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ณผ๊ฑฐ์๋ง WinRT์๋ค๊ณ ์ฌ์ ํ ๋นํํ๋ ๊ฒ์ ๊ฑฐ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๐
@jtorjo
์ฐ๋ฆฌ๋ 21์ธ๊ธฐ์ ์ ์ด๋ค์์ต๋๋ค. "์ ์ ๋ฐ, ์ด๊ฒ๊ณผ ์ ๊ฒ์ ์ก์ธ์คํ ์ ์์ต๋๊น? ๊ทธ๋ฐ ๋ค์ ํ๋ฅญํ FuturesAccessList์ ์ถ๊ฐํ ์ ์์ต๋๊น?"๋ผ๊ณ ๋ฌป๊ณ ์ถ์ต๋๋ค.
์ฑ์ด ์ฌ์ฉ์์๊ฒ ๋ฌผ์ด์ผ ํ๋ค๋ ์ฌ์ค์ด ์ ์๊ฐ์๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ ๋จ๊ณ๋ผ๊ณ ์๊ฐํฉ๋๋ค. Winforms ๋ฐ WPF ์ฑ๊ณผ ๋ฌ๋ฆฌ ์ฑ์ ๋จ์ํ ๋ด ๋ชจ๋ ํ์ผ์ ์ค์บํ ์ ์์ผ๋ฉฐ ์ก์ธ์คํ ์ ์๋ ํด๋๋ฅผ ์ ์ดํ ์ ์๋ค๋ ์ฌ์ค์ ๋ณด์์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ฌ์ฉ์๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ์ฑ์ด ์ก์ธ์คํ ์ ์๋ ๋ฆฌ์์ค๋ฅผ ์ ํํ๋ ๊ฒ์ด ๋์๋ค๊ณ ์๊ฐํ๋ค๋ฉด ๊ทธ๊ฒ์ด ๊ทํ์ ๊ฒฌํด๋ผ๊ณ ์๊ฐํ์ง๋ง ๋ชจ๋ ์ฑ์ด ๋ด ํ์ผ๋ก ์ํ๋ ๋๋ก ํ๋ ๊ฒ์ ์ํ์ง ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ผ ํฌ๊ธฐ์ ๊ฐ์ ๊ธฐ๋ณธ ์์ฑ์ ๋น๋๊ธฐ์์ผ๋ก ์์ฒญํด์ผ ํฉ๋๊น? ๋๋ ์ด๊ฒ์ด ์ด๋ค ๊ทผ๊ฑฐ๋ฅผ ๊ฐ์ง๊ณ ์์๋์ง ์๊ดํ์ง ์์ง๋ง, ์ง๊ธ์ ํ์ค๊ณผ ๋๋จ์ด์ ธ ์์ต๋๋ค.
UX ํฌ์ธํธ์์ ์ผ์ด๋ ์ ์๋ ์ต์ ์ ์ํฉ์ ๊ฐ๋ฐ์๊ฐ ๋์คํฌ ์์ ์ ์ฝ๊ฐ์ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์๋ค๋ ์ฌ์ค์ ์์ด๋ฒ๋ ค ์ฑ์ด ๋ ์ด์ ์๋ตํ์ง ์๋๋ค๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ UI ์ค๋ ๋๋ฅผ ์ฐจ๋จํด์๋ ์ ๋๋ค๋ ๊ทผ๊ฑฐ์๋ ๊ฒ ๊ฐ์ต๋๋ค. await๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ผ๋ฉฐ ์ด๋ ์์ ์์ UI ์ค๋ ๋๋ฅผ ์ฐจ๋จ ํด์ ํด์ผ ํฉ๋๋ค. (์ ์ด๋ ์ด๊ฒ์ด ๋ด๊ฐ async wait๋ฅผ ์ดํดํ๋ ๋ฐฉ์์ ๋๋ค).
@mdtauk์ด ์ ํํ ์ง์ ํ ๊ฒ์ฒ๋ผ ํ ๋ก ์ ๋ชฉ์ด ๋ค์ ๋ถ์ ์ ์ธ ๊ฒ์ ์ฌ์ค์ด๋ฉฐ, ๊ฐ์ ์ค๋๋ ๋ถ๋ง์ ๋ฐ๋ณตํ๊ธฐ ๋ณด๋ค๋ ๊ทธ๋ฌํ ํ ๋ก ์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์์ด๋์ด๋ฅผ ๋์ถํด์ผ ํฉ๋๋ค.
์ ๋ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ Microsoft ์คํ ์์ค ํ๋ ๊ฐ๋ น์ ์ค์ํ๊ณ , ์ ๋ฌธ์ ์ธ ํ ๋ก ์ ์ ์งํ๋ฉฐ, ์ฐธ์ ์ฌ๋ถ์ ๊ด๊ณ์์ด ๋ชจ๋ ์ฌ๋์ ์กด์คํ๋ค๋ ์ ์ ๋ช ์ฌํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฑ์ด ์ฌ์ฉ์์๊ฒ ๋ฌผ์ด์ผ ํ๋ค๋ ์ฌ์ค์ด ์ ์๊ฐ์๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ ๋จ๊ณ๋ผ๊ณ ์๊ฐํฉ๋๋ค. Winforms ๋ฐ WPF ์ฑ๊ณผ ๋ฌ๋ฆฌ ์ฑ์ ๋จ์ํ ๋ด ๋ชจ๋ ํ์ผ์ ์ค์บํ ์ ์์ผ๋ฉฐ ์ก์ธ์คํ ์ ์๋ ํด๋๋ฅผ ์ ์ดํ ์ ์๋ค๋ ์ฌ์ค์ ๋ณด์์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ฌ์ฉ์๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ์ฑ์ด ์ก์ธ์คํ ์ ์๋ ๋ฆฌ์์ค๋ฅผ ์ ํํ๋ ๊ฒ์ด ๋์๋ค๊ณ ์๊ฐํ๋ค๋ฉด ๊ทธ๊ฒ์ด ๊ทํ์ ๊ฒฌํด๋ผ๊ณ ์๊ฐํ์ง๋ง ๋ชจ๋ ์ฑ์ด ๋ด ํ์ผ๋ก ์ํ๋ ๋๋ก ํ๋ ๊ฒ์ ์ํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ WPF ์ฑ์ ๋นํด ํฐ ๋จ์ ๋ถํฐ ์์ํฉ๋๋ค. ๊ทธ๊ฒ์ ํ ๊ฐ์ง์ ๋๋ค - ๋ค๋ฅธ ๊ฒ์
๊ทธ๋ฆฌ๊ณ ํ์ผ ํฌ๊ธฐ์ ๊ฐ์ ๊ธฐ๋ณธ ์์ฑ์ ๋น๋๊ธฐ์์ผ๋ก ์์ฒญํด์ผ ํฉ๋๊น? ๋๋ ์ด๊ฒ์ด ์ด๋ค ๊ทผ๊ฑฐ๋ฅผ ๊ฐ์ง๊ณ ์์๋์ง ์๊ดํ์ง ์์ง๋ง, ์ง๊ธ์ ํ์ค๊ณผ ๋๋จ์ด์ ธ ์์ต๋๋ค.
UX ์์ ์์ ์ผ์ด๋ ์ ์๋ ์ต์ ์ ์ํฉ์ ๊ฐ๋ฐ์๊ฐ ์์ด๋ฒ๋ ค์ ์ฑ์ด ๋ ์ด์ ์๋ตํ์ง ์๋๋ค๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ UI ์ค๋ ๋๋ฅผ ์ฐจ๋จํด์๋ ์ ๋๋ค๋ ๊ทผ๊ฑฐ๊ฐ ์๋๊น ์ถ์ต๋๋ค.
ํ์ผ ํฌ๊ธฐ๋ ๋ฏธ๋ฆฌ ๊ฐ์ ธ์์ผ ํฉ๋๋ค(๋ง์ง๋ง ์ก์ธ์ค ๋ ์ง/๋ง์ง๋ง ์ฐ๊ธฐ ๋ ์ง์ ๋์ผ) - ๋งค์ฐ ์ค์ํ๋ฏ๋ก ํ์ผ์ ์ฟผ๋ฆฌํ ๋ ๋ฏธ๋ฆฌ ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
@mdtauk์ด ์ ํํ ์ง์ ํ ๊ฒ์ฒ๋ผ ํ ๋ก ์ ๋ชฉ์ด ๋ค์ ๋ถ์ ์ ์ธ ๊ฒ์ ์ฌ์ค์ด๋ฉฐ, ๊ฐ์ ์ค๋๋ ๋ถ๋ง์ ๋ฐ๋ณตํ๊ธฐ ๋ณด๋ค๋ ๊ทธ๋ฌํ ํ ๋ก ์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์์ด๋์ด๋ฅผ ๋์ถํด์ผ ํฉ๋๋ค.
๋๋ ์ด๊ฒ๋ค์ด ์์ ํ ํด๊ฒฐ๋๊ธฐ๋ฅผ ์ํฉ๋๋ค. ๋ค๋ฅธ ๊ฒ์ ์์ต๋๋ค.
์ ๋ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ Microsoft ์คํ ์์ค ํ๋ ๊ฐ๋ น์ ์ค์ํ๊ณ , ์ ๋ฌธ์ ์ธ ํ ๋ก ์ ์ ์งํ๋ฉฐ, ์ฐธ์ ์ฌ๋ถ์ ๊ด๊ณ์์ด ๋ชจ๋ ์ฌ๋์ ์กด์คํ๋ค๋ ์ ์ ๋ช ์ฌํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด ํ ๋ก ์ ์ค์ ๋ก ์ด๋ฌํ ์ง๋ฌธ์ ํ ์ฅ์๊ฐ ์๊ณ WinRT๊ฐ ๋ค๋ฅธ ๊ณณ์์ ํผ๋๋ฐฑ์ ๋ค์ ์ ์๋ ์ฅ์๊ฐ ์์๋ค๋ฉด ์ฌ๊ธฐ์์ ์ผ์ด๋์ง ์์์ ๊ฒ์ ๋๋ค.
๋๋ ๋๊ตฐ๊ฐ๋ฅผ ๋ชฉํ๋ก ์ผ๊ณ ์์ง๋ ์์ง๋ง ํ ๋ก ์ ๋ชฉ์ด ์ฝ๊ฐ ๋ถ์ ์ ์ด๊ณ ์ฌ๋๋ค์ด ๋ชจ์๊ณผ ๋น๋์ ๋๋ฌ์ธ์ฌ ์์ผ๋ฉด ์ ๋นํ ๋ฌธ์ ์ ๋์ํ๊ณ ํด๊ฒฐํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ์ฝ๊ฐ ๋ถ์ ์ ์ด๋ผ๋ ๋ฐ ๋์ํฉ๋๋ค. ๋ค์ ํ ๋ฒ, WinRT ๋ฌธ์ ์ ๋ํ ํผ๋๋ฐฑ์ ์ ๊ณตํ ๋ค๋ฅธ ๊ณณ์ด ์์๋ค๋ฉด ์ด๋ฐ ์ผ์ ์ผ์ด๋์ง ์์์ ๊ฒ์ ๋๋ค.
๋ํ ์ด์ ์ฐ๋ฆฌ๋ Win32/.NET ์ฑ ํ๋ ์์ํฌ๊ฐ WinUI 3.0๊ณผ ํจ๊ป ์ ๊ณต๋ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ณผ๊ฑฐ์๋ง WinRT์๋ค๊ณ ์ฌ์ ํ ๋นํํ๋ ๊ฒ์ ๊ฑฐ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๐
์์งํ ์ด๋ ๊ฒ ๋๊ธฐ๋ฅผ ์ง์ฌ์ผ๋ก ๋ฐ๋๋๋ค. ๋๋ ํ์คํ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆด ๊ฒ์ด๋ฉฐ ๊ฐ์ธ์ ์ผ๋ก ์๋๋ฐ์ค๊ฐ ์๋ ํ๋ซํผ์ ์ฌ์ฉํ ์ ์๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆด ์ ์์ต๋๋ค. ํ์ง๋ง ๊ทธ๋๊น์ง ์ ๋ ์ฌ์ ํ ์ฑ์ ๊ฐ๋ฐ ์ค์ด๋ฉฐ ์ฒ์์ ์ค๋ช ํ ๋ฌธ์ ์ ์ฌ์ ํ ์ง๋ฉดํ๊ณ ์์ต๋๋ค.
๋ฐ๋ผ์ WPF ์ฑ์ ๋นํด ํฐ ๋จ์ ๋ถํฐ ์์ํฉ๋๋ค. ๊ทธ๊ฒ์ ํ ๊ฐ์ง์ ๋๋ค - ๋ค๋ฅธ ๊ฒ์
๋ถ๋ช
ํ ๋งํด์ ์ฑ์ด ๋ชจ๋ ํ์ผ์ ์ก์ธ์คํ๋ ๊ฒ์ ๊ฑฐ๋ถํ๋ ์ ํ์ ๋จ๊ฒจ๋๋ ๊ฒ์ด ๋น์ ์ ์๊ฒฌ์ผ๋ก๋ ๋ถ๋ฆฌํฉ๋๊น?
๊ฐ๋ฐ์๋ก์ ์ฐ๋ฆฌ๋ ์ฌ์ฉ์์ ๋ํ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์๊ฐ ์ฑ์ ํ์๋๋ ๋ฐ์ดํฐ์ ๋ํด ์ ํ์ ์ฌ์ง๊ฐ ์๋๋ก ํ๋ ๊ฒ์ ์ฌ์ฉ์์๊ฒ ๋ณด์์์ ๋จ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
- ์ค์น ์ ์ด๋ฏธ ๋ฌป๊ณ ์์ต๋๋ค.
"broadFileSystemAccess" ๊ธฐ๋ฅ์ ์๋ฏธํฉ๋๊น? ์ ์๊ฐ์๋ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ๋นํ ์ด์ ๊ฐ ์๋ ์ฑ์ด ๊ฑฐ์ ์์ต๋๋ค. ( @kmgallahan์ด ์ด๋ฏธ ์ง์ ํ๋ฏ์ด)
๋งค์ผ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฑ์ ์ดํด๋ณด์ธ์. ๊ทธ ์ค ์ผ๋ง๋ ๋ง์ ํ์ผ์ด ํญ์ ๋ชจ๋ ํ์ผ์ ์ก์ธ์คํด์ผ ํฉ๋๊น? ์๋ง ๊ทธ๋ ๊ฒ ๋ง์ง๋ ์์ ๊ฒ์
๋๋ค.
๊ทํ์ ์ด๊ธฐ ์๊ฒฌ์์ ๋งํ๋ฏ์ด :
์ฌ์ฉ์๊ฐ ์์ ๊ฐ์ด ๋ง์กฑํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ญ๋๊น? ์๋์. ์ค์ ๋ก๋ 79.8%๊ฐ ํ์ง ์์ต๋๋ค(๋ด AppCenter ๋ฐ์ดํฐ๊ฐ ์ด๋ฅผ ๋ท๋ฐ์นจํจ).
๋๋ ์๋ง๋ ์ฌ์ฉ์๋ค์ด ์ด๊ฒ์ ํ๋ ๊ฒ์ ์ข์ํ์ง ์๋ ์ด์ ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค(์ด๊ฒ์ด ๊ทธ๋ค์ด ๋ณ๊ฒฝํด์ผ ํ๋ ๋ณด์ ์ค์ ์ด๋ผ๋ ์ฌ์ค ์ธ์).
๊ทธ๋ฌ๋ ๋ชจ๋ ํ์ผ์ ์ก์ธ์คํด์ผ ํ๋ ๋ชจ๋ ๋น์ฆ๋์ค ์ฌ๋ก๋ฅผ ์์ง ๋ชปํ ์๋ ์์ผ๋ฏ๋ก ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๊ธฐ๊บผ์ด ๋ฃ์ต๋๋ค. ํ๋ฃจ์ ๋์์ ์ฐ๋ฆฌ๋ ์ธ์ฐ๊ธฐ ์ํด ์ฌ๊ธฐ์ ์๋ ๊ฒ์ด ์๋๋ผ ์๋ก์ ๊ด์ ์ ํ๋ถํ๊ฒ ํ๊ธฐ ์ํด ์ฌ๊ธฐ์ ์์ต๋๋ค(์ํ๋ฉด) ๐
ํธ์งํ๋ค:
ํ์ผ ํฌ๊ธฐ๋ ๋ฏธ๋ฆฌ ๊ฐ์ ธ์์ผ ํฉ๋๋ค(๋ง์ง๋ง ์ก์ธ์ค ๋ ์ง/๋ง์ง๋ง ์ฐ๊ธฐ ๋ ์ง์ ๋์ผ) - ๋งค์ฐ ์ค์ํ๋ฏ๋ก ํ์ผ์ ์ฟผ๋ฆฌํ ๋ ๋ฏธ๋ฆฌ ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
์, ๊ทธ ์ค ์ผ๋ถ๋ ํ์คํ ๋ฏธ๋ฆฌ ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ๋๋ ์ด๊ฒ์ด ์ฐ๋ฆฌ ๊ฐ๋ฐ์๋ค์๊ฒ ๋ค์ ๋ถํธํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
์ด ํ ๋ก ์ ์ค์ ๋ก ์ด๋ฌํ ์ง๋ฌธ์ ํ ์ฅ์๊ฐ ์๊ณ WinRT๊ฐ ๋ค๋ฅธ ๊ณณ์์ ํผ๋๋ฐฑ์ ๋ค์ ์ ์๋ ์ฅ์๊ฐ ์์๋ค๋ฉด ์ฌ๊ธฐ์์ ์ผ์ด๋์ง ์์์ ๊ฒ์ ๋๋ค.
๊ณต์์ ์ผ๋ก ํผ๋๋ฐฑ ํ๋ธ๋ (๋ด ์๊ฐ์) ๊ทธ๊ฒ์ ์ํ ๊ฒ์ด์ง๋ง ์, ์ธ์ ๊ฐ๋ ์ฝ๊ฐ ๋ฐ์์ด ์๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง๋๋ค. ํผ๋๋ฐฑ ํ๋ธ๊ฐ ๊ฐ์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ด๊ฐ ๋ณผ ๋, ๊ทธ๋ค์ ์ด๋ฏธ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฝ๊ฐ์ ๋ณ๊ฒฝ์ ๊ฐํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ๋ ๋ณ๊ฒฝ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@Felix-Dev
์ฌ๊ธฐ .NET 5 ๋ฐํ ๊ฒ์๋ฌผ์ด ์์ต๋๋ค.
๋งํฌํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ํนํ ์ด ๋ถ๋ถ์ด ํฅ๋ฏธ๋กญ๊ณ ๊ธ์ ์ ์ธ ์์์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
"์๋ฐ ์ํธ ์ด์ฉ์ฑ์ ๋ชจ๋ ํ๋ซํผ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ํ Rich Lander๊ฐ ์๋ฐฉํฅ ์ํธ ์ด์ฉ์ฑ์ ํ์ธํ๋ ํด๋น ์น ํ์ด์ง์ ๋์ ์๋ ์ฃผ์์ ์ฝ๊ฐ์ Java ํ ๋ก ์ด ์์ต๋๋ค. ์ ๋ ์ด๊ฒ์ Microsoft๊ฐ ํ์ค์ ๋ค์ ์ ๊ทผํ๊ณ ์๋ค๋ ๊ธ์ ์ ์ธ ์ ํธ๋ก ํด์ํฉ๋๋ค. ์ ๋ Java ํฌ์ด ์๋์ง๋ง(C# ์ ํธ) Java ์ํธ ์ด์ฉ์ฑ์ด ๋งค์ฐ ์ ์ฉํ๋ฉฐ ์ฒ์๋ถํฐ UWP/WinRT์ ์ด์ ์ด ๋์ด์ผ ํ๋ค๋ ์ ์ ์ธ์ ํฉ๋๋ค. UWP/WinRT๊ฐ ํฌ๋ฐํ ์ด์ ๋ค์ดํฐ๋ธ ์ฝ๋(C++/CX, Win16/32, COM) ๋์ Java ๋ฐ C#(๊ด๋ฆฌ ์ฝ๋)์ ์ต์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๊ณ UWP๊ฐ JavaScript์ Java์ ๋ชฉ์ ์ ํผ๋ํ์ง ์์๋ค๋ฉด ๊ทธ๋ ๋ค๋ฉด UWP๋ ๋ ๋ง์ ์ฑ ๊ฐ๋ฐ์๋ฅผ ๋์ด๋ค์์ ๊ฒ์ด๊ณ Windows Mobile์ ์ค๋๋ ์๋ ์ด์์์ ๊ฒ์ ๋๋ค.
์ข๋ ์ซ๋ ์ผ์ด๋์ ์ํฉ์ ํ์ค์ ์ธ์ ํด์ผ ํฉ๋๋ค. ์์ฅ ๋ฆฌ๋๋ Java ์ฑ ๊ฐ๋ฐ์ ์ค์ ์ ๋ Android์ ๋๋ค. Java ๋ฐ C#์ ๊ด๋ฆฌ ์ฝ๋๋ฅผ ์๋ฏธํฉ๋๋ค. Microsoft๋ ๊ด๋ฆฌ ์ฝ๋์ ๋ํ ์ ์ฅ์ ๋ค์ง์์ ๋ ๋ง๋ํ ๋น์ฉ์ด ๋๋ ์ค์๋ฅผ ์ ์ง๋ ์ต๋๋ค.
๋๋ ์๋ฐ๋ฅผ ๋ณ๋ก ์ข์ํ์ง ์์ง๋ง, ์๋๋ก์ด๋์ ์๋ฐ ๊ธฐ์ ์ด ๋ง์ดํฌ๋ก์ํํธ๊ฐ 16๋นํธ ๋ 32๋นํธ ํฌ์ธํฐ์ ๊ฐ์ ๊ณ ๋ Win16 ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ WebView2๋ฅผ ๊ฐ๋ฐํ๋ ํฌ๋ฐํ ์๋ ๋ฐฉ์๋ณด๋ค ํจ์ฌ ๋ซ๋ค๋ ๊ฒ์ ๋ถ๋ช
ํฉ๋๋ค. , ๋ฐ HRESULT
๋์ ํ๋์ ์ธ ์์ธ ์ฒ๋ฆฌ ๋ฑ. WebView2๋ LPCWSTR
๋ฅผ ์ฌ์ฉํ๊ณ L
๋ 16๋นํธ๊ฐ ์๋ 32๋นํธ ํฌ์ธํฐ๋ฅผ ์๋ฏธํ๋ "๊ธด ํฌ์ธํฐ"๋ฅผ ์๋ฏธํฉ๋๋ค. Win16์ "์งง์" ํฌ์ธํฐ. W
๋ 8๋นํธ ASCII/ANSI ๋ฌธ์๊ฐ ์๋ ์ ๋์ฝ๋(UTF-16)๋ฅผ ์๋ฏธํ๋ "์์ด๋ ๋ฌธ์"๋ฅผ ์๋ฏธํฉ๋๋ค. ์ด์ ๋นํด Android์ Java ์ฌ์ฉ์ Microsoft์ ์ผ๋ถ ๋ถ์์์ ์ํํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ์ ๋ฌธ์ ์ด๊ณ ํ๋์ ์ด๋ฉฐ ์ ๋ขฐ๋ฅผ ๋ถ๋ฌ์ผ์ผํค๊ณ ์์ต๋๋ค.
๋ฐ๋ผ์ ๊ธ์ ์ ์ธ ์ธก๋ฉด์์ Microsoft๊ฐ Java๋ฅผ ์ง์ํ ๊ฒ์ด๋ผ๋ ์์์ ๋ฃ๊ฒ ๋ ๊ฒ์ ์ ๋ง ์ข์ ์์์ ๋๋ค(๊ฐ์ธ์ ์ผ๋ก๋ Java๋ณด๋ค C#์ ์ ํธํ์ง๋ง). Android ์ฑ ๊ฐ๋ฐ์๋ ์ ๋ขฐํ ์ ์๋ Java interop์ด ์ถ์๋๋ ์ฆ์ Windows์ ๋ํ ๊ด์ฌ์ ๋์ผ ๊ฒ์ ๋๋ค.
๋ํ ์ด์ ์ฐ๋ฆฌ๋ Win32/.NET ์ฑ ํ๋ ์์ํฌ๊ฐ WinUI 3.0๊ณผ ํจ๊ป ์ ๊ณต๋ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ณผ๊ฑฐ์๋ง WinRT์๋ค๊ณ ์ฌ์ ํ ๋นํํ๋ ๊ฒ์ ๊ฑฐ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๐
๋งํ์ง ์์์ง๋ง ์ค์ ๋ก ์ผ์ด๋๊ณ ์๋ ์ผ์ UWP ๋ฐ ์ต์ UI๊ฐ win32๋ก ํ์ฅ๋์ง ์๊ณ ์์ง๋ง ์ค์ ๋ก UWP๊ฐ ์คํ์์ ๋ฆฌํฉํฐ๋ง๋๊ณ ์๋ค๋ ๊ฒ ์ ๋๋ค. dotnet standard 2์ dotnet core 3, ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ฐ ์ UWP๋ฅผ ๋ค๋ฃจ๋ ค๊ณ ํ ๊น์?
UWP์ ์๊ฐ๋ ์๋๋ฐ์ฑ ๋ฐ ๊ธฐํ ์ข์ ์์ด๋์ด: ์ข์ ์์ด๋์ด์์ง๋ง ํจ์ฌ ๋ ์ ์คํ๋ ์ ์์์ต๋๋ค. ๊ทธ๋ค์ด ๋์์์ ์๋๋ฐ์ค์ OPT-IN ๋๋ UWP์ ์ ์ฌํ ์ํ ๊ด๋ฆฌ์ OPT-IN์ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ฐ๋ฐ์๋ก์ ์ฐ๋ฆฌ๋ ์ฌ์ฉ์์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์ถ์ง๋ง UWP์์๋ ํ๋ซํผ์ด ํฌํจํด์ผ ํ๋ ๋ฌธ์ ๋ก ์ํ์ ๋ฐ์์ต๋๋ค.
์ด๋ค ์ ์งํ ์กฐ์ธ์ ํ ์ ์์ต๋๊น? ๊ธฐ๋ค๋ฆฌ๋ค?
@AndrewPawlowski UWP์ ์๋๋ฐ์ค๊ฐ ์๋ํ์ง ์๋๋ค๊ณ ํ๋จํ๋ค๋ฉด WinUI 3์ด ์ถ์๋ ๋๊น์ง MSIX ํจํค์ง WPF ์ฑ์ ์์ฑํ๋ ๊ฒ์ด ์ข์ ์ ํ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ฏธ Windows 10 ๋ ์ API๋ฅผ ํธ์ถํ๊ณ , ์ฌ์ฉ์์๊ฒ ์ต์ ์ค์น/์ ๊ฑฐ ๊ฒฝํ์ ์ ๊ณตํ๊ณ , ์ผ๋ฐ์ ์ผ๋ก Windows 10 API ํ๋ฉด์์ ์ํ๋ ๊ฒ๊ณผ ๊ทธ๋ ์ง ์์ ๊ฒ์ ์ ํํ ์ ์์ต๋๋ค(์ฆ, Windows 10 Shell API ์ฌ์ฉ์ ์์ํ ์ ์์). ์ผ๋ถ WinRT API๋ ๊ณผ๊ฑฐ์ win32 ๋ฐฉ์์ ๋นํด ์์ ํ๊ธฐ๊ฐ ์ ๋ง ์ฆ๊ฒ๊ณ ์ผ๋ถ ์๋๋ฆฌ์ค๋ ์์ UWP๊ฐ ์๋ DesktopBridge์์ ๊ฐ์ฅ ์ ์ํ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ ์ ํ ์ฌ๋ก: ๋ก๊ทธ์ธ ์ ์๋ ์์์ ์ํ ์ฑ ๋ฑ๋ก, UWP์ DesktopBridge ๋์ ๋น๊ต๋ ์ด ๊ฒ์๋ฌผ ์ ์ฐธ์กฐ ๋ ๋ฒ ๋ฌป์ง ์์ต๋๋ค(์ฒ์์๋ ์ฑ์์ ํ ๊ธํ ๋ค์ ํ์ธ์ ์์ฒญํ๋ ์์คํ ํ๋กฌํํธ). ์ฑ์์.
๋ถํํ๋, WPF API์ ๋ง์ ๋ถ๋ถ์ด UWP UI API์ ๋น๊ตํ ๋ ์ค์ ๋ก ์๋ช ์ ๋ณด์ฌ์ฃผ๊ณ ์์ผ๋ฏ๋ก ์ต์ํ ๋ช ๊ฐ์์ ๋ ๊ฒฌ๋์ผ ํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๋ง์ WPF ๋๊ตฌ ํคํธ๊ฐ ์ด๋ฌํ ์ฌ์ค์ ์ํํ ์ ์์ง๋ง Windows ๋ฐ์คํฌํฑ ์ฑ(๋ฐ ์ต์ XAML ๊ฐ๋ฐ ํ๊ฒฝ!)์ ๋ํ ๊ธฐ๋ณธ ๋ชจ์๊ณผ ๋๋์ ์ง์ ์ผ๋ก ์ํ๋ ๊ฒฝ์ฐ UWP UI API(๋ฐ ๋์ค์ WinUI 3 API). ์ฆ, ๋์ค์ WinUI์ฉ WPF UI ์ฝ๋ ์ค ์ผ๋ถ๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋ค๊ณ ํด๋ UI ํ๋ํ๋ ์ฌ์ ํ ๊ฝค ํฐ ์์ ํญ๋ชฉ์ด ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
WinUI 3๊ฐ ์ถ์๋ ๋๊น์ง ๊ธฐ๋ค๋ฆด ์ ์๊ณ UWP๊ฐ ์ต์ ์ด ์๋ ๋ ํ์ฌ ๋ณด๊ณ ์๋ ๊ธฐ๋ณธ Windows ์ฑ ๊ฐ๋ฐ ์ํ์ ๋๋ค.
@AndrewPawlowski
- ๋ฏธ๋๋ ๋ฐ์ต๋๋ค. ์ ๋ WinUI์์ ๊ฐ๋ฐ๋๊ณ ์๋ ๊ฒ์ ๋ณด๊ณ ์์ต๋๋ค.
๋์
- ๊ณผ๊ฑฐ๋ ๋งค์ฐ ์์ธํ์ต๋๋ค. 9์ต ๊ฐ์ ์ฅ์น๊ฐ ์๋ ํ๋ซํผ์์ UWP์ ๋ฎ์ ๋ณด๊ธ๋ฅ ์ ๋ฐฉ์ดํ๊ธฐ ์ด๋ ต์ต๋๋ค. ํธ์ง: ๊ณผ๊ฑฐ๋ ์ฐ๋ฆฌ๊ฐ ๋ฐฐ์ธ ์ ์๋ ์ ์ผํ ์ฅ์์ด๋ฏ๋ก ํ ๋ก ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ๋ด ์๊ฐ์ ํ์ฌ ๋ ์ด ์ค๋ ๋์ ์์ ์ด๋ฉฐ ๋ค๋ฃจ์ง ์๊ณ ์์ต๋๋ค. ๊ฐ๋ฐ์ 1~1.5๋ ์ด ์์๋๋ ๊ฐ๋จํ ์ฑ์ ์ค๋ ์์ํ๋ ค๋ ์ฌ๋์ด ์๋ค๋ฉด ์ด๋ค ์์งํ ์กฐ์ธ์ ํด์ค ์ ์์๊น์? ๋ด ๋๋ต์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. WinUI๋ก ์คํํ๊ณ , dotnet Core์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ , ์ค์ ๋ก ์ฑ ๋ง๋ค๊ธฐ๋ฅผ ์์ํ๊ธฐ ์ํด WinUI3.0์ด ๋์ฌ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ธ์. UWP๋ก ๊ท์ฐฎ๊ฒํ์ง ๋ง์ญ์์ค.
์ฒ์ ์๊ฐ์ ๋๊ฐ์๋๋ฐ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ....
UWP์ ์๊ฐ๋ ์๋๋ฐ์ฑ ๋ฐ ๊ธฐํ ์ข์ ์์ด๋์ด: ์ข์ ์์ด๋์ด์์ง๋ง ํจ์ฌ ๋ ์ ์คํ๋ ์ ์์์ต๋๋ค.
100% ๋์
๊ทธ๋ฌ๋ ๋ชจ๋ ํ์ผ์ ์ก์ธ์คํด์ผ ํ๋ ๋ชจ๋ ๋น์ฆ๋์ค ์ฌ๋ก๋ฅผ ์์ง ๋ชปํ ์๋ ์์ผ๋ฏ๋ก ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๊ธฐ๊บผ์ด ๋ฃ์ต๋๋ค. ํ๋ฃจ์ ๋์์ ์ฐ๋ฆฌ๋ ์ธ์ฐ๊ธฐ ์ํด ์ฌ๊ธฐ์ ์๋ ๊ฒ์ด ์๋๋ผ ์๋ก์ ๊ด์ ์ ํ๋ถํ๊ฒ ํ๊ธฐ ์ํด ์ฌ๊ธฐ์ ์์ต๋๋ค(์ํ๋ฉด) ๐
์๋ฃ๋ฅผ ๋ฏธ๋ฆฌ ๋ณด๊ณ ์ถ์ ๊ณณ์ด๋ฉด ์ด๋์์๋ ํ์ผ์ ๋น ๋ฅด๊ฒ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ ๊ฒฝ์ฐ์๋ ์ฌ์ง/๋น๋์ค๊ฐ ์๋ ์์น๋ฅผ ์ฌ์ฉ์์๊ฒ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ํด๋๋ฅผ ๋ฏธ๋ฆฌ ๋ณด๊ณ ์ถ๊ณ , ๋น๋์ค์ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ ์ ํํ๊ธฐ ์ ์ ๋น๋์ค๋ฅผ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ๋ฅผ ์ํฉ๋๋ค. ์์ ์ ํ์ผ ์ ํ๊ธฐ๊ฐ ์๋นํ ์์ค ์ดํ์ ๊ฒฝํ์ ์ ๊ณตํ๋ค๋ ๊ฒ์ ๋๋ค. ์ ๋ ์ด๋ฅผ ํ๋ถํ๊ฒ ๋ง๋ค๊ณ ์ถ์์ต๋๋ค.
๊ณต์์ ์ผ๋ก ํผ๋๋ฐฑ ํ๋ธ๋ (๋ด ์๊ฐ์) ๊ทธ๊ฒ์ ์ํ ๊ฒ์ด์ง๋ง ์, ์ธ์ ๊ฐ๋ ์ฝ๊ฐ ๋ฐ์์ด ์๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง๋๋ค. ํผ๋๋ฐฑ ํ๋ธ๊ฐ ๊ฐ์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ ๊ฐ ๋ณผ ๋ ์ด๋ฏธ ์๊ฐ์ด ์ง๋๋ฉด์ ์ฝ๊ฐ์ ๋ณ๊ฒฝ์ ๊ฐํ์ผ๋ ์ด๊ฒ๋ ๋ณ๊ฒฝ๋๋ฆฌ๋ผ ์๊ฐํฉ๋๋ค(^โ^)
๊ฐ์ธ์ ์ผ๋ก ๋๋ ํผ๋๋ฐฑ ํ๋ธ๋ฅผ ์ข์ํ์ง ์์ต๋๋ค. ๋ค๋ฅธ ๋ฌธ์ ๋ค ์ค์์ ๋๋ฌด ๊ตฌ์ฒด์ ์ด์ง ์์ต๋๋ค.
@jtorjo @chingucoding WinRT API์ฉ ํผ๋๋ฐฑ ํ๋ธ๋ ๊ณง Microsoft Q&A์ ๊ต์ฒด/ ํ์ธ์ .
Chigusa๊ฐ ๊ฑฐ๊ธฐ์ ์ธ๊ธ๋ ๊ฒ์ ๋ณด๋ฉด: @chigy Microsoft Q&A ํ๋ซํผ์ด WinUI๊ฐ ์๋ WinRT API์ ๋ํด ์ ํธ๋๋ ํผ๋๋ฐฑ ํ๋ซํผ์ด ๋ ๊น์? ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ํผ๋๋ฐฑ ํ๋ธ์ ์ด๋ค ๊ด๋ จ์ด ์์ต๋๊น(์: Q&A์ ๋ฒ๊ทธ/์ง๋ฌธ, ํผ๋๋ฐฑ ํ๋ธ์ API ์์ฒญ...)?
์ธ ๊ฐ์ง ๋ค๋ฅธ ํผ๋๋ฐฑ ํ๋ซํผ์ผ๋ก ๋๋์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค ๐
์ด๊ฒ์ UWP์ ๋ํ ํ ๋ก ์ด๋ฏ๋ก ๊ธฐ๋ฅ ์์ฒญ์ ์น๊ฒฉํ ์ ์์ต๋๋ค. https://aka.ms/AA71n2t btw ํ์ผ ํ์ ์ฐ๊ฒฐ ์์ด ํ์ผ ํ์๊ธฐ ํตํฉ์ผ๋ก ์ํฉ์ ๋ง๋ ๋ฉ๋ด ๋์ฌ ํ์ฉ. https://aka.ms/AA6rmrk (ํ์ง๋ง ์๋ชป๋ ์นดํ ๊ณ ๋ฆฌ์ ์์ต๋๋ค. ๋๊ตฐ๊ฐ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๊น์?)
๊ธฐ๋ฅ ์์ฒญ์ ์ข์ ์ถ์ฒ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
https://web.archive.org/web/20161221051552/https://wpdev.uservoice.com/forums/110705-universal-windows-platform/category/171141-missing-apis
์ ๊ฐ์ค๋ฝ๊ฒ๋ ์ด ์ฌ์ฉ์ ์์ฑ์ ์ค๋
์ท์ ๊ฝค ์ค๋๋์์ต๋๋ค(2016). ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ด ์์๋ ๊ฒ์ผ๋ก ๊ธฐ์ตํฉ๋๋ค.
@jtorjo
์๋ฃ๋ฅผ ๋ฏธ๋ฆฌ ๋ณด๊ณ ์ถ์ ๊ณณ์ด๋ฉด ์ด๋์์๋ ํ์ผ์ ๋น ๋ฅด๊ฒ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ ๊ฒฝ์ฐ์๋ ์ฌ์ง/๋น๋์ค๊ฐ ์๋ ์์น๋ฅผ ์ฌ์ฉ์์๊ฒ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ํด๋๋ฅผ ๋ฏธ๋ฆฌ ๋ณด๊ณ ์ถ๊ณ , ๋น๋์ค์ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ ์ ํํ๊ธฐ ์ ์ ๋น๋์ค๋ฅผ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ๋ฅผ ์ํฉ๋๋ค. ์์ ์ ํ์ผ ์ ํ๊ธฐ๊ฐ ์๋นํ ์์ค ์ดํ์ ๊ฒฝํ์ ์ ๊ณตํ๋ค๋ ๊ฒ์ ๋๋ค. ์ ๋ ์ด๋ฅผ ํ๋ถํ๊ฒ ๋ง๋ค๊ณ ์ถ์์ต๋๋ค.
๋ด ์๊ฐ์๋ ๋จผ์ ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฌ์ฉํ๋ ค๋ ํด๋๋ฅผ ์ ํํ๊ฒ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฒฐ๊ตญ ์ฌ์ฉ์๋ ์์ ์ ๋น๋์ค๋ฅผ ์ ์ฅํ ์์น๋ฅผ ๊ฐ์ฅ ์ ์๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค์์ ์ดํด๋ณด๊ณ ์ถ์ ์ ์์ต๋๋ค.
https://docs.microsoft.com/en-us/windows/uwp/files/quickstart-managing-folders-in-the-music-pictures-and-videos-libraries
๊ทธ๋ฌ๋ ์์งํ ๋งํด์, ๋๋ ๊ทธ ๊ฒฝ์ฐ์ broadFileSystemAccess๊ฐ ์ ํํ ๋ฌด์์ ๋์ธ ๊ฒ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ฌ์ฉ์์ ๋ฌ๋ฆฌ ํ์ผ์ด ์ ํํ ์ด๋์ ์๋์ง ํ์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ฑ์ ๊ฐ๋ ์ ์ ๋๋ก ์ดํดํ์ง ๋ชปํ ๊ฒ์ผ ์๋ ์์ต๋๋ค.
@Felix-Dev
์ ๋ณด ๊ฐ์ฌํฉ๋๋ค. WinRT ํผ๋๋ฐฑ์ด ์์ง์ผ ์ค์ ๋ชฐ๋์ต๋๋ค.
์ธ ๊ฐ์ง ๋ค๋ฅธ ํผ๋๋ฐฑ ํ๋ซํผ์ผ๋ก ๋๋์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค ๐
ํํ ์, ์๋๊ธธ ๋ฐ๋๋๋ค!
@jtorjo -- WPF์์ UWP๋ก ์ฑ ์ด์์ ์ทจ์ ํ๋ ๊ฒ์ ๊ณ ๋ คํ์ต๋๊น? ์ทจ์ํ๊ณ WinUI 3์ด ์ถ์๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ฉด ๋ฌธ์ ๊ฐ ์๋ UWP ํ์ผ ์์คํ API, broadFileSystemAccess ๋ฑ์ ๊ฐ์ ๋ก ์ฌ์ฉํ์ง ์์๋ ๋ฉ๋๋ค. ๊ทธ๋์ WinUI 3์ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ๊ณ์ํด์ ์ฑ์ WPF ๋ฒ์ ์ ๊ณ์ ๊ฐ๋ฐํ์ฌ ์ฌ์ฉ์์๊ฒ ์ ๋ฒ์ ์ ์ฑ์ ์ ๊ณตํฉ๋๋ค.
WinRT๊ฐ ์์๋ ํ 8๋ ๋์ ์ฐ๋ฆฌ๋ ์ค์ ๋ก ์ฌ์ฉ์์๊ฒ WinRT๋ UWP ์ฑ์ ์ ๊ณตํ ์ ์ด ์์ต๋๋ค. ๋์ ์ฐ๋ฆฌ๋ ์ํํธ์จ์ด์ WPF ๋ฒ์ ์ ๊ณ์ ์ฌ์ฉํ๋ ๋ง์ ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ์ต๋๋ค. ์ฌ์ฉ์๋ WPF, WinUI, UWP์ ๊ฐ์ ๊ธฐ์ ์ธ๋ถ ์ ๋ณด์ ์ ๊ฒฝ ์ฐ์ง ์๊ณ ์ฑ์ด ์ผ๋ง๋ ์ ์๋ํ๊ณ ์ด๋ค ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋์ง์ ๊ด์ฌ์ด ์๊ธฐ ๋๋ฌธ์ ์ด์ ๋ํด ์ ํ ๋ถ๋ง์ด ์์ต๋๋ค. ๋ํ WPF ์ฑ์๋ GUI ํ๋ํ๊ฐ ๋ง์ด ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๋ ์ด์ GUI์ ๋ํด ๋ถ๋ง์ด ์์ต๋๋ค.
@AndrewPawlowski ๋ "
UWP์์ WinUI 3์ ๋ถ๋ฆฌ๊ฐ ํฐ ๋์์ด ๋์ง๋ง ์์ ํ ์๋ฃจ์ ์ ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค. WinUI 3์ WinUI์ ๋ฎ์ ์์ฐ์ฑ/๋๋ฆฐ ๊ฐ๋ฐ ์๋๋ฅผ ํด๊ฒฐํ์ง ์์ต๋๋ค. WPF๋ WinUI๋ณด๋ค ํจ์ฌ ์ด๋ ค์ ์ง๋ง WPF๋ WinUI๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐ๋์์ต๋๋ค.
WinUI ํ์ WinUI 3๊ฐ ์คํ ์์ค์ผ ๋ ์๋๊ฐ ๋นจ๋ผ์ง ๊ฒ์ด๋ผ๊ณ ๋งํ๊ณ ์๋ง๋ ๊ทธ๋ด ์๋ ์์ง๋ง ๊ฐ์ธ์ ์ผ๋ก WinUI 3์ ๋ํ C++/CX, C++/WinRT, Win16/32 ๋๋ COM ๊ธฐ์ฌ๋ฅผ ์์ฑํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ๋งํฉ๋๋ค. ์์ญ ๋ ์ ์ Win16/Win32๋ก ๊ฒฝ๋ ฅ์ ์์ํ์ผ๋ฉฐ Win32๋ ์ ๋ชฝ์ด์์ต๋๋ค. ์ ๋ ๊ทธ๋ฐ ์ค๋๋๊ณ ๋ฌธ์ ๊ฐ ์๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ๋ก ๋๋๋ฆด ์๊ฐ์ด ์์ต๋๋ค. ์๋ ์ ๊ฑธ์ณ ์ ๋ ์ํํธ์จ์ด ์์ง๋์ด๋ง ๊ธฐ์ ์ ์ต์ ์ํ๋ก ์ ์งํ๊ณ C# ๋ฐ .NET Framework๋ก ์ ํํ์ผ๋ฉฐ ์ด๋ ์ฃผ์ ๊ฐ์ ์ฌํญ์ด์ ์ด์ ์ด์์ผ๋ฉฐ ์ด์ Win16/32์ ์ ๋ชฝ์ผ๋ก ๋์๊ฐ์ง ์์ ๊ฒ์ ๋๋ค. ์ผ๊ณผ ๋ง์ ์์ ์๋์ผ๋ก ์์ฑ๋ ๋ค์ดํฐ๋ธ ์ฝ๋.
@AndrewPawlowski ๋ ๋ค์
์ด๋ค ์ ์งํ ์กฐ์ธ์ ํ ์ ์์ต๋๊น? ๊ธฐ๋ค๋ฆฌ๋ค?
์ ๋ง ๋๋ตํ๊ธฐ ์ด๋ ค์ด ์ง๋ฌธ์ ๋๋ค. ํํธ์ผ๋ก๋ WinUI 3์ ๊ธฐ๋ค๋ฆฌ์ง๋ง, ๋ค๋ฅธ ํํธ์ผ๋ก๋ WinUI 3์ด 8๋ ์ ์ WinRT์์ ์์๋ ํฐ ๋ฌธ์ ์ ์์ ํ ํด๊ฒฐ์ด ์๋๋๋ค. WinUI 3์ ์ ์ฉํ ๋ถ๋ถ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค.
Ignite์ ๋ฉ์ง ๋น๋์ค: https://youtu.be/Ul5JcdIJv5s
๋๋ ์ฌ๊ธฐ์ ๋ง์ ํ ๋ก ์ด WinRT์ ๋ชฉ์ ์ ์๋ฌธ์ ์ ๊ธฐํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ฐ๋ฐ์์ ์ฌ์ฉ์๋ ์ฌ์ ํ WinUI 3 ๋ฐ .NET 5.0์ด ์๋ก ๋ค๋ฅธ ๊ธฐ์ ๊ฐ์ ์ฌ์ด ์ํธ ์ด์ฉ์ ํ์ฉํ๋ฉด ์ด๋ค ์ญํ ์ ํ ์ง ๊ถ๊ธํดํฉ๋๋ค. ๋งํ ๊ฒ๋ ์์ด ์๋๋ฐ์ค์ ํด๋์ ์ฑ ๋ชจ๋ธ ์ฌ์ด์์ ์ ํํ๋ ๊ถ๊ทน์ ์ธ ๊ธฐ๋ฅ์ ๋๋ค.
Microsoft๊ฐ ๋ด๋ถ์ ์ผ๋ก ์ WinRT API๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ ์ฝ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ด๋ API ๊ณ์ธต ํ์ ์ ๋๋ถ๋ถ์ด WinRT ๋ด์์ ์ํ๋ ๊ฒ์ด๋ผ๊ณ ์ด์ ์ ์ฌ๋ฌ ๋ฒ ์ธ๊ธํ ์ด์ ๋ฅผ ์ค๋ช ํฉ๋๋ค. ์ด๋ ์๋กญ๊ณ ํ๋์ ์ธ Windows ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ ์๋ก์ด ํผ ํฉํฐ์ ํจ๊ป ์ ๊ณต๋ ์๋ก์ด ๊ฒฝํ๊ณผ ๊ฐ์ฅ ์ต์ ์ ํตํฉ์ ์ ๊ณตํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ WinRT๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์์ ์๋ฏธํฉ๋๋ค. WinRT๋ Windows์ .NET ์ฑ์์ ์ผ์ง๋ ํน์ ๋ฒ์ฉ API ์งํฉ์ผ๋ก๋ง ์ฌ์ฉ๋ฉ๋๋ค.
์ฆ, UWP ๋ฐ์คํฌํฑ ํ์ฅ ํฉ์ด ๊ธฐ์กด Windows ์ ธ๊ณผ ๋ ๋์ ํตํฉ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค๋ฉด ์ ๋๋ฒ์ค ์ฑ์ ๊ฐ์น๋ฅผ ๋์ผ ์ ์๋ค๋ ๋ฐ ๋ชจ๋ ๋์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๊ฐ ์๊ฒ ์ต๋๊น? Microsoft๋ ๊ฒฐ๊ตญ Windows ํ์๊ธฐ ์ ธ์ Windows 10X ๋ฑ์์ ๋ฐ๊ฒฌ๋ ์ต์ ๊ตฌ์ฑ ๊ฐ๋ฅํ ์ ธ(CShell)๋ก ๊ต์ฒดํ ๊ณํ์ ๊ฐ์ง๊ณ ์์์ง ๋ชจ๋ฆ ๋๋ค. Twitter์ ์ ๋ฌธ๊ฐ๋ค๋ Windows์์ ๋ฐ๊ฒฌ๋ ์๋ก์ด UDK(๋ํน๋์ง ์์ ๊ฐ๋ฐ ํคํธ)๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค. ์์ผ๋ก ์ด ์๋ก์ด ์๊ณผ ๋ ์ ํตํฉ๋ ๊ฒ์ ๋๋ค.
@AndrewPawlowski
900million ํ๋๊ฐ ์ถฉ๋ถํ ํฌ๋ฏ๋ก ๋ค๋ฅธ ํ๋ซํผ์ ์ํ์ง ์์ ๊ฒ์ ๋๋ค.
๋ฌด์จ ๋ง์ธ์ง ์๊ฒ ์ง๋ง UWP์ .NET์ ๋ ์ด์ ์ํธ ๋ฐฐํ์ ์ธ ๊ฒ์ด ์๋๋ผ๋ ์ ์ ๊นจ๋ฌ์์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ๋๋ฒ์ค ๊ธฐ๋ฅ์ผ๋ก ์ฑ์ ์์ํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ผ๋ฉด WinRT์ ์ผ๋ถ๋ฅผ ์ดํดํ๋ ๋ฐ ํฌ์ํด์ผ ํฉ๋๋ค.
๋๋ ํ์ ํ๋ค. ์์ํ UWP ์ฑ ๋ชจ๋ธ๋ก Windows ํ์ผ ํ์๊ธฐ ๊ฒฝ์์๋ฅผ ๊ตฌ์ถํ ์ฌ๋์ผ๋ก์ WinUI 3๋ ์ถฉ๋ถํ ๋นจ๋ฆฌ ์ฌ ์ ์์ต๋๋ค. ๊ฐ๊น์ด ์ฅ๋์ ์ ๋๋ฒ์ค ๊ธฐ๋ฅ๊ณผ "9์ต ๋ช ์ ์ฌ์ฉ์" ์ค ํ๋๋ฅผ ์ ํํ์ง ์์๋ ๋ฉ๋๋ค ๐
@jtorjo ๋ ๋ถ์ ์ ์ผ๋ก ์ธ์๋ ์ ๋ชฉ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด
์๋ง๋ "WinRT์ ๊ฐ์น๋ฅผ ๋ํ ๊ธฐํ"
@verelpode
@jtorjo -- WPF์์ UWP๋ก ์ฑ ์ด์์ ์ทจ์ ํ๋ ๊ฒ์ ๊ณ ๋ คํ์ต๋๊น? ์ทจ์ํ๊ณ WinUI 3์ด ์ถ์๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ฉด ๋ฌธ์ ๊ฐ ์๋ UWP ํ์ผ ์์คํ API, broadFileSystemAccess ๋ฑ์ ๊ฐ์ ๋ก ์ฌ์ฉํ์ง ์์๋ ๋ฉ๋๋ค. ๊ทธ๋์ WinUI 3์ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ๊ณ์ํด์ ์ฑ์ WPF ๋ฒ์ ์ ๊ณ์ ๊ฐ๋ฐํ์ฌ ์ฌ์ฉ์์๊ฒ ์ ๋ฒ์ ์ ์ฑ์ ์ ๊ณตํฉ๋๋ค.
๋๋ ์ด๊ฒ์ ๋ํด ์ค๋ซ๋์ ์ด์ฌํ ์๊ฐํ์ต๋๋ค. ์ด๊ฒ์ด ๋ด๊ฐ ํ๊ณ ์ถ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๊ทธ๊ฒ์ ํ ์ ์์ต๋๋ค. ์๋ํ๋ฉด ์ ๋ ์ ๋ง๋ก win2d(๋๋ ๊ทธ ์ด์, Direct2D์ ๋ํ ์ข์ ๋ํผ)๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ShapDX(Direct2D์ ๋ํ ๋ ๋ค๋ฅธ ๋ํผ)๋ ํจ์ฌ ๋ ๋ณต์กํด ๋ณด์์ผ๋ฏ๋ก win2d(UWP)๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ๊ฒ์ UWP๋ก ์ด์ํ์ญ์์ค.
๋ด ์๊ฐ์๋ ๋จผ์ ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฌ์ฉํ๋ ค๋ ํด๋๋ฅผ ์ ํํ๊ฒ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฒฐ๊ตญ ์ฌ์ฉ์๋ ์์ ์ ๋น๋์ค๋ฅผ ์ ์ฅํ ์์น๋ฅผ ๊ฐ์ฅ ์ ์๋๋ค.
๋น์ ์ ์ ๋ง๋ก ๊ทธ๊ฒ์ ๋น์ ์ ์ธ์์ ๊ฑธ๊ณ ์์ต๋๊น? ๋๋ - ๋ถ๋ช ํ, ๋น์ ์ด ๊ณ ๊ธ ์ฌ์ฉ์๋ผ๋ฉด ๋ฏธ์น ๋ฏ์ด ์กฐ์ง์ ์ด๊ณ ๋ชจ๋ ๊ฒ์ด ์ด๋์ ์๋์ง ์๊ณ ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด....
๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์(์ฌ์ฉ์)๊ฐ ์ด๋ป๊ฒ๋ ์ฌ์ง/๋น๋์ค๋ฅผ ์ ํด๋์ ๋ณต์ฌํ ๋๋ง๋ค ๋ด ์ฑ์ ํด๋น ํญ๋ชฉ๋ ํฌํจํ๋๋ก ์๋ ค์ผ ํฉ๋๋ค...
"ํ๋ฅญํ" FutureAccessList - ์ค์ ๋ก ์ง์ ํ์ง ์์ -> ํด๋๋ฅผ ์ถ๊ฐํ๋ฉด ๋ชจ๋ ํ์ ํด๋์ ๋ด ์ฑ์ ์ก์ธ์คํ ์ ์์ต๋๊น?
๋ํ FutureAccessList์ ๋ฌด์ธ๊ฐ๋ฅผ ์ถ๊ฐํ๋ค๋ฉด ๊ฑฐ๊ธฐ์์ ๊ฒ์ํด์ผ ํฉ๋๊น ์๋๋ฉด GetFolderFromPathAsync/GetFileFromPathAsync๋ฅผ ์ฌ์ฉํ์ฌ ์ป์ ์ ์์ต๋๊น(์ ์๋ ์ ๋ฒฝ์์ ๋ฐ์ด๋ด๋ฆฌ๊ณ ์ถ์ต๋๋ค)?
๊ทธ๋ฆฌ๊ณ FutureAccessList.AddOrReplace๋ฅผ ์ฌ์ฉํ๊ณ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ํ ํฐ์ผ๋ก ์ฌ์ฉํ๋ฉด ์์ธ๊ฐ ๋ฐ์ํ๋ค๋ ์ฌ์ค์ ์๊ณ ๊ณ์ จ์ต๋๊น? ์ผ๋ง๋ ์ฌ๋ ค๊น์๊ฐ... (์ค๋ช ์ด๋์๋ ์์)
WinUI 3 ๋ฐ .NET Core๋ ํฅํ ์ต์ ์ด ๋ ๊ฒ์ ๋๋ค. UWP์ ์๋๋ฐ์ค๊ฐ ์๋ ์กฐํฉ์ WPF์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์๋ํ์ง๋ง ์ต์ XAML ์ปจํธ๋กค, Visual Layer ๋ฐ ๊ฐ๋จํ WinRT API ์ก์ธ์ค๋ฅผ ํตํด ์๋ํ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค.
๋ด ์๊ฐ์๋ ๋จผ์ ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฌ์ฉํ๋ ค๋ ํด๋๋ฅผ ์ ํํ๊ฒ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฒฐ๊ตญ ์ฌ์ฉ์๋ ์์ ์ ๋น๋์ค๋ฅผ ์ ์ฅํ ์์น๋ฅผ ๊ฐ์ฅ ์ ์๋๋ค.
๋น์ ์ ์ ๋ง๋ก ๊ทธ๊ฒ์ ๋น์ ์ ์ธ์์ ๊ฑธ๊ณ ์์ต๋๊น? ๋๋ - ๋ถ๋ช ํ, ๋น์ ์ด ๊ณ ๊ธ ์ฌ์ฉ์๋ผ๋ฉด ๋ฏธ์น ๋ฏ์ด ์กฐ์ง์ ์ด๊ณ ๋ชจ๋ ๊ฒ์ด ์ด๋์ ์๋์ง ์๊ณ ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด....
์ฌ์ฉ์๊ฐ ์์ ์ ๋์์์ ์ด๋์ ์ ์ฅํ๋์ง ๋ชจ๋ฅธ๋ค๋ฉด ์ฑ์ ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? ๊ฐ์ฅ ๋น ๋ฅธ ์ํํธ์จ์ด๋ก๋ ๋ช ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์๋ ์์คํ ์ ๋ชจ๋ ํ์ผ์ ์ค์บํฉ๋๊น? ์ ์ด๋ ๋์๊ฒ ์ด๊ฒ์ ์ข์ ๊ฒฝํ์ฒ๋ผ ๋ณด์ด์ง ์์ต๋๋ค. ๊ฒฐ๊ตญ, ์ฑ์ด ๋น๋์ค๋ก ๋ฌด์ธ๊ฐ๋ฅผ ํ๋ ค๋ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ์ด๋ฏธ ์ด๋๊ฐ์ ๋น๋์ค๊ฐ ์๋ค๋ ๊ฒ์ ์๊ณ ์๋ค๋ ์๋ฏธ์์ ์ด๋ ์ ๋ "์กฐ์งํ"๋์ด ์์ต๋๋ค. ํ์ง๋ง ๋ค์ ๋งํ์ง๋ง, ๊ทํ์ ์ฑ๊ณผ ํน์ ๋น์ฆ๋์ค ์ฌ๋ก๋ฅผ ์ ๋๋ก ์์ง ๋ชปํ ์ฑ ์ ์๊ฐ์ผ ๋ฟ์ ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์(์ฌ์ฉ์)๊ฐ ์ด๋ป๊ฒ๋ ์ฌ์ง/๋น๋์ค๋ฅผ ์ ํด๋์ ๋ณต์ฌํ ๋๋ง๋ค ๋ด ์ฑ์ ํด๋น ํญ๋ชฉ๋ ํฌํจํ๋๋ก ์๋ ค์ผ ํฉ๋๋ค...
์์ ๋๋ ํ ๋ฆฌ์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ์์ผ๋ฉด ํฅํ ํ์ ํด๋์๋ ์ก์ธ์คํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค(100% ํ์ ํ ์๋ ์์ง๋ง).
๊ทธ๋ฆฌ๊ณ FutureAccessList.AddOrReplace๋ฅผ ์ฌ์ฉํ๊ณ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ํ ํฐ์ผ๋ก ์ฌ์ฉํ๋ฉด ์์ธ๊ฐ ๋ฐ์ํ๋ค๋ ์ฌ์ค์ ์๊ณ ๊ณ์ จ์ต๋๊น? ์ผ๋ง๋ ์ฌ๋ ค๊น์๊ฐ... (์ค๋ช ์ด๋์๋ ์์)
์ด์ํฉ๋๋ค. ์ด๊ฒ์ ํ์คํ ๋ฌธ์ํ๋์ด์ผ ํ๋ ๊ฒ์ ๋๋ค!
๊ฐ์ธ์ ์ผ๋ก ๋ง์ ์ฑ์ด ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์ "broadFileSystemAccess"๋ฅผ ์์ฒญํ๋ ์ฑ์ ํฌ์ด ์๋๋๋ค. ์ดํด๊ฐ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์์ง๋ง(ํ์ผ ํ์๊ธฐ ์์ฑ ๋ฑ) ์ผ๋ถ ํด๋์ ์ก์ธ์คํด์ผ ํ๋ ๋ง์ ๊ฒฝ์ฐ์๋ "๋ชจ๋ ํ์ผ์ ๋ํ ์ก์ธ์ค๋ฅผ ํ์ฉํด ์ฃผ์ธ์"๋ผ๊ณ ๋งํ๋ฉด ์ ๋ฉ๋๋ค. ํนํ ํด๋น ํด๋.
๊ทธ๋ฌ๋ ์๋ง๋ ๋๋ ๊ทธ๋ฌํ ๋น์ฆ๋์ค ์ฌ๋ก๋ฅผ ์ถฉ๋ถํ ์์ง ๋ชปํฉ๋๋ค. ๋ ์์ผ๋ฉด ๋ฃ๊ณ ์ถ์ต๋๋ค!
๊ทธ๋ฌ๋ ์๋ง๋ ๋๋ ๊ทธ๋ฌํ ๋น์ฆ๋์ค ์ฌ๋ก๋ฅผ ์ถฉ๋ถํ ์์ง ๋ชปํฉ๋๋ค. ๋ ์์ผ๋ฉด ๋ฃ๊ณ ์ถ์ต๋๋ค!
์์ถ ํด์ ๋๊ตฌ์ ๊ฐ์ ๋๊ตฌ ๋ฐ ์ ํธ๋ฆฌํฐ ์ํํธ์จ์ด. ํ์ฌ ํ์ผ์ด ์๋ ๋์ผํ ๋๋ ํฐ๋ฆฌ์ ์์ถ ํ์ผ์ ์ถ์ถํ๋ ค๋ ๊ฒฝ์ฐ Windows ํ์๊ธฐ ์ํฉ์ ๋ง๋ ๋ฉ๋ด์์ ์ฑ์ ํธ์ถํ ๋ ์ ํํ ํ์ผ์ ๋ํ ์ฐ๊ธฐ ๊ถํ๋ง ์ป์์ต๋๋ค. ๋ฐ๋ผ์ (์์ถ๋์ง ์์ ํ์ผ์ ๊ฒฝ์ฐ) ์ ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
(์์ถ ํด์ ๋๊ตฌ์ฒ๋ผ). ํ์ฌ ํ์ผ์ด ์๋ ๋์ผํ ๋๋ ํฐ๋ฆฌ์ ์์ถ ํ์ผ์ ์ถ์ถํ๋ ค๋ ๊ฒฝ์ฐ Windows ํ์๊ธฐ ์ํฉ์ ๋ง๋ ๋ฉ๋ด์์ ์ฑ์ ํธ์ถํ ๋ ์ ํํ ํ์ผ์ ๋ํ ์ฐ๊ธฐ ๊ถํ๋ง ์ป์์ต๋๋ค. ๋ฐ๋ผ์ (์์ถ๋์ง ์์ ํ์ผ์ ๊ฒฝ์ฐ) ์ ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
๋จ์ผ ํ์ผ์ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ ๋ ์ ์ฒด ํด๋์ ์ก์ธ์คํด์ผ ํ๋์ง ์ฌ๋ถ๋ ๋งค์ฐ ๋ ผ์์ ์ฌ์ง๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋น๋ก ๋ณดํต ๋ฐฑ์ ์ด๋ ๋ค์ด๋ก๋/์ ๋ก๋์ ๊ฐ์ "๊ตํ"์๋ง ํ์ํ๊ธฐ ๋๋ฌธ์ ์์ถ/์์ถ ํด์ ํ ๋ ๋ค๋ฅธ ํด๋๋ฅผ ์ง์ ํฉ๋๋ค. ๋ฐ๋ผ์ ํ์ผ์ ์ ํํ ์ ์ฅํ ์์น๋ฅผ ์ง์ ํ๋ ๊ฒ์ด ๊ฑฐ์ ํ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ฌ์ฉ์ ์ ํ์ ๋ฐ๋ผ ์ ํจํ ์ฌ์ฉ ์ฌ๋ก์ผ ์ ์์ต๋๋ค ๐
์ฌ์ฉ์๊ฐ ํ์ผ์ uwp ์ฑ์ผ๋ก ๋๋๊ทธํ๋ฉด ํด๋น ํ์ผ์ ๋ํ ์ฐ๊ธฐ ๊ถํ์ด ์์ต๋๋ค!
https://stackoverflow.com/questions/48001601/c-sharp-uwp-drag-and-drop-file-folder-permission?rq=1
๊ธ์, ๊ทธ๊ฒ์ ์ฌ์ฉ์์ ๊ฐ๋ฐ์์๊ฒ ์ฝ๊ฐ ์ง๋์น๊ฒ ๋ณต์กํด ๋ณด์ ๋๋ค. ์ญ์ ๋ ํ์ผ์ ๋ํด ์ต์ํ ์ฐ๊ธฐ ์ก์ธ์ค ๊ถํ์ ์ป์ ์ ์์ ๊ฒ์ผ๋ก ์์ํ์ต๋๋ค. ์ ์๊ฐ์๋ ์ด๊ฒ์ ๊ฐ๋ฐ์์๊ฒ ๋ถํ์ํ ์ ์ฝ์ผ ๋ฟ์ ๋๋ค.
์ ์ด๋ ์ผ์์ ์ธ ์ฑ ์ฌ์ฉ์์๋ ํ์ผ์ GitHub ์ฃผ์์๋ง ๋๋กญํฉ๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ๊ฒฝ์ฐ์๋ ๋ ๋ฒ ํด๋ฆญํ๊ฑฐ๋ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ ํด๋ฆญํ์ง๋ง ์ผ๋ถ ๊ฒฝ์ฐ์๋ ์ข์ง ์๋ค๋ ๋ฐ ๋์ํ์ต๋๋ค. ๊ฒฐ๊ตญ ๋ชจ๋ ํ์ผ์ ์ก์ธ์คํ ์ ์๋ ๊ฒ์ด ํ๋นํ ๊ฒฝ์ฐ๊ฐ ๋ช ๊ฐ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฌ์ฉ์๊ฐ ์์ ์ ๋์์์ ์ด๋์ ์ ์ฅํ๋์ง ๋ชจ๋ฅธ๋ค๋ฉด ์ฑ์ ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? ๊ฐ์ฅ ๋น ๋ฅธ ์ํํธ์จ์ด๋ก๋ ๋ช ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์๋ ์์คํ ์ ๋ชจ๋ ํ์ผ์ ์ค์บํฉ๋๊น? ...
๋ถ๋ช ํ ๋ง์ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ๊ทธ ์ค ํ๋๋ ์ฌ์ฉ์๊ฐ ํด๋๋ฅผ ํ์ฅํ ๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ์ด๋ค ํด๋์ ์ฌ์ง/๋น๋์ค๊ฐ ์๊ณ ์ด๋ค ํด๋๊ฐ ์๋์ง ์ฝ๊ฒ ์ ์ ์์ต๋๋ค. ๋ด ์ฑ์ด ์ค์ ๋ก ์ํํ ์์ ์ค ํ๋๋ Windows์์
๊ฐ์ธ์ ์ผ๋ก ๋ง์ ์ฑ์ด ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์ "broadFileSystemAccess"๋ฅผ ์์ฒญํ๋ ์ฑ์ ํฌ์ด ์๋๋๋ค.
๋ ์๊ด์์ด. WinRT์ ์๋๋ฐ์ค ํ์ผ ์์คํ ๋ณดํธ ๋ชจ๋ธ์ ํ์ค๊ณผ ๋๋จ์ด์ ธ ์์ต๋๋ค. ์ด๊ฒ์ ๋๊ตฐ๊ฐ๊ฐ ๋จ์ํ ๋ฐ์คํฌํ์ ์ ์ฉ๋์ง ์๋ "๋ชจ๋ฐ์ผ ํผ์คํธ" ๋งํธ๋ผ์์ ๊ฐ์ ธ์จ ๊ฒ์ ๋๋ค.
์ฌ์ค, ํ์ผ/ํด๋๋ฅผ ์๋๋ฐ์ค ์ฒ๋ฆฌํ๋ ํจ์ฌ ๋ ํ๋ช ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉ์๊ฐ ๋ณดํธํ๋ ค๋ ํ์ผ/ํด๋๋ฅผ ๊ฒฐ์ ํ๊ฒ ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ ๋งค์ฐ ์ฌ์ด ๋ฐฉ๋ฒ์ด ์์ด์ผ ํฉ๋๋ค(์: ํ์ผ ํ์๊ธฐ์์ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ ํด๋ฆญ ๋ช ๋ น์ผ๋ก). .
์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒ์ ์ฐจ๋จํ ๋ค์ ์ค์๋ก ์ฌ์ฉ์๊ฐ ์ค์๋ก ๊ธฐ๋ฐ ํ์ผ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ๊ณผ ๋์กฐ๋ฉ๋๋ค.
์ง์ค์ ์ผ๋ก ๋งํ๊ฒ ์ต๋๋ค. ์ฌ์ํ์ง ์์ ์ฑ์ ์ง๊ณต ์ํ์ ์์ง ์์ต๋๋ค.
๋ถ๋ช ํ ๋ง์ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ๊ทธ ์ค ํ๋๋ ์ฌ์ฉ์๊ฐ ํด๋๋ฅผ ํ์ฅํ ๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ์ด๋ค ํด๋์ ์ฌ์ง/๋น๋์ค๊ฐ ์๊ณ ์ด๋ค ํด๋๊ฐ ์๋์ง ์ฝ๊ฒ ์ ์ ์์ต๋๋ค. ๋ด ์ฑ์ด ์ค์ ๋ก ์ํํ ์์ ์ค ํ๋๋ Windows์์
๋ค, ๊ทธ๋ด ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ํ์ง๋ง ์ธ์ ํด๋๋ฅผ ์ค์บํ ์์ ์ ๋๊น? ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์๊ฐ ์ฑ์์ ์ ํํ ์ด๋ค ํด๋๋ฅผ ํ์ฅํ ์ ์์ต๋๊น?
๋ ์๊ด์์ด.
์ฌ๊ธฐ์ ์ ํํ ๋ฌด์์ ๋งํ๋ ค๋ ๊ฒ์ ๋๊น?
์ฌ์ค, ํ์ผ/ํด๋๋ฅผ ์๋๋ฐ์ค ์ฒ๋ฆฌํ๋ ํจ์ฌ ๋ ํ๋ช ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉ์๊ฐ ๋ณดํธํ ํ์ผ/ํด๋๋ฅผ ๊ฒฐ์ ํ๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ ๋งค์ฐ ์ฌ์ด ๋ฐฉ๋ฒ์ด ์์ด์ผ ํฉ๋๋ค(์: ํ์ผ ํ์๊ธฐ์์ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ ํด๋ฆญ ๋ช ๋ น์ผ๋ก). . ์ฌ์ฉ์๋ ์ด๋ค ๋ฌธ์/ํ์ผ์ด ๊ธฐ๋ฐ์ธ์ง ๋ช ํํ๊ฒ ์๊ณ ๋ณดํธํ ์ ์์ต๋๋ค.
์ด ์ ์ฒด ์ก์ธ์ค ๋ณดํธ๋ "๊ธฐ๋ฐ" ํ์ผ๋ฟ๋ง ์๋๋ผ ์ผ๋ฐ์ ์ธ ๊ฐ์ธ ์ ๋ณด, ์๋ฅผ ๋ค์ด ๊ตฌ์ฑ ํ์ผ(์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ํด๋์ ์จ๊ฒจ์ ธ ์์) ๋๋ ์ค์น๋ ํ๋ก๊ทธ๋จ์ ๊ดํ ๊ฒ์ ๋๋ค. ์ด๊ฒ๋ค์ ๋ชจ๋ ํ๋ก๊ทธ๋จ, ํนํ ๋น์ ์ด ๋ถ๋ฅด๋ "์ฌ์ํ ์ฑ"์ด ์ก์ธ์คํ ์ ์๊ธฐ๋ฅผ ์ํ์ง ์๋ ์ ๋ณด์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ค์ ๋น์ ๋ ์์ต๋๋ค. ๊ทธ๋ฅ seifs๋ฅผ ์๊ฐํด ๋ณด์ธ์.
์, ๊ธ๊ณ ์์ ๋ฌผ๊ฑด์ ๋ฉ๋ฆฌ ๋ณผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ๋น์ ์ด ์ํํธ๋ ์ง์ ์ด์ ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ ์ฌ์ค์ ๋ฐ๊พธ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ด ๊ธ๊ณ ์ ์๋ ๊ฒ์ ์ ์ธํ๊ณ ๋ชจ๋ ๊ฒ์ ์ ๊ทผํ ์ ์๋ค๊ณ ๋งํ๋ ๊ฒ์ ๊ท์คํ์ ์ํ ๊ธ๊ณ ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ํํธ์ ๋ฌธ์ด ํ์ํ์ง ์๋ค๊ณ ๋งํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒ์ ์ฐจ๋จํ ๋ค์ ์ค์๋ก ์ฌ์ฉ์๊ฐ ์ค์๋ก ๊ธฐ๋ฐ ํ์ผ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ๊ณผ ๋์กฐ๋ฉ๋๋ค.
์ด ์ค์๋ ๋ ๊ฒฝ์ฐ ๋ชจ๋ ๋ฐ์ํ ์ ์์ง๋ง ์ค์๋ก ๊ธฐ๋ฐ ํ์ผ์ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ๋ณด๋ค ๊ธฐ๋ฐ ํ์ผ์ ์ ๊ทธ๋ ๊ฒ์ ์์ด๋ฒ๋ฆด ๊ฐ๋ฅ์ฑ์ด ๋ ๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ง์ค์ ์ผ๋ก ๋งํ๊ฒ ์ต๋๋ค. ์ฌ์ํ์ง ์์ ์ฑ์ ์ง๊ณต ์ํ์ ์์ง ์์ต๋๋ค. ์ด๋๊ฐ(์ ๋ ฅ)์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์ด๋๊ฐ์ ์ถ๋ ฅํด์ผ ํฉ๋๋ค. ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ์ ์ข ์ข ํ์ผ์ ๋๋ค. ๋ค๋ฅธ ์ฑ ๋ฑ๊ณผ ์ํธ ์ด์ฉํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ WinRT๋ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ ๋ฉ์ง UI๋ฅผ ๋์์ธํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๊ฒ ๋ง๋ญ๋๋ค.
(๋ถํํ๊ฒ๋ ๋ง์ง๋ ์์ง๋ง) ํ๋ฅญํ UWP ์ฑ์ด ๋ง๊ธฐ ๋๋ฌธ์ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ๋งํ๋ ๊ฒ์ ์ฌ๊ธฐ์์ ์คํธ๋ ์น์ ๋๋ค.
๋ค, ๊ทธ๋ด ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ํ์ง๋ง ์ธ์ ํด๋๋ฅผ ์ค์บํ ์์ ์ ๋๊น? ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์๊ฐ ์ฑ์์ ์ ํํ ์ด๋ค ํด๋๋ฅผ ํ์ฅํ ์ ์์ต๋๊น?
Windows ํ์๊ธฐ์ ๊ฐ๋ ์ ๋ํด ์๊ณ ์์ต๋๊น? ํด๋๋ ๋๋ผ์ด๋ธ๋ฅผ ํ์ฅํ๋ฉด ์ค์บ์ด ์์๋ฉ๋๋ค.
์ด ์ ์ฒด ์ก์ธ์ค ๋ณดํธ๋ "๊ธฐ๋ฐ" ํ์ผ๋ฟ๋ง ์๋๋ผ ์ผ๋ฐ์ ์ธ ๊ฐ์ธ ์ ๋ณด, ์๋ฅผ ๋ค์ด ๊ตฌ์ฑ ํ์ผ(์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ํด๋์ ์จ๊ฒจ์ ธ ์์) ๋๋ ์ค์น๋ ํ๋ก๊ทธ๋จ์ ๊ดํ ๊ฒ์ ๋๋ค. ์ด๊ฒ๋ค์ ๋ชจ๋ ํ๋ก๊ทธ๋จ, ํนํ ๋น์ ์ด ๋ถ๋ฅด๋ "์ฌ์ํ ์ฑ"์ด ์ก์ธ์คํ ์ ์๊ธฐ๋ฅผ ์ํ์ง ์๋ ์ ๋ณด์ ๋๋ค.
์ฑ์ด ์์ฒด "์ด ์ฑ๋ง ์ก์ธ์คํ ์ ์์" ํด๋์ ํ์ผ์ ๋ณด๊ดํ๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค.
์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ฒ์ ์ฐจ๋จํ ๋ค์ ์ค์๋ก ์ฌ์ฉ์๊ฐ ์ค์๋ก ๊ธฐ๋ฐ ํ์ผ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ๊ณผ ๋์กฐ๋ฉ๋๋ค.
์ด ์ค์๋ ๋ ๊ฒฝ์ฐ ๋ชจ๋ ๋ฐ์ํ ์ ์์ง๋ง ์ค์๋ก ๊ธฐ๋ฐ ํ์ผ์ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ๋ณด๋ค ๊ธฐ๋ฐ ํ์ผ์ ์ ๊ทธ๋ ๊ฒ์ ์์ด๋ฒ๋ฆด ๊ฐ๋ฅ์ฑ์ด ๋ ๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๋ ์์ ํ ๋์ํ์ง ์์ต๋๋ค. "๊ธฐ๋ฐ"์ ์์ ์ ํด๋น ํ์ผ์ ์ ๊ทธ๊ณ ์ถ๊ฒ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
(๋ถํํ๊ฒ๋ ๋ง์ง๋ ์์ง๋ง) ํ๋ฅญํ UWP ์ฑ์ด ๋ง๊ธฐ ๋๋ฌธ์ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ๋งํ๋ ๊ฒ์ ์ฌ๊ธฐ์์ ์คํธ๋ ์น์ ๋๋ค.
๋น์ ์ ์ฌ๊ธฐ์์ ์์ ๊ณผ ๋ชจ์๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ํ๋ฅญํ UWP ์ฑ์ ๊ด๋ํจ์ ํ๊ตฌํด ๋ณด๊ฒ ์ต๋๋ค.
์ผ๋ง๋ ๋ง์ ์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ์ฌ์ฉํ๊ณ ์๋์ง ์๋ ค์ค '์ข์์'์ "ํ๋ถํจ"์ ์ฃผ๋ชฉํ์ญ์์ค. ์ ํ์คํ ์ด์ ๋์กฐ๋ฅผ ํ๊ณ ์ถ์๋๋ฐ ์ฌ๊ณผ๊ฐ ์์ด์ ๊ทธ๋ฌ์ง ๋ชปํด์. ํ์ง๋ง Android๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. Facebook์๋ 7์ฒ๋ง ๊ฐ ์ด์์ ๋ฆฌ๋ทฐ๊ฐ ์์ต๋๋ค(Windows์ ๊ฒฝ์ฐ 1353๊ฐ). Instagram์๋ 9300๋ง ๊ฐ ์ด์์ ๋ฆฌ๋ทฐ๊ฐ ์์ต๋๋ค(์ฌ๊ธฐ์๋ 1578๊ฐ์ ๋น๊ต). ๊ทธ๋ฆฌ๊ณ ์ ๋ Fb์ Instagram์ด UWP๊ฐ ์๋๋ผ ์ค์ ๋ก ์ ์ ์ฑ์ด๋ผ๊ณ ๊ฑฐ์ ํ์ ํฉ๋๋ค.
Windows ํ์๊ธฐ์ ๊ฐ๋ ์ ๋ํด ์๊ณ ์์ต๋๊น? ํด๋๋ ๋๋ผ์ด๋ธ๋ฅผ ํ์ฅํ๋ฉด ์ค์บ์ด ์์๋ฉ๋๋ค.
๊ทธ๋์ ํด๋์์ ๋น๋์ค ํ์ผ์ ๋ฏธ๋ฆฌ ๋ณผ ์ ์๋ Windows ํ์๊ธฐ์ ์ ์ฌํ ๊ฒ์ ๊ตฌ์ถํ๊ณ ์์ต๋๊น?
์ฑ์ด ์์ฒด "์ด ์ฑ๋ง ์ก์ธ์คํ ์ ์์" ํด๋์ ํ์ผ์ ๋ณด๊ดํ๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ์ฑ์ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ํ์ผ์ ์ก์ธ์คํ ์ ์์ด์ผ ํ์ง๋ง ๋ค๋ฅธ ํํธ์ผ๋ก ์ผ๋ถ ํ์ผ๊ณผ ํด๋๋ ์ฌ์ฉ์์ ์ํด ์ ๊น๋๋ค(๊ทธ๋ "๊ธฐ๋ฐ" ํ์ผ๋ง ๊ฐ๊ณ ๋๋จธ์ง๋ ์๋์ผ๋ก ๊ธฐ๋ฐ์ด ์๋). ์ผ๋ถ ํด๋๋ ์ฑ ํ ๋ง ์์ฒด์ ์ํด ์ฐจ๋จ๋์์ต๋๊น? ๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ์ ์ํด ์์ฑ๋ ํ์ผ์ ์ฒ๋ฆฌํ ์ฑ์ ํ๋ก๊ทธ๋๋ฐํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น? ๋ชจ๋ ๋ฐฑ์ ํ๋ก๊ทธ๋จ์ด ํ๋ก๊ทธ๋จ์ ๋ฐฑ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์คํจํฉ๋๊น? ์ด๋ป๊ฒ ๋ ์ง ์ ๋ชจ๋ฅด๊ฒ ๊ณ , ์ฌ๊ธฐ์ ๋น์ ์ ์๊ฐ์ ์คํดํ๋ค๋ฉด ์ฃ์กํฉ๋๋ค.
๋๋ ์์ ํ ๋์ํ์ง ์์ต๋๋ค. "๊ธฐ๋ฐ"์ ์์ ์ ํด๋น ํ์ผ์ ์ ๊ทธ๊ณ ์ถ๊ฒ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ ํํ ๋ฌด์์ ๊ธฐ๋ฐ๋ก ์ ํํ์ง ์์ ๊ฒ์ ๋๊น? ๋ชจ๋ ์ฑ์์ ๋ด ํด๊ฐ ์ฌ์ง์ ๋ณผ ์๋ ์์ง๋ง Photoshop์์๋ ์ฌ์ง์ ๋ณผ ์ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋์ ๊ทธ๋ค์ ๊ธฐ๋ฐ์ ๋๊น? ์๋๋ฉด ์ด ๊ธฐ๋ฐ "ํ๋๊ทธ" ๋ชฉ๋ก์ด ์ผ๋ถ ์ฑ์ ๋ํด ๊ธฐ๋ฐ์ด ์๋ ํ๋ก๊ทธ๋จ ๋ฐ ์ผ๋ถ ํ์ผ์ ๋๊น?
๋น์ ์ ์ฌ๊ธฐ์์ ์์ ๊ณผ ๋ชจ์๋ฉ๋๋ค.
๊ทธ๋, ๊ฑฐ๊ธฐ ๋ด ๋ง์ ์ฐ๋ ๊ธฐ์์ด. ๋ฏธ์ํฉ๋๋ค. ๋๋ ์ ์๋ํ๋ "์ฌ์ํ์ง ์์" ํ๋ฅญํ ์ฑ์ด ๋ถ๋ช ํ ์กด์ฌํ๋ค๋ ๊ฒ์ ๋ํ๋ด๊ณ ์ถ์์ต๋๋ค.
์ผ๋ง๋ ๋ง์ ์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ์ฌ์ฉํ๊ณ ์๋์ง ์๋ ค์ค '์ข์์'์ "ํ๋ถํจ"์ ์ฃผ๋ชฉํ์ญ์์ค. ์ ํ์คํ ์ด์ ๋์กฐ๋ฅผ ํ๊ณ ์ถ์๋๋ฐ ์ฌ๊ณผ๊ฐ ์์ด์ ๊ทธ๋ฌ์ง ๋ชปํด์. ํ์ง๋ง Android๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. Facebook์๋ 7์ฒ๋ง ๊ฐ ์ด์์ ๋ฆฌ๋ทฐ๊ฐ ์์ต๋๋ค(Windows์ ๊ฒฝ์ฐ 1353๊ฐ). Instagram์๋ 9300๋ง ๊ฐ ์ด์์ ๋ฆฌ๋ทฐ๊ฐ ์์ต๋๋ค(์ฌ๊ธฐ์๋ 1578๊ฐ์ ๋น๊ต). ๊ทธ๋ฆฌ๊ณ ์ ๋ Fb์ Instagram์ด UWP๊ฐ ์๋๋ผ ์ค์ ๋ก ์ ์ ์ฑ์ด๋ผ๊ณ ๊ฑฐ์ ํ์ ํฉ๋๋ค.
์ด๊ฒ์ UWP์ ๋ฌธ์ ๊ฐ ์๋๋ผ ๋ค์๊ณผ ๊ฐ์ ์ฌ์ค์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ๋ Fb์ Instagram์ด UWP๊ฐ ์๋๋ผ ์ค์ ๋ก ์ ์ ์ฑ์ด๋ผ๊ณ ๊ฑฐ์ ํ์ ํฉ๋๋ค.
์น ์ฌ์ดํธ์ ์ฑ์ด ํฌ๊ฒ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์์ธ์ง ์๋์ง ๊ตฌ๋ณํ๊ธฐ ์ด๋ ต์ต๋๋ค. ๋ํ ์์๊ฐ ๊ธฐ๋ณธ ๋ํ ์์์ ๊ฑฐ์ ๋์ผํ๊ฒ ๋ณด์ธ๋ค๋ ์ฌ์ค์ ๋ฐ๋ผ UWP ์ฑ์ผ ์ ์์ต๋๋ค.
๊ทธ๋์ ํด๋์์ ๋น๋์ค ํ์ผ์ ๋ฏธ๋ฆฌ ๋ณผ ์ ์๋ Windows ํ์๊ธฐ์ ์ ์ฌํ ๊ฒ์ ๊ตฌ์ถํ๊ณ ์์ต๋๊น?
๊ทธ๊ฒ์ ๋ด ์ฑ์ ๋ง๋ฒ์ฌ์ ์ผ๋ถ์ ๋๋ค.
๋ฐ๋ผ์ ์ฑ์ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ํ์ผ์ ์ก์ธ์คํ ์ ์์ด์ผ ํ์ง๋ง ๋ค๋ฅธ ํํธ์ผ๋ก ์ผ๋ถ ํ์ผ๊ณผ ํด๋๋ ์ฌ์ฉ์์ ์ํด ์ ๊น๋๋ค(๊ทธ๋ "๊ธฐ๋ฐ" ํ์ผ๋ง ๊ฐ๊ณ ๋๋จธ์ง๋ ์๋์ผ๋ก ๊ธฐ๋ฐ์ด ์๋). ์ผ๋ถ ํด๋๋ ์ฑ ํ ๋ง ์์ฒด์ ์ํด ์ฐจ๋จ๋์์ต๋๊น? ๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ์ ์ํด ์์ฑ๋ ํ์ผ์ ์ฒ๋ฆฌํ ์ฑ์ ํ๋ก๊ทธ๋๋ฐํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
๋ด ์๊ฐ์ ์ง๊ธ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฒ๊ณผ ๋ฐ๋์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ์๋ฒฝํ๋ค๊ณ ๋งํ๋ ๊ฒ์ด ์๋๋๋ค. ๊ทธ๋ฌ๋ ์ง๊ธ ์ผ์ด๋๊ณ ์๋ ๊ฒ๋ณด๋ค ๋ ๋์ ๊ฒ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๋น๊ธฐ๋ฐ ํ์ผ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๊ธฐ๋ฐ ํ์ผ์ ์ก์ธ์คํด์ผ ํ๋ ๊ฒฝ์ฐ ๋จผ์ ์์ฒญํด์ผ ํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ ํํ ๋ฌด์์ ๊ธฐ๋ฐ๋ก ์ ํํ์ง ์์ ๊ฒ์ ๋๊น? ๋ชจ๋ ์ฑ์์ ๋ด ํด๊ฐ ์ฌ์ง์ ๋ณผ ์๋ ์์ง๋ง Photoshop์์๋ ์ฌ์ง์ ๋ณผ ์ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋์ ๊ทธ๋ค์ ๊ธฐ๋ฐ์ ๋๊น? ์๋๋ฉด ์ด ๊ธฐ๋ฐ "ํ๋๊ทธ" ๋ชฉ๋ก์ด ์ผ๋ถ ์ฑ์ ๋ํด ๊ธฐ๋ฐ์ด ์๋ ํ๋ก๊ทธ๋จ ๋ฐ ์ผ๋ถ ํ์ผ์ ๋๊น?
๋ด๊ฐ ๋ณด๊ธฐ์ ์ด "ํ๋๊ทธ"๋ ํ์ผ์ด๋ ํด๋๋ฅผ "์ก์ธ์ค ๊ฑฐ๋ถ๋จ"์ผ๋ก ๋ฐ๊ฟ๋๋ค. ์ ๋ง๋ก ์ก์ธ์คํ๊ณ ์ถ๋ค๋ฉด ๊ถํ์ ์์ฒญํ ์ ์๊ณ ์ฌ์ฉ์๋ ์ ๊ณตํ ์ง ์ฌ๋ถ๋ฅผ ์ ํํ ์ ์์ต๋๋ค(๊ทธ๋ฆฌ๊ณ ๊ถํ์ - ์ด๋ฒ ํ ๋ฒ๋ง ๋๋ ์์ํ).
๊ทธ๋, ๊ฑฐ๊ธฐ ๋ด ๋ง์ ์ฐ๋ ๊ธฐ์์ด. ๋ฏธ์ํฉ๋๋ค. ๋๋ ์ ์๋ํ๋ "์ฌ์ํ์ง ์์" ํ๋ฅญํ ์ฑ์ด ๋ถ๋ช ํ ์กด์ฌํ๋ค๋ ๊ฒ์ ๋ํ๋ด๊ณ ์ถ์์ต๋๋ค.
์๋ค๊ณ ํ๋๊ฒ ์๋๋๋ค. WPF์ ๋นํด ๋ง๋ค๊ธฐ๊ฐ ์์ฒญ๋๊ฒ ์ด๋ ต๋ค๋ ๋ป์
๋๋ค.
๋๋ ๋จ์ํ ์กด์ฌํด์๋ ์๋๋ ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ์๊ฐ์ ๋ญ๋นํ๊ณ ์๋ค๊ณ ๋งํ๊ณ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๋๋๋ก ์์ธ(๊ตฌ์ฒด์ ์ผ๋ก COM ์์ธ)๊ฐ ๋ฐ์ํ๊ณ ์คํจ ์ง์ ์์ ๊ฐ์ ธ์ค๋ ๋์ ์ค์ ๋ก ๋ค๋ฅธ ์ค๋ ๋์์ ๊ฐ์ ธ์ต๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์คํ ์ถ์ ์กฐ์ฐจ๋ ์์ด๋ฒ๋ฆฐ. ๋ฌด์จ ์ผ์ด ์ผ์ด ๋ฌ๋์ง ์์๋ด๋ ๊ฒ์ ๋งค์ฐ ๊ณ ํต ์ค๋ฝ์ต๋๋ค.
๋ ๋ค๋ฅธ ๋ฌธ์ ๋ ์ ์ฒด "์ ๋ณด๋ฅผ ๋น๋๊ธฐ์์ผ๋ก ์ป์ ์ ์์ต๋๋ค"๋ผ๋ ์ฃผ๋ฌธ์ ๋๋ค. ์ด๋ ์ ๊ฐ ๋งค์ฐ ์ซ์ดํฉ๋๋ค. ์ฆ์ ์ฒ๋ฆฌํด์ผ ํ๋ ๋ ๋๋ง์ ์ฒ๋ฆฌํ๊ณ ์์ง๋ง ๋นํธ๋งต ๋ก๋๋ ๋น๋๊ธฐ์์ ๋๋ค. ๊ทธ๋์ ๊ทธ๊ฒ์ ์ํด ์ ๋ง ๋ณต์กํ ์บ์ฑ ๋ฉ์ปค๋์ฆ์ ๊ตฌ์ถํด์ผ ํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ปดํ์ผ ์๊ฐ์ ๋ค์ด๊ฐ์ง ๋ง์. ๊ทธ๋ฆฌ๊ณ ์ต๊ทผ์ ๋น๋ํ ๋ "...dll์ด ๋ฆด๋ฆฌ์ค ๋ชจ๋๋ก ๋น๋๋์์ต๋๋ค"๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค(๋๋ฒ๊ทธ๋ฅผ ๋น๋ ์ค์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ๊ฐ๋ฅํจ). ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์๋ฃจ์ ์ ์ ๋ฆฌํ๊ณ ๋ค์ ๋น๋ํ๋ ๊ฒ์ ๋๋ค(1๋ถ ์ด์ ์์).
๊ทธ๋ฆฌ๊ณ ์, ์ถฉ๋ํฉ๋๋ค. VS๋ 10-20๋ฒ ์คํ๋ ๋๋ง๋ค ์ถฉ๋ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ๋ค์ ์ง๊ธ ๋ด ๋จธ๋ฆฌ์ ๋ ์ค๋ฅธ ๋ฌธ์ ์ ๋๋ค. ์ ์ ์์ด ๋ง์ต๋๋ค.
์ด๊ฒ์ UWP์ ๋ฌธ์ ๊ฐ ์๋๋ผ ๋ค์๊ณผ ๊ฐ์ ์ฌ์ค์ ์์ต๋๋ค.
- ์ฌ๋๋ค์ ์ผ๋ฐ์ ์ผ๋ก ๋๊ธ์ ์์ฑํ์ง ์๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.
- iTunes Store/Google Play Store๋ Microsoft Store๋ณด๋ค ํจ์ฌ ์ค๋๋์์ต๋๋ค.
- ๋ง์ดํฌ๋ก์ํํธ ์คํ ์ด๋ ์ ์ ๋ค ์ฌ์ด์์ ์ข์ ํ๊ฐ๋ฅผ ๋ฐ์ง ๋ชปํ๊ณ ์์๋ ์ข์ง ์์๋ค.
- ํ๋ซํผ ์ ํ ์ฑ ๋์ ์น์ฌ์ดํธ ๊ฐ๋ฐ์ ์ ํธํ๋ ๋๋ถ๋ถ์ ํ์ฌ
๊ธ์, ๋๋ ์ ํ ์คํ ์ด๋ฅผ ๋น๊ตํ ์ ์์๋ค๋ฉด ์ข์์ ํ ๋ฐ - ๋๋ ๊ทธ๋ค์ ์ต๊ณ ์ ์ฑ์ด ์๋ฐฑ๋ง ๊ฐ์ ๋ฆฌ๋ทฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ํ์ ํ๋ค. ์ฌ๋๋ค์ด UWP/WinRT๋ฅผ ํฌ๊ธฐํ๊ธฐ ๋๋ฌธ์ MS ์คํ ์ด๋ ์ ๋ ๋ฐ๋ผ๊ฐ์ง ์์ต๋๋ค. win2d๊ฐ ํ์ํ์ง ์์๋ค๋ฉด ์ ์ด๋ 20๋ฒ์ ํฌ๊ธฐํ์ ๊ฒ์ ๋๋ค.
์๊ฐํด ๋ณด์ธ์. Windows์ UWP ์ฑ์ผ๋ก ์ ์ฒด ํ๋ฉด์ผ๋ก ์ ํํ๋๋ก ์์ฒญํด์ผ ํฉ๋๋ค. ์ ์ ์ด์์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ด๋ฆฌ์๊ฒ ๋ง๋ค๊ธฐ ์ํด ๋ค์ ์คํ ์๋ง ์ ์ฉ๋ฉ๋๋ค.
"ํ๋ฉด ์บก์ฒ" API๋ฅผ ๋ณด๊ณ ์์๋๋ฐ ๊ทธ๋ฅ ํฌ๊ธฐํ์ต๋๋ค. ์์ฉ์ด ์์ต๋๋ค. ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฌ ํ๋ฉด์ ๊ธฐ๋ฐ์ผ๋ก ์ฑ์ ์์ํ๋ ๋ฉ์ง ๋ฐฉ๋ฒ์ ์ํ์ต๋๋ค(์ผ์ข ์ ์ฑ์ผ๋ก ์ ํ) -> ์ฌ์ฉ์ ์ํธ ์์ฉ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค(์ฆ, ์ฌ์ฉ์๊ฐ - ์ , ์ ์ฒด๋ฅผ ๋ง์น๋ ์คํฌ๋ฆฐ์ท ์บก์ฒ๋ฅผ ํ์ฉํ๊ณ ์ถ์ต๋๋ค)
์ฑ์ด ํฌ๊ทธ๋ผ์ด๋์ ์์ ๋๋ง ์๋ํ๋ ํด๋ฆฝ๋ณด๋๋ก ์์ํ์ง ์๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ฌ๋ฏธ์๊ฒ ๋ง๋ค๊ธฐ ์ํด Microsoft๋ "๋๋ฒ๊ทธ์ ์์ ๋ ํญ์ ํด๋ฆฝ๋ณด๋์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ ๊ฒ"์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ๋ฆด๋ฆฌ์ค์์๋ ๋ฉ์ง "์ก์ธ์ค ๊ฑฐ๋ถ" ์์ธ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ด ์ฑ์ด ๋ฆด๋ฆฌ์ค์์ ์์๋์ง ์๋ ์ด์ ๋ฅผ ๋ง์นจ๋ด ์์๋ด๋ ๋ฐ ๋ช ์๊ฐ์ด ๊ฑธ๋ ธ๋์ง ์์ญ๋๊น(๋๋ฒ๊ทธ์์๋ ๋ชจ๋ ๊ฒ์ด ๋ฉ์์์ง๋ง)
๋ชฉ๋ก์ ๊ณ์๋ฉ๋๋ค. ์ ๋ ์ฑ ์ ์ธ ์ ์์ ๊ฒ ๊ฐ์์. ๋ฌผ๋ก UWP/WinRT๋ ์ด๋ก ์ ์ผ๋ก ํ๋ฅญํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ฌ์ฉํ๊ธฐ ์์ํ๋ฉด ์..
์น ์ฌ์ดํธ์ ์ฑ์ด ํฌ๊ฒ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์์ธ์ง ์๋์ง ๊ตฌ๋ณํ๊ธฐ ์ด๋ ต์ต๋๋ค. ๋ํ ์์๊ฐ ๊ธฐ๋ณธ ๋ํ ์์์ ๊ฑฐ์ ๋์ผํ๊ฒ ๋ณด์ธ๋ค๋ ์ฌ์ค์ ๋ฐ๋ผ UWP ์ฑ์ผ ์ ์์ต๋๋ค.
๋ง์ต๋๋ค. ์ ์์ ์ ์ฌ๋๋ค์ด UWP ์ฑ์ ํฌ๊ธฐํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด์ ์ ๊ทธ์ ๋ฐ๋ฅธ ๋ง์ ๋ฌธ์ ๋ณด๋ค ๋ ํฝ๋๋ค.
@jtorjo
(๋จ์ํ ๋น์ ์ด ๊ทธ๊ฒ์ ์๊ณ ์๋์ง ํ์ธํ์ญ์์ค.)
์ฑ์ด ํฌ๊ทธ๋ผ์ด๋์ ์์ ๋๋ง ์๋ํ๋ ํด๋ฆฝ๋ณด๋๋ก ์์ํ์ง ์๊ฒ ์ต๋๋ค.
UWP ์ฑ ์ค ํ๋๋ฅผ ๊ฐ๋ฐํ๋ ๋์ ํด๋ฆฝ๋ณด๋์ ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์นํด์ผ ํ๋ ๋์ผํ(๋๋ ์ ์ฌํ) ๋ฌธ์ ์ ๋๋ฌํ์ผ๋ฉฐ ๊ฒฐ๊ตญ ๋๋ฐ๋ win32 ์์ ์ ๋ขฐ ํ๋ก์ธ์ค(Win32์ SetClipboardData ๋ง ํธ์ถํจ)๋ฅผ ํตํด ํด๊ฒฐํ์ต๋๋ค. UWP ์ฑ์ ๋ํ win32 ์์ ์ ๋ขฐ ํ๋ก์ธ์ค๋ฅผ ์๋ฐํ๋ ๊ฐ๋ ์ด ๋ด์ค๋ผ๋ฉด ์ฌ๊ธฐ ์์ ์ข์ ์๊ฐ๋ฅผ ๋ค์ ์ ์์ ๊ฒ์ ๋๋ค(์ ์๋ ์ด์ ์ Microsoft์์ UWP์ ๋ํด ์์ ํ์ต๋๋ค).
@Felix-Dev
UWP ์ฑ ์ค ํ๋๋ฅผ ๊ฐ๋ฐํ๋ ๋์ ํด๋ฆฝ๋ณด๋์ ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์นํด์ผ ํ๋ ๋์ผํ(๋๋ ์ ์ฌํ) ๋ฌธ์ ์ ๋๋ฌํ์ผ๋ฉฐ ๊ฒฐ๊ตญ ๋๋ฐ๋ win32 ์์ ์ ๋ขฐ ํ๋ก์ธ์ค(Win32์ SetClipboardData ๋ง ํธ์ถํจ)๋ฅผ ํตํด ํด๊ฒฐํ์ต๋๋ค. UWP ์ฑ์ ๋ํ win32 ์์ ์ ๋ขฐ ํ๋ก์ธ์ค๋ฅผ ์๋ฐํ๋ ๊ฐ๋ ์ด ๋ด์ค๋ผ๋ฉด ์ฌ๊ธฐ ์์ ์ข์ ์๊ฐ๋ฅผ ๋ค์ ์ ์์ ๊ฒ์ ๋๋ค(์ ์๋ ์ด์ ์ Microsoft์์ UWP์ ๋ํด ์์ ํ์ต๋๋ค).
ํฌ์ธํฐ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! win32 ์์ ์ ๋ขฐ ํ๋ก์ธ์ค์ ๋ํด ์๊ณ ์์์ต๋๋ค. ๋๋ ์๋ง๋ ๊ทธ ๊ธฐ์ฌ๋ฅผ ์ฌ๋ฌ ๋ฒ ์ฝ์์ ๊ฒ์ ๋๋ค. :) ์ค์ ๋ก win32 ์์ ์ ๋ขฐ ํ๋ก์ธ์ค ๋๋ฐ์ ์ฑ์ด ์๋ ๊ฒ์ ๋ํด ์ฌ๋ฌ ๋ฒ ์๊ฐํ์ต๋๋ค. ๋ณต์ก์ฑ์ด ์ถ๊ฐ๋์๊ธฐ ๋๋ฌธ์ ์ ํํ์ง ์์์ต๋๋ค. ์ด๋ฏธ MS ์คํ ์ด ์์ด๋ ์ค์ ๋ก ์๋ํ๋ ์ค์น ํคํธ๋ฅผ ์์ฑํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช๊ณ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ ๋ฐฉ์ ์์๋ ๊ฐ์ ธ์ค๊ณ ์ถ์ง ์์์ต๋๋ค.
๊ทธ๋์ ํด๋์์ ๋น๋์ค ํ์ผ์ ๋ฏธ๋ฆฌ ๋ณผ ์ ์๋ Windows ํ์๊ธฐ์ ์ ์ฌํ ๊ฒ์ ๊ตฌ์ถํ๊ณ ์์ต๋๊น?
๊ทธ๊ฒ์ ๋ด ์ฑ์ ๋ง๋ฒ์ฌ์ ์ผ๋ถ์ ๋๋ค.
๊ทธ๋ฐ ์ข ๋ฅ์ ์ถ๊ฐ ๋จ๊ณ๊ฐ ์๋ ํ์ผ ํ์๊ธฐ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค(โหโ)
๋ด ์๊ฐ์ ์ง๊ธ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฒ๊ณผ ๋ฐ๋์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ์๋ฒฝํ๋ค๊ณ ๋งํ๋ ๊ฒ์ด ์๋๋๋ค. ๊ทธ๋ฌ๋ ์ง๊ธ ์ผ์ด๋๊ณ ์๋ ๊ฒ๋ณด๋ค ๋ ๋์ ๊ฒ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๋น๊ธฐ๋ฐ ํ์ผ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๊ธฐ๋ฐ ํ์ผ์ ์ก์ธ์คํด์ผ ํ๋ ๊ฒฝ์ฐ ๋จผ์ ์์ฒญํด์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ผ์ด ๊ธฐ๋ฐ์ธ์ง ์ ๋ ์ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ตญ ์ฑ์์ ์ง๊ธ๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ๊ธฐ๋ฐ๋ก ํ์ํ๋ ์ฌ์ฉ์๋ ์ด๋ป์ต๋๊น? ๊ทธ๋์ ๋น์ ์ ๋น์ ์ด ์ ๊ทผํ ์ ์๋ ๋ ๋ง์ ๋ณํ๊ณผ ํจ๊ป ์ง๊ธ๊ณผ ๊ฐ์ ์์คํ ์ ๋ง๋ค์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๋๋๋ก ์์ธ(๊ตฌ์ฒด์ ์ผ๋ก COM ์์ธ)๊ฐ ๋ฐ์ํ๊ณ ์คํจ ์ง์ ์์ ๊ฐ์ ธ์ค๋ ๋์ ์ค์ ๋ก ๋ค๋ฅธ ์ค๋ ๋์์ ๊ฐ์ ธ์ต๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์คํ ์ถ์ ์กฐ์ฐจ๋ ์์ด๋ฒ๋ฆฐ. ๋ฌด์จ ์ผ์ด ์ผ์ด ๋ฌ๋์ง ์์๋ด๋ ๊ฒ์ ๋งค์ฐ ๊ณ ํต ์ค๋ฝ์ต๋๋ค.
๊ทธ๋ฐ ์ผ์ด ์์ฃผ ๋ฐ์ํ๋ฉด ๋งค์ฐ ์ฑ๊ฐ์ ์ผ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋์๊ฒ ๋ฐ์ํ๋ ๊ฑฐ์ ๋ชจ๋ ์์ธ(์: XCG์์)์๋ StackTrace๊ฐ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉฐ ๋๋ก๋ ์ ์ฉํ ์์ธ ๋ฉ์์ง๋ ์์ต๋๋ค. ๊ทธ๋์ ๋๋ ๊ทธ๊ฒ์ ๋ํด ์ ๋ง๋ก ์๋ฌด ๋ง๋ ํ ์ ์์ต๋๋ค. ์๋ํ๋ฉด ๊ทธ๊ฒ์ ์ ์๊ฒ ์ค์ ๋ก ๋ฌธ์ ๊ฐ ๋ ์ ์ด ์์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ ๋ค๋ฅธ ๋ฌธ์ ๋ ์ ์ฒด "์ ๋ณด๋ฅผ ๋น๋๊ธฐ์์ผ๋ก ์ป์ ์ ์์ต๋๋ค"๋ผ๋ ์ฃผ๋ฌธ์ ๋๋ค. ์ด๋ ์ ๊ฐ ๋งค์ฐ ์ซ์ดํฉ๋๋ค. ์ฆ์ ์ฒ๋ฆฌํด์ผ ํ๋ ๋ ๋๋ง์ ์ฒ๋ฆฌํ๊ณ ์์ง๋ง ๋นํธ๋งต ๋ก๋๋ ๋น๋๊ธฐ์์ ๋๋ค. ๊ทธ๋์ ๊ทธ๊ฒ์ ์ํด ์ ๋ง ๋ณต์กํ ์บ์ฑ ๋ฉ์ปค๋์ฆ์ ๊ตฌ์ถํด์ผ ํ์ต๋๋ค.
๋๋๋ก async๋ ์ฝ๊ฐ ์ฑ๊ฐ์์ง๋ง, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ async ๋ฉ์๋๋ async์ฌ์ผ ํ๋ ์ด์ ๊ฐ ์์ต๋๋ค. ๋คํธ์ํฌ ๋๋ ํ์ผ ์์ ๊ณผ ๊ฐ์ ์์ ์์ UI๋ฅผ ์ฐจ๋จํ๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฆ, ๋ค์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ๋ฉ์๋๋ฅผ ๋๊ธฐ์ ์ผ๋ก ์คํํ ์ ์์ต๋๋ค.
```c#
// MyAsyncMethod๊ฐ ์๋ฃ๋ ๋๊น์ง ์ค๋ ๋๋ฅผ ์ฐจ๋จํฉ๋๋ค.
var myResult = MyAsyncMethod().๊ฒฐ๊ณผ;
// ๋ฉ์๋ ์คํ์ด ์๋ฃ๋๋ฉด ์ด ์์
๋ ์๋ฃ๋ฉ๋๋ค.
// ConfigureAwait๋ก ์ธํด ๋ค๋ฅธ ์ปจํ
์คํธ์์ ๋ฉ์๋๊ฐ ํธ์ถ๋ ์ ์์ต๋๋ค.
var myResult2 = MyAsyncMethod().ConfigureAwait(๊ฑฐ์ง);
``
For
ConfigureAwait` ๋ค์ ๋ฌธ์๋ฅผ ๋ณผ ์ ์์ต๋๋ค. https://devblogs.microsoft.com/dotnet/configureawait-faq/
๊ทธ๋ฆฌ๊ณ ์ปดํ์ผ ์๊ฐ์ ๋ค์ด๊ฐ์ง ๋ง์. ๊ทธ๋ฆฌ๊ณ ์ต๊ทผ์ ๋น๋ํ ๋ "...dll์ด ๋ฆด๋ฆฌ์ค ๋ชจ๋๋ก ๋น๋๋์์ต๋๋ค"๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค(๋๋ฒ๊ทธ๋ฅผ ๋น๋ ์ค์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ๊ฐ๋ฅํจ). ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์๋ฃจ์ ์ ์ ๋ฆฌํ๊ณ ๋ค์ ๋น๋ํ๋ ๊ฒ์ ๋๋ค(1๋ถ ์ด์ ์์).
"...dll"์ ๋ฆด๋ฆฌ์ค ๋ชจ๋๋ก ๋น๋๋์ด ์ด์ํฉ๋๋ค. ํ๋ก์ ํธ ํ์ผ์ด ์ผ๊ด์ฑ์ด ์๋์ง ํ์ธํ์๊ฒ ์ต๋๊น? ์ปดํ์ผ ์๊ฐ๊ณผ ๊ด๋ จํ์ฌ ๋ค, ๊ทธ๊ฑด ์ฝ๊ฐ ์ฑ๊ฐ์์ง๋ง ~1๋ถ์ ์ฌ์ ํ โโ๊ด์ฐฎ์ต๋๋ค. WinUI๋ ์ฝ 5-10๋ถ์ด ๊ฑธ๋ฆฝ๋๋ค ๐
๊ทธ๋ฆฌ๊ณ ์, ์ถฉ๋ํฉ๋๋ค. VS๋ 10-20๋ฒ ์คํ๋ ๋๋ง๋ค ์ถฉ๋ํฉ๋๋ค.
์, ๊ฝค ์ฑ๊ฐ์ ์ผ์ด์ง๋ง ์ด๊ฒ์ด ์ค์ ๋ก UWP์ ์์กดํ๋ค๊ณ ์๊ฐํ์ง ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก Visual Studio์ ์์กดํฉ๋๋ค(์ฌ์ ํ 32๋นํธ ํ๋ก์ธ์ค์ธ ์ด์ ๊ฐ ์์ต๋๋ค!).
๊ธ์, ๋๋ ์ ํ ์คํ ์ด๋ฅผ ๋น๊ตํ ์ ์์๋ค๋ฉด ์ข์์ ํ ๋ฐ - ๋๋ ๊ทธ๋ค์ ์ต๊ณ ์ ์ฑ์ด ์๋ฐฑ๋ง ๊ฐ์ ๋ฆฌ๋ทฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ํ์ ํ๋ค. ์ฌ๋๋ค์ด UWP/WinRT๋ฅผ ํฌ๊ธฐํ๊ธฐ ๋๋ฌธ์ MS ์คํ ์ด๋ ์ ๋ ๋ฐ๋ผ๊ฐ์ง ์์ต๋๋ค. win2d๊ฐ ํ์ํ์ง ์์๋ค๋ฉด ์ ์ด๋ 20๋ฒ์ ํฌ๊ธฐํ์ ๊ฒ์ ๋๋ค.
WPF์ ํจ๊ป Win2D๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค: https://github.com/Microsoft/Win2D/issues/660
์๊ฐํด ๋ณด์ธ์. Windows์ UWP ์ฑ์ผ๋ก ์ ์ฒด ํ๋ฉด์ผ๋ก ์ ํํ๋๋ก ์์ฒญํด์ผ ํฉ๋๋ค. ์ ์ ์ด์์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ด๋ฆฌ์๊ฒ ๋ง๋ค๊ธฐ ์ํด ๋ค์ ์คํ์๋ง ์ ์ฉ๋ฉ๋๋ค.
์์ ์์๋ UWP ์ฑ์ ์ ์ฒด ํ๋ฉด ๋ชจ๋๋ก ๊ฐ์ ธ์ค๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊ฒ ๊ฐ์ต๋๋ค. https://stackoverflow.com/questions/31758775/windows-10-universal-app-run-in-fullscreen-mode-by-default
(๋๋ ๊ทธ๊ฒ์ผ๋ก ์ฑ์ ์ ์ถํ๋ ค๊ณ ์๋ํ์ง ์์์ง๋ง)
"ํ๋ฉด ์บก์ฒ" API๋ฅผ ๋ณด๊ณ ์์๋๋ฐ ๊ทธ๋ฅ ํฌ๊ธฐํ์ต๋๋ค. ์์ฉ์ด ์์ต๋๋ค. ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฌ ํ๋ฉด์ ๊ธฐ๋ฐ์ผ๋ก ์ฑ์ ์์ํ๋ ๋ฉ์ง ๋ฐฉ๋ฒ์ ์ํ์ต๋๋ค(์ผ์ข ์ ์ฑ์ผ๋ก ์ ํ) -> ์ฌ์ฉ์ ์ํธ ์์ฉ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค(์ฆ, ์ฌ์ฉ์๊ฐ - ์ , ์ ์ฒด๋ฅผ ๋ง์น๋ ์คํฌ๋ฆฐ์ท ์บก์ฒ๋ฅผ ํ์ฉํ๊ณ ์ถ์ต๋๋ค)
๋๋ถ๋ถ์ ์ฌ์ฉ์๋ ์ฑ์ด ํ๋ฝ ์์ด ์์๋ก ํ๋ฉด์ ์ฐ๋ ๊ฒ์ ์ํ์ง ์์ต๋๋ค. ๋น์ ์ ๊ทธ๊ฒ์ ๋ํด ๋ฌธ์ ๊ฐ ์์ ์๋ ์์ง๋ง, ๋๋ ํ์คํ ๊ทธ๋ ๊ฒ ํ๊ณ ๋ค๋ฅธ ๋ง์ ์ฌ๋๋ค๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
์ฑ์ด ํฌ๊ทธ๋ผ์ด๋์ ์์ ๋๋ง ์๋ํ๋ ํด๋ฆฝ๋ณด๋๋ก ์์ํ์ง ์๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ฌ๋ฏธ์๊ฒ ๋ง๋ค๊ธฐ ์ํด Microsoft๋ "๋๋ฒ๊ทธ์ ์์ ๋ ํญ์ ํด๋ฆฝ๋ณด๋์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ ๊ฒ"์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ๋ฆด๋ฆฌ์ค์์๋ ๋ฉ์ง "์ก์ธ์ค ๊ฑฐ๋ถ" ์์ธ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ด ์ฑ์ด ๋ฆด๋ฆฌ์ค์์ ์์๋์ง ์๋ ์ด์ ๋ฅผ ๋ง์นจ๋ด ์์๋ด๋ ๋ฐ ๋ช ์๊ฐ์ด ๊ฑธ๋ ธ๋์ง ์์ญ๋๊น(๋๋ฒ๊ทธ์์๋ ๋ชจ๋ ๊ฒ์ด ๋ฉ์์์ง๋ง)
์, ์์ธ๊ฐ ๋ฐ์ํ์ง๋ง ํฌ์ปค์ค๊ฐ ์์ ๋ ์ฑ์ด ์ก์ธ์คํ ์ ์๋ค๋ ์ฌ์ค์ ๋ฌธ์์ ์ธ๊ธ๋์ด ์์ต๋๋ค.
https://docs.microsoft.com/en-us/uwp/api/windows.applicationmodel.datatransfer.clipboard
ํ์ง๋ง ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฌ์ฉํ์ง ์์ ๋ ํด๋ฆฝ๋ณด๋์ ์ก์ธ์คํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฌ์ฉํ์ง ์์ ๋ ํด๋ฆฝ๋ณด๋๋ฅผ ์ค์ ํ๋ ค๊ณ ํ๋ฉด ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ๋ฐฉํดํ๋ฉด ์ฌ์ฉ์๊ฐ ์ง์ฆ์ ๋ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์๊ฐ ์ฑ์ ์์ ์ ์์ฒญํ์ง ์์ ๋ ํด๋ฆฝ๋ณด๋๋ฅผ ์ฝ๋๋ค๋ฉด ์ฌ์ฉ์๋ฅผ ๊ฐ์ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ด ๋น์ ์ ๋ชฉํ๊ฐ ์๋๋ผ๋ฉด(์ด ๊ฒฝ์ฐ ํ์คํ UWP๋ฅผ ์ฌ์ฉํด์๋ ์ ๋จ), ์ฑ์ ํฌ์ปค์ค๊ฐ ์์ ๋ ํด๋ฆฝ๋ณด๋๋ฅผ ์ฝ์ด์ผ ํ ์ด์ ๋ ๊ฑฐ์ ์์ต๋๋ค(์์ ๊ฒฝ์ฐ).
๋ง์ต๋๋ค. ์ ์์ ์ ์ฌ๋๋ค์ด UWP ์ฑ์ ํฌ๊ธฐํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด์ ์ ๊ทธ์ ๋ฐ๋ฅธ ๋ง์ ๋ฌธ์ ๋ณด๋ค ๋ ํฝ๋๋ค.
์ด์ฉ๋ฉด ๋ชจ๋ ํ๋ซํผ์ ๋ํด ๋ณ๋์ ์ฑ์ ์์ฑํ๋ ๋์ ์น์ฌ์ดํธ๋ฅผ ์์ฑํ๊ณ Electron ๋ด๋ถ์ ํจํค์งํ์ฌ Mac, Linux ๋ฐ Windows๋ก ๋ฐฐ์กํ๋ ๊ฒ์ด ๋ ์ฝ๋ค๋ ์ฌ์ค ๋๋ฌธ์ด๊ธฐ๋ ํฉ๋๋ค.
๊ทธ๋ฐ ์ข ๋ฅ์ ์ถ๊ฐ ๋จ๊ณ๊ฐ ์๋ ํ์ผ ํ์๊ธฐ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค(โหโ)
๊ทธ๋ ์ง ์๋ค. ๊ทธ๊ฒ๊ณผ๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ค.
๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ผ์ด ๊ธฐ๋ฐ์ธ์ง ์ ๋ ์ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ตญ ์ฑ์์ ์ง๊ธ๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ๊ธฐ๋ฐ๋ก ํ์ํ๋ ์ฌ์ฉ์๋ ์ด๋ป์ต๋๊น? ๊ทธ๋์ ๋น์ ์ ๋น์ ์ด ์ ๊ทผํ ์ ์๋ ๋ ๋ง์ ๋ณํ๊ณผ ํจ๊ป ์ง๊ธ๊ณผ ๊ฐ์ ์์คํ ์ ๋ง๋ค์์ต๋๋ค.
๋ด ์๋ฃจ์ ์ด ์ณ๋ค๊ณ ๋งํ๋ ๊ฒ์ด ์๋๋๋ค. ๋ถ๋ช ํ ๋๋ โโ์๋๋ฐ์ค์ ์์ง ์๋ ๊ฒ์ ์ ํธํฉ๋๋ค. ๋จ์ง ํ์ฌ ๊ตฌํ์ด ๋งค์ฐ ๋์ฉ๋๋ค.
๋๋๋ก async๋ ์ฝ๊ฐ ์ฑ๊ฐ์์ง๋ง, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ async ๋ฉ์๋๋ async์ฌ์ผ ํ๋ ์ด์ ๊ฐ ์์ต๋๋ค. ๋คํธ์ํฌ ๋๋ ํ์ผ ์์ ๊ณผ ๊ฐ์ ์์ ์์ UI๋ฅผ ์ฐจ๋จํ๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฆ, ๋ค์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ๋ฉ์๋๋ฅผ ๋๊ธฐ์ ์ผ๋ก ์คํํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ์๋ชป๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ๋จ์ํ ๋ด๊ฐ ํญ์ UI ์ค๋ ๋์์ ํธ์ถํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ฐ๋จํ ์์ ์๋ ๊ด์ฐฎ์ง๋ง ๋๋ง์ ์ค๋ ๋๋ฅผ ๋ง๋ค ์ ์๊ณ ๋๋ง์ ์์ ์ ๋ง๋ค๊ณ ์์ ์ ์ํํ ์๋ ์์ต๋๋ค.
๋ชจ๋ ๊ฒ์ ๋น๋๊ธฐํํ๋ฉด ํญ์ await๋ฅผ ํธ์ถํ๊ณ ํจ์๋ฅผ async๋ก ํ์ํด์ผ ํฉ๋๋ค.
[...]
ConfigureAwait
๊ฒฝ์ฐ ๋ค์ ๋ฌธ์๋ฅผ ๋ณผ ์ ์์ต๋๋ค. https://devblogs.microsoft.com/dotnet/configureawait-faq/
๊ณ ๋ง์, ๋๋ ์ด๊ฒ์ ๋ํด ์๊ณ ์๋ค. ๋ด๊ฐ ๋ง๋ ๋ ๋ค๋ฅธ ๋ฌธ์ ๋ ์ ์ํ ๋๋ก ๋นํธ๋งต(๋น๋๊ธฐ)์ ๋ก๋ํ๋ ๊ฒ์ด์์ต๋๋ค. ๋๋๋ก ๋นํธ๋งต์ ๋ก๋ํ๋ ๋ฐ 5-6์ด์ ๊ฐ์ ๋ฏธ์น ๋๊ธฐ ์๊ฐ์ด ๋ฐ์ํ์ต๋๋ค.
๋๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ด์๋ค.
"...dll"์ ๋ฆด๋ฆฌ์ค ๋ชจ๋๋ก ๋น๋๋์ด ์ด์ํฉ๋๋ค. ํ๋ก์ ํธ ํ์ผ์ด ์ผ๊ด์ฑ์ด ์๋์ง ํ์ธํ์๊ฒ ์ต๋๊น? ์ปดํ์ผ ์๊ฐ๊ณผ ๊ด๋ จํ์ฌ ๋ค, ๊ทธ๊ฑด ์ฝ๊ฐ ์ฑ๊ฐ์์ง๋ง ~1๋ถ์ ์ฌ์ ํ โโ๊ด์ฐฎ์ต๋๋ค. WinUI๋ ์ฝ 5-10๋ถ์ด ๊ฑธ๋ฆฝ๋๋ค ๐
์, ๊ทธ๊ฒ์ ๋ํด ์๊ฐํ๊ณ ์ถ์ง๋ ์์ต๋๋ค. :) ํ๋ก์ ํธ ํ์ผ์ด ์ผ๊ด์ฑ์ด ์๋ค๋ ๊ฒ์ด ๋ฌด์จ ๋ง์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์, ์ถฉ๋ํฉ๋๋ค. VS๋ 10-20๋ฒ ์คํ๋ ๋๋ง๋ค ์ถฉ๋ํฉ๋๋ค.
์, ๊ฝค ์ฑ๊ฐ์ ์ผ์ด์ง๋ง ์ด๊ฒ์ด ์ค์ ๋ก UWP์ ์์กดํ๋ค๊ณ ์๊ฐํ์ง ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก Visual Studio์ ์์กดํฉ๋๋ค(์ฌ์ ํ 32๋นํธ ํ๋ก์ธ์ค์ธ ์ด์ ๊ฐ ์์ต๋๋ค!).
๋๋ ๊ทธ๊ฒ์ด UWP์ ๊ด๋ จ์ด ์๋ค๊ณ ๋ฏฟ์ต๋๋ค. ์ด๊ฒ์ WPF๋ฅผ ๋ค๋ฃฐ ๋ ๋์๊ฒ ์ผ์ด๋ ์ ์ด ์์ต๋๋ค. ๋๋ 28๊ฐ์ ํ๋ก์ ํธ๋ฅผ ๊ฐ์ง๊ณ ์์๊ณ ๊ฒฐ์ฝ ์ถฉ๋ํ์ง ์์์ต๋๋ค. UWP์๋ 15๊ฐ์ ํ๋ก์ ํธ(WPF์์ ํฌํ )๊ฐ ์๋๋ฐ ์ถฉ๋ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฒคํธ ๋ทฐ์ด๋ฅผ ๋ณด๋ฉด ์๋๋ฐ์ค ์ถฉ๋์ ๋ํด ๋ญ๊ฐ๊ฐ ์์ต๋๋ค. ์ ํํ ๊ธฐ์ต์ ๋์ง ์์ต๋๋ค.
WPF์ ํจ๊ป Win2D๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค: microsoft/Win2D#660
๊ทธ๊ฒ์ด ๋์ ์ฒซ ๋ฒ์งธ ์๋์์ต๋๋ค. ์ ๋ ๊ธ๋ฌผ์ ๋๋ค. ๋๋ฌด ๋ง์ ๋ฌธ์ ์ ๋ถ๋ชํ ๊ฒฐ๊ตญ ํฌ๊ธฐํ์ต๋๋ค. win2d๋ฅผ ๋ค๋ฃจ๋ ์ฝ๋๋ ์๋นํ ๋ณต์กํ๊ธฐ ๋๋ฌธ์ UWP๋ฅผ ์ง์ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค WPF ์์ ์์ฑํ๋ ๊ฒ์ด ํจ์ฌ ๋ ์ค๋ ๊ฑธ๋ฆด ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
UWP ์ค์ ์์ฒด๊ฐ ์ซ์ ๋งํผ ๋ด ๋ง์ด ๋ง์๋ค. ์ ๋๋ก ์๋ํ๊ฒ ๋ง๋ค์ง ๋ชปํ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ๋น์ ์ด https://github.com/microsoft/Win2D/issues/731์ ์๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
์๊ฐํด ๋ณด์ธ์. Windows์ UWP ์ฑ์ผ๋ก ์ ์ฒด ํ๋ฉด์ผ๋ก ์ ํํ๋๋ก ์์ฒญํด์ผ ํฉ๋๋ค. ์ ์ ์ด์์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ด๋ฆฌ์๊ฒ ๋ง๋ค๊ธฐ ์ํด ๋ค์ ์คํ์๋ง ์ ์ฉ๋ฉ๋๋ค.
์์ ์์๋ UWP ์ฑ์ ์ ์ฒด ํ๋ฉด ๋ชจ๋๋ก ๊ฐ์ ธ์ค๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊ฒ ๊ฐ์ต๋๋ค. https://stackoverflow.com/questions/31758775/windows-10-universal-app-run-in-fullscreen-mode-by-default
์ฃ์กํฉ๋๋ค. "์ต๋ํํ๋ ค๋" ์๋์์ต๋๋ค. ์ฃ์กํฉ๋๋ค.
์, ์์ธ๊ฐ ๋ฐ์ํ์ง๋ง ํฌ์ปค์ค๊ฐ ์์ ๋ ์ฑ์ด ์ก์ธ์คํ ์ ์๋ค๋ ์ฌ์ค์ ๋ฌธ์์ ์ธ๊ธ๋์ด ์์ต๋๋ค.
๋ฌธ์ ๋ ๋๋ฒ๊ทธ์์ ๋ฆด๋ฆฌ์ค์ ๋ค๋ฅธ ๋์์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ์ผ๊ด์ฑ์ด ์์ด์ผ ํฉ๋๋ค.
https://docs.microsoft.com/en-us/uwp/api/windows.applicationmodel.datatransfer.clipboard
ํ์ง๋ง ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฌ์ฉํ์ง ์์ ๋ ํด๋ฆฝ๋ณด๋์ ์ก์ธ์คํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? [...]
์ฌ๋ฏธ์๋ ์ ์ ์ด๊ฒ์ ๋๋ค. ์์ํ ๋ ํด๋ฆฝ๋ณด๋์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ณต์ฌํ๊ณ ์ถ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ MainPage์ ์์ฑ์์ ์์๊ธฐ ๋๋ฌธ์ ๋ถ๋ช ํ ๋๋ โโ์์ง ์ ๊ฒฝ์ ์์ง ์์์ต๋๋ค. ๋๋ฒ๊ทธ์์ ๋ณต์ญ์์ฒ๋ผ ์์ ํ๊ณ ๋ฆด๋ฆฌ์ค์์ ์ถฉ๋ํ์ต๋๋ค. ์ฆ, ์ ํํ ์์ ์, ์๋ฌด ๊ธฐ๋ก๋ ๋จ๊ธฐ์ง ์์์ต๋๋ค.
๋ง์ต๋๋ค. ์ ์์ ์ ์ฌ๋๋ค์ด UWP ์ฑ์ ํฌ๊ธฐํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด์ ์ ๊ทธ์ ๋ฐ๋ฅธ ๋ง์ ๋ฌธ์ ๋ณด๋ค ๋ ํฝ๋๋ค.
์ด์ฉ๋ฉด ๋ชจ๋ ํ๋ซํผ์ ๋ํด ๋ณ๋์ ์ฑ์ ์์ฑํ๋ ๋์ ์น์ฌ์ดํธ๋ฅผ ์์ฑํ๊ณ Electron ๋ด๋ถ์ ํจํค์งํ์ฌ Mac, Linux ๋ฐ Windows๋ก ๋ฐฐ์กํ๋ ๊ฒ์ด ๋ ์ฝ๋ค๋ ์ฌ์ค ๋๋ฌธ์ด๊ธฐ๋ ํฉ๋๋ค.
ํ๋ซํผ ๋ ๋ฆฝ์ฑ๊ณผ ๊ด๋ จํ์ฌ ๊ทธ๊ฒ์ ์์ ํ ์๋ก์ด ์ฃผ์ ์ ๋๋ค. ์ ๊ฐ ์ธ๊ธํ ๊ฒ์ UWP ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฌ๋๋ค์ด ์ง๋ฉดํ๋ ๋ง์ ๋ฌธ์ ๊ฐ ๋จ์ํ ์กด์ฌํด์๋ ์ ๋๋ค๋ ์ฌ์ค์ ๋๋ค. WPF์์ UWP๋ก ์ ํํ๋ ๊ฒ์ ๋งค์ฐ ๋์ ๊ฒฝํ์ด์์ต๋๋ค.
@chingucoding
ํ์ง๋ง ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฌ์ฉํ์ง ์์ ๋ ํด๋ฆฝ๋ณด๋์ ์ก์ธ์คํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฌ์ฉํ์ง ์์ ๋ ํด๋ฆฝ๋ณด๋๋ฅผ ์ค์ ํ๋ ค๊ณ ํ๋ฉด ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ๋ฐฉํดํ๋ฉด ์ฌ์ฉ์๊ฐ ์ง์ฆ์ ๋ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์๊ฐ ์ฑ์ ์์ ์ ์์ฒญํ์ง ์์ ๋ ํด๋ฆฝ๋ณด๋๋ฅผ ์ฝ๋๋ค๋ฉด ์ฌ์ฉ์๋ฅผ ๊ฐ์ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ด ๋น์ ์ ๋ชฉํ๊ฐ ์๋๋ผ๋ฉด(์ด ๊ฒฝ์ฐ ํ์คํ UWP๋ฅผ ์ฌ์ฉํด์๋ ์ ๋จ), ์ฑ์ ํฌ์ปค์ค๊ฐ ์์ ๋ ํด๋ฆฝ๋ณด๋๋ฅผ ์ฝ์ด์ผ ํ ์ด์ ๋ ๊ฑฐ์ ์์ต๋๋ค(์์ ๊ฒฝ์ฐ).
์ ๊ฒฝ์ฐ์๋ ์ฑ์ด ๊ฐ์ํ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์ฑ์ ์๋ฆผ์ด ํ์๋ฉ๋๋ค. ์๋ฆผ ๋ฉ์์ง์๋ ์ฌ์ฉ์๊ฐ ์ถ๊ฐ ์ฒ๋ฆฌ/๋ค๋ฅธ ์ปจํ ์คํธ์์ ์ฌ์ฉํ๋ ค๋ ์ ๋ณด๊ฐ ํฌํจ๋ ์ ์์ผ๋ฏ๋ก ํ์๋ ์ ๋ณด ์ค ์ผ๋ถ๋ฅผ ๋ณต์ฌํ๋ [ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ] ์์ ๋ฒํผ์ ์ ๊ณตํฉ๋๋ค. ์๋ฆผ์ด ์ธ์ ๋ ์ง ๋์ฐฉํ ์ ์๊ณ ๊ทธ ์์ ์์ ์ฑ์ด ๋ฐฑ๊ทธ๋ผ์ด๋์ ์์ ์ ์์ผ๋ฏ๋ก ์ด ๊ฒฝ์ฐ Win32 ๋์ฐ๋ฏธ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
UWP ์๋๋ฐ์ค ์ธ๋ถ์์ Win32๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉ์์๊ฒ ์๋ฆฌ์ง ์๊ณ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฌ์ฑํ๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋๋๋ค. ๋ฐ๋ผ์ ์ผ๋ฐ์ ์ผ๋ก ๋งํด์ ์๋๋ฐ์ค๋ ์ฌ์ฉ์์๊ฒ ๊ฐ์น๋ฅผ ์ ๊ณตํ์ง๋ง ์ฌ์ฉ์๋ฅผ ์ผํํ๋ ๋ฐ ์ ๊ฒฝ ์ฐ์ง ์๊ฑฐ๋ ์์ฒญํ ์๋๊ฐ ์๋ ์ ์์ ์ธ ๊ฐ๋ฐ์๊ฐ ์๋๋๋ผ๋ ์ด๋ค ๊ฒฝ์ฐ์๋ ๊ฐ๋ฐ์๋ก์ ์ฌ์ ํ ์๋๋ฐ์ค๋ฅผ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ์์คํ ์์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ ์ ์ฌ์ฉ์์ ๋์.
์ฑ๊ณผ ํจ๊ป Win32 ์์ ์ ๋ขฐ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ์ฌ์ค์ MS๊ฐ ์ด๋ฌํ ๋๋ ๋ง๋ฅผ ์ธ์ํ๊ณ ์์ผ๋ฉฐ ๊ฐ๋ฐ์์๊ฒ UWP๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ฉด์๋ ์ฌ์ ํ Win32์ ์์ ๋ฅผ ์ถฉ๋ถํ ๋๋ฆด ์ ์์์ ๋ํ๋ ๋๋ค.
๊ทธ๋ ์ง ์๋ค. ๊ทธ๊ฒ๊ณผ๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ค.
์ง๊ธ ์ฑ์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ด๋์์ ์ฐพ์ ์ ์์ต๋๊น? ๐
๋ถ๋ช ํ ๋๋ โโ์๋๋ฐ์ค์ ์์ง ์๋ ๊ฒ์ ์ ํธํฉ๋๋ค. ๋จ์ง ํ์ฌ ๊ตฌํ์ด ๋งค์ฐ ๋์ฉ๋๋ค.
์๋๋ฐ์ค๊ฐ ๋ง์์ ๋ค์ง ์์ผ๋ฉด WPF ๋์์ผ๋ก ์ ํํ๋ ๊ฒ์ด ๋ ๋์ ์ ํ์ผ ์ ์์ต๋๋ค. UWP์์ ์ฑ์ ๊ฐ๋ฐํ๋ ค๊ณ ํ๋ ๊ฒ๋ณด๋ค ๋ ๋์ ์ ํ์ผ ์ ์์ต๋๋ค. ๋ฅผ ์ํ ์ฑ์ ๊ฐ๋ฐํฉ๋๋ค. ๋๋ WPF ๋์์ด Win2D์ ๋นํด ๊ทธ๋ ๊ฒ ๋์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๊ทธ๊ฒ์ด ๋น์ ์ด ๋ชจ๋ ์ด๋ ค์์ ๊ฒช๋ ๊ฒ์ ์ ๋นํํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๊ทธ๊ฒ์ ๋ํ ๋์ ๊ด์ ์ผ ๋ฟ์ ๋๋ค.
๋ํ ํ์ฌ ๊ตฌํ์ ํ์ผ์ ๋ํ ์ ํ์ด ์๋ ๋ฐ ์ต์ํ ์ฌ๋๋ค์๊ฒ "๋์จ"์ ๋๋ค. ์น ๊ฐ๋ฐ ๋ฐฐ๊ฒฝ์์ ์จ ์ ๋ ๊ทธ ์ ์ ๋งค์ฐ ๋ง์กฑํฉ๋๋ค. ํนํ ์น์๋ ์ฌ์ฉ์ ๋ณดํธ๋ฅผ ๋ชฉ์ ์ผ๋ก ํ๋ ์ ํ์ด ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ค์ ์์น๋ฅผ โโ์ ์ ์์ต๋๋ค.
ํ๋ก์ ํธ ํ์ผ์ด ์ผ๊ด์ฑ์ด ์๋ค๋ ๊ฒ์ด ๋ฌด์์ ์๋ฏธํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋๋ฒ๊ทธ์ฉ ํ๋ก์ ํธ ํ์ผ์ด ์๋ชป๋์๊ณ ๋ฆด๋ฆฌ์ค์์ ์ผ๋ถ dll์ด ์์ฑ๋๊ณ ์์ ์ ์์ต๋๋ค. ํ์ง๋ง Visual Studio์์ ์ด๋ฅผ ์ฒ๋ฆฌํ๋๋ก ํ๋ฉด ๊ทธ๋ฐ ์ผ์ด ์ผ์ด๋ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ด UWP์ ๊ด๋ จ์ด ์๋ค๊ณ ๋ฏฟ์ต๋๋ค. ์ด๊ฒ์ WPF๋ฅผ ๋ค๋ฃฐ ๋ ๋์๊ฒ ์ผ์ด๋ ์ ์ด ์์ต๋๋ค. ๋๋ 28๊ฐ์ ํ๋ก์ ํธ๋ฅผ ๊ฐ์ง๊ณ ์์๊ณ ๊ฒฐ์ฝ ์ถฉ๋ํ์ง ์์์ต๋๋ค. UWP์๋ 15๊ฐ์ ํ๋ก์ ํธ(WPF์์ ํฌํ )๊ฐ ์๋๋ฐ ์ถฉ๋ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฒคํธ ๋ทฐ์ด๋ฅผ ๋ณด๋ฉด ์๋๋ฐ์ค ์ถฉ๋์ ๋ํด ๋ญ๊ฐ๊ฐ ์์ต๋๋ค. ์ ํํ ๊ธฐ์ต์ ๋์ง ์์ต๋๋ค.
Visual Studio์ ์์ ์ฑ์ ์ ์๊ฒ ์์ด ํ๋ก์ ํธ ํฌ๊ธฐ์ ํฌ๊ฒ ์ข์ฐ๋ฉ๋๋ค. ์ค์ํ UWP/NetCore/NetFramework๋ ํญ์ ์ ์๋ํฉ๋๋ค. ๋๊ท๋ชจ ํ๋ก์ ํธ๋ก ์ธํด Visual Studio๊ฐ ์๋ตํ์ง ์๊ฑฐ๋ ์ค๋จ๋๊ฑฐ๋ ํ ๋ฒ์ ์ถฉ๋ํฉ๋๋ค. ํ์ง๋ง ๊ทธ๊ฑด ์ ๊ฒฝํ์ผ ๋ฟ์ ๋๋ค.
์ฃ์กํฉ๋๋ค. "์ต๋ํํ๋ ค๋" ์๋์์ต๋๋ค. ์ฃ์กํฉ๋๋ค.
์ด ๊ฒฝ์ฐ ์ฑ์ด ์์๋ ํ์ ๊ฐ์ ์ค์ ํ๊ธฐ ๋๋ฌธ์ ๋ค์ ์์ ์์๋ง ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋ฉ๋๋ค. "Windows์ ๋ฌผ์ด๋ด์ผํฉ๋๋ค"๋ผ๋ ๋ง์ด ๋ฌด์จ ๋ง์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ฝ๋๋ก ์ค์ ํด์ผ ํ๋ค๋ ์ฌ์ค์ ๋ง์ํ์๋ ๊ฑด๊ฐ์?
๋ํ ์ ํธํ๋ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ค์ ์ต๋ํ๋งํผ ์ข์ง๋ ์์ง๋ง ์ฑ์ด ํ๋ฉด์ ๋ชจ๋ ๊ณต๊ฐ์ ์ฐจ์งํ๊ฒ ๋ฉ๋๋ค(์ต๋ํ์ ์ ์ฌ).
https://stackoverflow.com/questions/35247320/how-to-maximize-a-uwp-window-not-fullscreen?rq=1
์ด๊ฒ์ ์๋ชป๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ๋จ์ํ ๋ด๊ฐ ํญ์ UI ์ค๋ ๋์์ ํธ์ถํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ฐ๋จํ ์์ ์๋ ๊ด์ฐฎ์ง๋ง ๋๋ง์ ์ค๋ ๋๋ฅผ ๋ง๋ค ์ ์๊ณ ๋๋ง์ ์์ ์ ๋ง๋ค๊ณ ์์ ์ ์ํํ ์๋ ์์ต๋๋ค.
์ด๋ฏธ ์์ ์ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด await๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๋ณ๋์ ์ฐ๋ ๋๋ฅผ ์ฌ์ฉํด๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ ํญ์ UI ์ฐ๋ ๋์์ ์คํ๋๊ธฐ ๋๋ฌธ์ ๊ฑฐ๊ธฐ์์ ๋ฐฉ๋ํ ์ฐ์ฐ์ ํ๋ฉด ์ฑ์ด ์๋ตํ์ง ์๊ฒ ๋๋ค.
UWP ์ค์ ์์ฒด๊ฐ ์ซ์ ๋งํผ ๋ด ๋ง์ด ๋ง์๋ค. ์ ๋๋ก ์๋ํ๊ฒ ๋ง๋ค์ง ๋ชปํ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ๋น์ ์ด microsoft/Win2D#731์ ์๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
์ ๋ ๋ชฐ๋๋๋ฐ 2018๋ ๋ถํฐ ๋ง์๋๋ฆฐ ๋ฌธ์ ์ด๋ ์ง๊ธ์ฏค์ ์ ํด๊ฒฐ๋๋ฆฌ๋ผ ์๊ฐํ์ต๋๋ค.
๋ฌธ์ ๋ ๋๋ฒ๊ทธ์์ ๋ฆด๋ฆฌ์ค์ ๋ค๋ฅธ ๋์์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ์ผ๊ด์ฑ์ด ์์ด์ผ ํฉ๋๋ค.
ํ ์์ฃผ ์ด์ํฉ๋๋ค. ํ๋์ ์ผ๊ด์ฑ์ด ์์ด์ผ ํฉ๋๋ค.
์ฌ๋ฏธ์๋ ์ ์ ์ด๊ฒ์ ๋๋ค. ์์ํ ๋ ํด๋ฆฝ๋ณด๋์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ณต์ฌํ๊ณ ์ถ์์ต๋๋ค.
๋ํ ์ค๋ช ์์์ ํด๋น ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ธ๊ธํ๋ฉฐ CoreWindow.Activated๊ฐ ๋ณต์ฌ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฐฉ๊ธ ์ฑ์ ์์ํ์ ๋ ํด๋ฆฝ๋ณด๋์ ์ ํํ ๋ณต์ฌํ ์ด์ ๋ ๋ฌด์์ ๋๊น? @Felix-Dev๊ฐ ๋ฌ์ฑ/๋ฌ์ฑํ๊ณ ์ ํ๋ ๊ฒ๊ณผ ์ ์ฌํ ๊ฒ์ ๋๊น?
@Felix-Dev ๋ต๋ณํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋๋ ๊ทธ ์๋๋ฆฌ์ค์ ๋ํด ์๊ฐํ์ง ์์๋ค. ์ด ๊ฒฝ์ฐ ํด๋ฆฝ๋ณด๋์ ์ก์ธ์คํด์ผ ํ๋ฉฐ ์ด๋ ์ฌ์ฉ์์ ๊ฒฝํ์ ํ์คํ ํฅ์์ํต๋๋ค. ๋ด ์ถ์ธก์ผ๋ก๋ ๋น์ ์ด "์ด์ ์ ๊ฐ์ง๊ณ " ๊ฑด๋ฐฐํ ์ดํ๋ก ์ด๊ฒ์ด ํจ๊ณผ๊ฐ ์์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๊ทธ๋ ์ง ์์ ๊ฒ ๊ฐ์์.
๋ฐ๋ผ์ ์ผ๋ฐ์ ์ผ๋ก ๋งํด์ ์๋๋ฐ์ค๋ ์ฌ์ฉ์์๊ฒ ๊ฐ์น๋ฅผ ์ ๊ณตํ์ง๋ง ์ฌ์ฉ์๋ฅผ ์ผํํ๋ ๋ฐ ์ ๊ฒฝ ์ฐ์ง ์๊ฑฐ๋ ์์ฒญํ ์๋๊ฐ ์๋ ์ ์์ ์ธ ๊ฐ๋ฐ์๊ฐ ์๋๋๋ผ๋ ์ด๋ค ๊ฒฝ์ฐ์๋ ๊ฐ๋ฐ์๋ก์ ์ฌ์ ํ ์๋๋ฐ์ค๋ฅผ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ์์คํ ์์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ ์ ์ฌ์ฉ์์ ๋์.
์, ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์ฒ๋ฆฌํด์ผ ํ์ง๋ง ๋ง์ ์ฑ์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ค์ธ ์ ๋๋ก ์๋๋ฐ์ค์ ์ํด ์ ํ๋์ง ์์ต๋๋ค. ์์ง ๋ง์์ผ ํ ํ ๊ฐ์ง๋ UWP๊ฐ ์๋ํ์ง ์๋ ๊ฒฝ์ฐ์๋ ์ฌ์ ํ 2๊ฐ์ง ๋ค๋ฅธ ์ต์ ์ด ์๋ค๋ ๊ฒ์ ๋๋ค.
๋ง์ง๋ง ์์ ๊ณผ ๊ด๋ จํ์ฌ ์, Win32 ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ์ฌ์ค์ UWP๊ฐ ์ฌ์ฉ์๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ๊ฐ ์์์ ๋ํ๋
๋๋ค.
์ด๊ฒ์ ๊ฐ์ฅ ์ฝ๊ณ ๋น ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๊ฑฐ๋ ์ค์ ๋ก ์๋์ ์ผ๋ก ์ค๊ณ๋ ๊ฒ์ผ ์ ์์ต๋๋ค.
๊ทธ๋ ์ง ์๋ค. ๊ทธ๊ฒ๊ณผ๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ค.
์ง๊ธ ์ฑ์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ด๋์์ ์ฐพ์ ์ ์์ต๋๊น? ๐
์ฌ๊ธฐ -> https://hot-awe.com
์๋๋ฐ์ค๊ฐ ๋ง์์ ๋ค์ง ์์ผ๋ฉด WPF ๋์์ผ๋ก ์ ํํ๋ ๊ฒ์ด ๋ ๋์ ์ ํ์ผ ์ ์์ต๋๋ค. UWP์์ ์ฑ์ ๊ฐ๋ฐํ๋ ค๊ณ ํ๋ ๊ฒ๋ณด๋ค ๋ ๋์ ์ ํ์ผ ์ ์์ต๋๋ค. ๋ฅผ ์ํ ์ฑ์ ๊ฐ๋ฐํฉ๋๋ค. ๋๋ WPF ๋์์ด Win2D์ ๋นํด ๊ทธ๋ ๊ฒ ๋์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๊ทธ๊ฒ์ด ๋น์ ์ด ๋ชจ๋ ์ด๋ ค์์ ๊ฒช๋ ๊ฒ์ ์ ๋นํํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๊ทธ๊ฒ์ ๋ํ ๋์ ๊ด์ ์ผ ๋ฟ์ ๋๋ค.
์ด๊ฒ์ WPF ์์ฉ ํ๋ก๊ทธ๋จ์ด์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋น๋์ค ํธ์ง์ ํน์ฑ์ผ๋ก ์ธํด ์๋๋ฉด์์ WPF์ ํ๊ณ์ ๋๋ฌํ ์ง ์ค๋์
๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก DrawingVisual
). ์ ๋ฅผ ๋ฏฟ์ผ์ธ์. ์ ํ์ ์ฌ์ง๊ฐ ์์๋ค๋ฉด ์ด๋ ๊ฒ ํ์ง ์์์ ๊ฒ์
๋๋ค.
๋ํ ํ์ฌ ๊ตฌํ์ ํ์ผ์ ๋ํ ์ ํ์ด ์๋ ๋ฐ ์ต์ํ ์ฌ๋๋ค์๊ฒ "๋์จ"์ ๋๋ค. ์น ๊ฐ๋ฐ ๋ฐฐ๊ฒฝ์์ ์จ ์ ๋ ๊ทธ ์ ์ ๋งค์ฐ ๋ง์กฑํฉ๋๋ค. ํนํ ์น์๋ ์ฌ์ฉ์ ๋ณดํธ๋ฅผ ๋ชฉ์ ์ผ๋ก ํ๋ ์ ํ์ด ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ค์ ์์น๋ฅผ โโ์ ์ ์์ต๋๋ค.
๋๋ ๋น์ ์ด ์น ๋ฐฐ๊ฒฝ์์ ์๋ค๊ณ ๋งน์ธํ ์ ์์์ต๋๋ค :)
๋๋ฒ๊ทธ์ฉ ํ๋ก์ ํธ ํ์ผ์ด ์๋ชป๋์๊ณ ๋ฆด๋ฆฌ์ค์์ ์ผ๋ถ dll์ด ์์ฑ๋๊ณ ์์ ์ ์์ต๋๋ค. ํ์ง๋ง Visual Studio์์ ์ด๋ฅผ ์ฒ๋ฆฌํ๋๋ก ํ๋ฉด ๊ทธ๋ฐ ์ผ์ด ์ผ์ด๋ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๊ทธ๊ฒ์ ์ฌ์ค์ด ์๋์ง๋ง ๋๋ ๋ค์ ํ ๋ฒ ํ์ธํ์ต๋๋ค - ๊ทธ๋ ์ง ์์ต๋๋ค.
Visual Studio์ ์์ ์ฑ์ ์ ์๊ฒ ์์ด ํ๋ก์ ํธ ํฌ๊ธฐ์ ํฌ๊ฒ ์ข์ฐ๋ฉ๋๋ค. ์ค์ํ UWP/NetCore/NetFramework๋ ํญ์ ์ ์๋ํฉ๋๋ค. ๋๊ท๋ชจ ํ๋ก์ ํธ๋ก ์ธํด Visual Studio๊ฐ ์๋ตํ์ง ์๊ฑฐ๋ ์ค๋จ๋๊ฑฐ๋ ํ ๋ฒ์ ์ถฉ๋ํฉ๋๋ค. ํ์ง๋ง ๊ทธ๊ฑด ์ ๊ฒฝํ์ผ ๋ฟ์ ๋๋ค.
์, ๋๋ ๊ณผ๊ฑฐ์ ๊ทธ๊ฒ์ ์ฒ๋ฆฌํ์ต๋๋ค. ์ต์ ๋ฒ์ ์ VS(2017,2019)์์๋ ๊ทธ๋ ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์จ๋ , ๊ฐ๋จํ ๋งํด์ ์ด๊ฒ์ UWP์์ ์ ์๊ฒ ์ผ์ด๋ ์ผ์ ๋๋ค. ๊ทธ๊ฒ์ ๋ด๊ฐ win2d๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ ์ฌ์ค๊ณผ ๊ด๋ จ์ด์์ ์ ์์ผ๋ฉฐ, ๋๋ ์๋นํ ๋ณต์กํ ์ง์น์ด๋ผ๋ ๋๋์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ด ๊ฒฝ์ฐ ์ฑ์ด ์์๋ ํ์ ๊ฐ์ ์ค์ ํ๊ธฐ ๋๋ฌธ์ ๋ค์ ์์ ์์๋ง ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋ฉ๋๋ค. "Windows์ ๋ฌผ์ด๋ด์ผํฉ๋๋ค"๋ผ๋ ๋ง์ด ๋ฌด์จ ๋ง์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ฝ๋๋ก ์ค์ ํด์ผ ํ๋ค๋ ์ฌ์ค์ ๋ง์ํ์๋ ๊ฑด๊ฐ์?
WPF์์๋ ์ฐฝ ํฌ๊ธฐ๋ฅผ ์ํ๋ ์์น๋ก ์ค์ ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ํธ์ถํด์ผ ํ๋ API๊ฐ ์์ต๋๋ค -> ApplicationView.PreferredLaunchViewSize
- ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด "์์คํ
์ด ์ฐฝ ํฌ๊ธฐ๋ฅผ ์ง์ ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ ์๋ํฉ๋๋ค." - ์, ๋ค์ ์ฑ ์์์๋ง ์๋ํฉ๋๋ค.
๋ํ ์ ํธํ๋ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ค์ ์ต๋ํ๋งํผ ์ข์ง๋ ์์ง๋ง ์ฑ์ด ํ๋ฉด์ ๋ชจ๋ ๊ณต๊ฐ์ ์ฐจ์งํ๊ฒ ๋ฉ๋๋ค(์ต๋ํ์ ์ ์ฌ).
https://stackoverflow.com/questions/35247320/how-to-maximize-a-uwp-window-not-fullscreen?rq=1
์ค์ ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋ ๋ค๋ฅธ ์ฝ๋๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
var view = DisplayInformation.GetForCurrentView();
var resolution = new Size(view.ScreenWidthInRawPixels, view.ScreenHeightInRawPixels);
var scale = view.ResolutionScale == ResolutionScale.Invalid ? 1 : view.RawPixelsPerViewPixel;
var bounds = new Size(resolution.Width / scale, resolution.Height / scale);
ApplicationView.PreferredLaunchViewSize = new Size(bounds.Width, bounds.Height);
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
์ด๋ฏธ ์์ ์ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด await๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๋ณ๋์ ์ฐ๋ ๋๋ฅผ ์ฌ์ฉํด๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ ํญ์ UI ์ฐ๋ ๋์์ ์คํ๋๊ธฐ ๋๋ฌธ์ ๊ฑฐ๊ธฐ์์ ๋ฐฉ๋ํ ์ฐ์ฐ์ ํ๋ฉด ์ฑ์ด ์๋ตํ์ง ์๊ฒ ๋๋ค.
๋ถ๋ช ํ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ UI ์ค๋ ๋์์ ์คํ๋ฉ๋๋ค. ์ข ์ต์ํด์ก์ต๋๋ค. ์ฑ์ ์๋นํ ์์ ํด์ผ ํ์ต๋๋ค. ํจ์์ async๋ฅผ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ฌ์ ํ ๋๋ฅผ ๊ดด๋กญํ๋ ๊ฒ์ ๊ฝค ๋ง์ API๊ฐ ์ด ์์ ์ ์ํํ ๊ฒ ๊ฐ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทน๋จ์ ์ผ๋ก Async() ๋ฒ์ ๋ง ์๋ ๊ฒฝ์ฐ์๋ ์๋ฏธ๊ฐ ์์ต๋๋ค.
์ ๋ ๋ชฐ๋๋๋ฐ 2018๋ ๋ถํฐ ๋ง์๋๋ฆฐ ๋ฌธ์ ์ด๋ ์ง๊ธ์ฏค์ ์ ํด๊ฒฐ๋๋ฆฌ๋ผ ์๊ฐํ์ต๋๋ค.
๊ทธ๊ฒ์ ์์์ต๋๋ค - ์ ์ด๋ ๋ด๊ฐ ๋ง์ง๋ง์ผ๋ก ํ์ธํ์ ๋.
๋ฌธ์ ๋ ๋๋ฒ๊ทธ์์ ๋ฆด๋ฆฌ์ค์ ๋ค๋ฅธ ๋์์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ์ผ๊ด์ฑ์ด ์์ด์ผ ํฉ๋๋ค.
ํ ์์ฃผ ์ด์ํฉ๋๋ค. ํ๋์ ์ผ๊ด์ฑ์ด ์์ด์ผ ํฉ๋๋ค.
๋ค, ๊ทธ๊ฒ ์ ๋ฅผ ์ ๋ง ํ๋๊ฒ ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ถ๋ช ํ, UWP๊ฐ ์๋ ์ฑ์์ ๋ฏธ์น ๋ฏ์ด ์ค๋ ์๊ฐ ๋์ ํด๋ฆฝ๋ณด๋๋ก ์์ ํ ๋ ์ด๋ฌํ ์ ํ์ด ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง ์์์ผ๋ฏ๋ก ์, CoreWindow.Activated๋ฅผ ๊ธฐ๋ค๋ ค์ผ ํ๋ค๋ ๋ด์ฉ์ ์ฝ์ง ์์์ต๋๋ค. ๊ทธ๋ ๊ธด ํ์ง๋ง, ์ด ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ๋ฐฐ์์ผ ํ๋ ๊ฒ์ ์์ฒญ๋๊ฒ ๋ฒ๊ฑฐ๋กญ์ต๋๋ค. ์์ ํ ์๋ก์ด ์ธ์ด๋ฅผ ๋ฐฐ์์ผ ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๋งค๋๋ฝ๊ฒ ์งํ๋๋ ๋์ ๋งค์ฃผ ๋ง์์ ์ํ๊ฒ ํ๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐฐ์ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ํ ์ค๋ช ์์์ ํด๋น ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ธ๊ธํ๋ฉฐ CoreWindow.Activated๊ฐ ๋ณต์ฌ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฐฉ๊ธ ์ฑ์ ์์ํ์ ๋ ํด๋ฆฝ๋ณด๋์ ์ ํํ ๋ณต์ฌํ ์ด์ ๋ ๋ฌด์์ ๋๊น? @Felix-Dev๊ฐ ๋ฌ์ฑ/๋ฌ์ฑํ๊ณ ์ ํ๋ ๊ฒ๊ณผ ์ ์ฌํ ๊ฒ์ ๋๊น?
์ด๊ฒ์ ๋ด๊ฐ ์ด๊ธฐ์ ๋ด ์ฑ์ ํ ์คํธํ์ ๋์์ผ๋ฉฐ ๋ ๋ง์ ๋ด๋ถ ํ ์คํธ๋ฅผ ์ํด ๋๋ฃ์๊ฒ ์ ๊ณตํ๊ณ ์ถ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ ๋ช ๊ฐ์ง ์ค์ ์ ์กฐ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ LocalFolder์ ์ ์ง๋์์ต๋๋ค. ์ด๊ฒ์ ๋ชจ๋ ์ฌ์ฉ์๋ง๋ค ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์๊ฐ์ -- ๊ฐ๋จํ๊ฒ ์ ์งํ๊ณ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌํ๊ฒ ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฑ์ ์์ํ๋ฉด "์ด PC"๋ก ์ด๋ํ์ฌ ์์น๋ฅผ ๋ถ์ฌ๋ฃ๊ณ ๊ฑฐ๊ธฐ์์ ์ค์ ํ์ผ์ ํธ์งํฉ๋๋ค(์ง๊ธ์ ํ์๊ธฐ์์ ์ฑ์ ์ด ์ ์์๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ง๋ง ๋น์์๋ ์์๋ค). ๊ฒฐ๊ตญ ์ถฉ๋์ด ๋ฐ์ํ๊ณ ์ ๋ ๋ช ์๊ฐ ๋์ ์กฐ์ฌํ๊ณ ์ ์ฃผํ์ต๋๋ค.
์ฌ๊ธฐ -> https://hot-awe.com
๊ฐ์ฌ ํด์!
์ด๊ฒ์ WPF ์์ฉ ํ๋ก๊ทธ๋จ์ด์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋น๋์ค ํธ์ง์ ํน์ฑ์ผ๋ก ์ธํด ๋๋ ์๋ ๋ฉด์์(๊ธฐ๋ณธ์ ์ผ๋ก DrawingVisual ๋ค๋ฃจ๊ธฐ) WPF์ ํ๊ณ์ ์ค๋ซ๋์ ๋ถ๋ช์ณค์ต๋๋ค. ์ ๋ฅผ ๋ฏฟ์ผ์ธ์. ์ ํ์ ์ฌ์ง๊ฐ ์์๋ค๋ฉด ์ด๋ ๊ฒ ํ์ง ์์์ ๊ฒ์ ๋๋ค.
WPF๊ฐ UWP์ ๋นํด ๊ทธ๋ ๊ฒ ํฐ ์ฑ๋ฅ ์ ํ๊ฐ ์๋ค๋ ๊ฒ์ ๋ชฐ๋์ต๋๋ค.
๊ทธ๊ฒ์ ์ฌ์ค์ด ์๋์ง๋ง ๋๋ ๋ค์ ํ ๋ฒ ํ์ธํ์ต๋๋ค - ๊ทธ๋ ์ง ์์ต๋๋ค.
์ด์ ํ๋ค. ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์์ ๊ฑฐ๋ผ๊ณ ์์ํ์ ๊ฒ์ ๋๋ค. ๋๋ฒ๊ทธ๋ฅผ ์คํํ ๋ VS๊ฐ ๋ฆด๋ฆฌ์ค dll์ ๋ํด ์ด์ผ๊ธฐํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
WPF์์๋ ์ฐฝ ํฌ๊ธฐ๋ฅผ ์ํ๋ ์์น๋ก ์ค์ ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ํธ์ถํด์ผ ํ๋ API๊ฐ ์์ต๋๋ค. ApplicationView.PreferredLaunchViewSize - ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด "์์คํ ์ด ์ฐฝ ํฌ๊ธฐ๋ฅผ ์ง์ ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ ์๋ํฉ๋๋ค."
ํ์ง๋ง ์ฌ์ฉํ๊ณ ์๋ ์ฝ๋๋ ์ฐฝ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ API๊ฐ ์๋๊ฐ์?
- ์, ๋ค์ ์ฑ ์์์๋ง ์๋ํฉ๋๋ค.
"PreferredLaunchViewSize"๋ผ๊ณ ํ๋ฉด ๋๋์ง ์์ต๋๋ค ๐
๋ค๋ง ๋ฐ์นญ ํ์๋ ์ค์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ ๊ฒ์ด ์กฐ๊ธ ๋ถํธํฉ๋๋ค.
์, ๋๋ ๊ณผ๊ฑฐ์ ๊ทธ๊ฒ์ ์ฒ๋ฆฌํ์ต๋๋ค. ์ต์ ๋ฒ์ ์ VS(2017,2019)์์๋ ๊ทธ๋ ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์จ๋ , ๊ฐ๋จํ ๋งํด์ ์ด๊ฒ์ UWP์์ ์ ์๊ฒ ์ผ์ด๋ ์ผ์ ๋๋ค.
VS์ ์ด์ ๋ฒ์ ๋งํผ ๋์์ง ์๋ค๋ ์์์ ๋ค์ผ๋ ๊ธฐ์ฉ๋๋ค.
๊ทธ๊ฒ์ ๋ด๊ฐ win2d๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ ์ฌ์ค๊ณผ ๊ด๋ จ์ด์์ ์ ์์ผ๋ฉฐ, ๋๋ ์๋นํ ๋ณต์กํ ์ง์น์ด๋ผ๋ ๋๋์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
ํ ํ๋ฆฟ ๋ฐ์ธ๋ฉ์ ์คํจํ๊ธฐ ์์ํ๊ธฐ ๋๋ฌธ์ ๋์์ด๋์๊ฒ ๋ง์ด ์์กดํ์ง ์์ต๋๋ค. Visual Studio์ฉ Blend๋ฅผ ์ฌ์ฉํด ๋ณด์ จ์ต๋๊น? ๋์์ด๋์ ๋ํด ๋ ์ ๋ขฐํ ์ ์์ต๋๊น?
๋ค, ๊ทธ๊ฒ ์ ๋ฅผ ์ ๋ง ํ๋๊ฒ ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ถ๋ช ํ, UWP๊ฐ ์๋ ์ฑ์์ ๋ฏธ์น ๋ฏ์ด ์ค๋ ์๊ฐ ๋์ ํด๋ฆฝ๋ณด๋๋ก ์์ ํ ๋ ์ด๋ฌํ ์ ํ์ด ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง ์์์ผ๋ฏ๋ก ์, CoreWindow.Activated๋ฅผ ๊ธฐ๋ค๋ ค์ผ ํ๋ค๋ ๋ด์ฉ์ ์ฝ์ง ์์์ต๋๋ค. ๊ทธ๋ ๊ธด ํ์ง๋ง, ์ด ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ๋ฐฐ์์ผ ํ๋ ๊ฒ์ ์์ฒญ๋๊ฒ ๋ฒ๊ฑฐ๋กญ์ต๋๋ค. ์์ ํ ์๋ก์ด ์ธ์ด๋ฅผ ๋ฐฐ์์ผ ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๋งค๋๋ฝ๊ฒ ์งํ๋๋ ๋์ ๋งค์ฃผ ๋ง์์ ์ํ๊ฒ ํ๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐฐ์ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค, ์์ํ ์ ์์ต๋๋ค. ์ข์ ์ ์ WPF์์ UWP๋ก์ ์ ํ ๊ฐ์ด๋์ ๋๋ค. ์ด๊ฒ์ด ์กด์ฌํ๋ค๋ฉด ์๋ก์ด UWP์ ์ด์ WPF ๊ฐ๋ฐ์์ ์๊ฐ์ ํ์คํ ์ ์ฝํ ์ ์์ต๋๋ค. ์ ํ ๊ฐ์ด๋๊ฐ ์๋ ๊ฒ์ ์ด๋ฒ์ด ์ฒ์์ด ์๋๋๋ค. Java to C# ๊ฐ์ด๋๊ฐ ์ด๋ฏธ ์์ผ๋ฏ๋ก Java ๊ฐ๋ฐ์์๊ฒ ๋ง์ ๋์์ด ๋ฉ๋๋ค.
์ด๊ฒ์ ๋ด๊ฐ ์ด๊ธฐ์ ๋ด ์ฑ์ ํ ์คํธํ์ ๋์์ผ๋ฉฐ ๋ ๋ง์ ๋ด๋ถ ํ ์คํธ๋ฅผ ์ํด ๋๋ฃ์๊ฒ ์ ๊ณตํ๊ณ ์ถ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ ๋ช ๊ฐ์ง ์ค์ ์ ์กฐ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ LocalFolder์ ์ ์ง๋์์ต๋๋ค. ์ด๊ฒ์ ๋ชจ๋ ์ฌ์ฉ์๋ง๋ค ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์๊ฐ์ -- ๊ฐ๋จํ๊ฒ ์ ์งํ๊ณ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌํ๊ฒ ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฑ์ ์์ํ๋ฉด "์ด PC"๋ก ์ด๋ํ์ฌ ์์น๋ฅผ ๋ถ์ฌ๋ฃ๊ณ ๊ฑฐ๊ธฐ์์ ์ค์ ํ์ผ์ ํธ์งํฉ๋๋ค(์ง๊ธ์ ํ์๊ธฐ์์ ์ฑ์ ์ด ์ ์์๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ง๋ง ๋น์์๋ ์์๋ค). ๊ฒฐ๊ตญ ์ถฉ๋์ด ๋ฐ์ํ๊ณ ์ ๋ ๋ช ์๊ฐ ๋์ ์กฐ์ฌํ๊ณ ์ ์ฃผํ์ต๋๋ค.
์ ๊ฒ ์ด์. ํด๋๋ฅผ ์ด ์๊ฐ์ด ์๋ค๋ฉด ํด๋ ๊ฒฝ๋ก๋ฅผ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌํ๋ ๊ฒ์ด ํด๊ฒฐ์ฑ ์ ๋๋ค. ํ ์คํธ ๋ชฉ์ ์ผ๋ก ์ด๊ฒ์ ๋งค์ฐ ๋๋ํฉ๋๋ค.
WPF๊ฐ UWP์ ๋นํด ๊ทธ๋ ๊ฒ ํฐ ์ฑ๋ฅ ์ ํ๊ฐ ์๋ค๋ ๊ฒ์ ๋ชฐ๋์ต๋๋ค.
WPF๋ DirectX์ ์ต์ ํ๋์ง ์์์ต๋๋ค. ํฝ์ ์ ฐ์ด๋์ ๋ง์คํฌ๊ฐ ์๋ํ๋ฉด ๋งค์ฐ ๋๋ ค์ง๋๋ค. UWP/win2d๋ก ์ด์ํ๋ฉด ์ฑ์ด 3~4๋ฐฐ ๋นจ๋ผ์ก์ต๋๋ค. ์์ฒญ๋๊ฒ ๋์ ๋๋๋ค.
์ด์ ํ๋ค. ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์์ ๊ฑฐ๋ผ๊ณ ์์ํ์ ๊ฒ์ ๋๋ค. ๋๋ฒ๊ทธ๋ฅผ ์คํํ ๋ VS๊ฐ ๋ฆด๋ฆฌ์ค dll์ ๋ํด ์ด์ผ๊ธฐํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๋ค, ์ ํํ ์ ์์ ์ ๋๋ค.
ํ์ง๋ง ์ฌ์ฉํ๊ณ ์๋ ์ฝ๋๋ ์ฐฝ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ API๊ฐ ์๋๊ฐ์?
๋ด ๋ง์, ๋น์ ์ Preferred...Size๋ฅผ ์ฌ์ฉํ์ง๋ง ๊ทธ๊ฒ์ด ์ผ์ด๋ ๊ฒ์ด๋ผ๋ ๋ณด์ฅ์ ์์ต๋๋ค. WPF๋ฅผ ์ฌ์ฉํ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ์์น/ํฌ๊ธฐ๋ฅผ ์ค์ ํ ๋ ์ค์ ๋ก ๋ฐ์ํฉ๋๋ค.
"PreferredLaunchViewSize"๋ผ๊ณ ํ๋ฉด ๋๋์ง ์์ต๋๋ค ๐
๋ค๋ง ๋ฐ์นญ ํ์๋ ์ค์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ ๊ฒ์ด ์กฐ๊ธ ๋ถํธํฉ๋๋ค.
์ด๊ฒ์ ๋ถํธํจ์ ๋์ด์ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ์์ฒญ๋๊ฒ ๋ถํธํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฑ์ด ์์๋ ํ์๋ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์, ๋ด ์ฑ์ด ๋ค๋ฅธ "๋ชจ๋" ์๋(์: ๊ธฐ๋ณธ/๊ณ ๊ธ)์ ๊ฐ์ง๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ฌ์ฉ์๊ฐ "๋ณ๊ฒฝ ์ฌํญ์ ๋ค์ ์์ํ ํ์๋ง ๋ฐ์ํฉ๋๋ค"์ ๋ํด ๊ด์ฐฎ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๊น?
ํ ํ๋ฆฟ ๋ฐ์ธ๋ฉ์ ์คํจํ๊ธฐ ์์ํ๊ธฐ ๋๋ฌธ์ ๋์์ด๋์๊ฒ ๋ง์ด ์์กดํ์ง ์์ต๋๋ค. Visual Studio์ฉ Blend๋ฅผ ์ฌ์ฉํด ๋ณด์ จ์ต๋๊น? ๋์์ด๋์ ๋ํด ๋ ์ ๋ขฐํ ์ ์์ต๋๊น?
๋ ๊ตฌ์ฒด์ ์ด์ด์ผ ํ์ต๋๋ค. xaml์ ํธ์งํ ๋ VS๊ฐ ์ถฉ๋ํ์ง ์์ต๋๋ค. ์ฑ์ ์์ํ ๋ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฐํฌ ์ ์ ํํ ๋ฐ์ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. (uwp) ์ฑ์์ 10์ด ๋์ ํฐ "x"๊ฐ ํ์๋๊ณ ๊ทธ ์์ ์์ ์ค๋จ๋๋ค๋ ๊ฒ์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด ์์ ์์ 45-60์ด ๋ ๊ธฐ๋ค๋ฆฌ๋ฉด VS๊ฐ ์ถฉ๋ํ๋ ๊ฒ์ ํ์ธํ๊ฑฐ๋ ์์ ๊ด๋ฆฌ์์์ VS๋ฅผ ๋ซ์ ์ ์์ต๋๋ค.
๋ค, ์์ํ ์ ์์ต๋๋ค. ์ข์ ์ ์ WPF์์ UWP๋ก์ ์ ํ ๊ฐ์ด๋์ ๋๋ค.
์, ๋งค์ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
์ ๊ฒ ์ด์. ํด๋๋ฅผ ์ด ์๊ฐ์ด ์๋ค๋ฉด ํด๋ ๊ฒฝ๋ก๋ฅผ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌํ๋ ๊ฒ์ด ํด๊ฒฐ์ฑ ์ ๋๋ค. ํ ์คํธ ๋ชฉ์ ์ผ๋ก ์ด๊ฒ์ ๋งค์ฐ ๋๋ํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค ;) ์ค์ ๋ก ์๋ํ๋ค๋ฉด ๋๋ํ์ ๊ฒ์ ๋๋ค :)
@chingucoding
๋๋๋ก async๋ ์ฝ๊ฐ ์ฑ๊ฐ์์ง๋ง, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ async ๋ฉ์๋๋ async์ฌ์ผ ํ๋ ์ด์ ๊ฐ ์์ต๋๋ค. ๋คํธ์ํฌ ๋๋ ํ์ผ ์์ ๊ณผ ๊ฐ์ ์์ ์์ UI๋ฅผ ์ฐจ๋จํ๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฆ, ๋ค์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ๋ฉ์๋๋ฅผ ๋๊ธฐ์ ์ผ๋ก ์คํํ ์ ์์ต๋๋ค.
๋ด๊ฐ ๋น๋๊ธฐ๋ฅผ ์ซ์ดํ๋ ์ด์ ๋ฅผ ํ ๊ฐ์ง ๋ ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ด๊ฒ์ ์ง๊ธ ๋์๊ฒ ์ผ์ด๋ ์ผ์ ๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ์์ ๋ฒ๊ทธ ๋ณด๊ณ ์์ ๋๋ค). ์ฒ์์๋ ํ์ ์ ์๊ฐ ์์์ต๋๋ค.
๊ฐ๋จํ ๋งํด์ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ํ์ผ ์ ํ๊ธฐ๊ฐ ์ด๋ฆฝ๋๋ค. ์ง์ํ์๊ฒ ์ง๋ง ๋น๋๊ธฐ์ ๋๋ค.
๋ฐ๋ผ์ ์ฌ์ฉ์๋ ๋ ๋ฒ ํด๋ฆญํ์ต๋๋ค(ํด๋ฆญ ์ฌ์ด์ ์ฝ 100ms ์ผ์ ์ค์ง). ํ์คํ, ์ด๊ฒ์ 2๊ฐ์ ํ์ผ ์ ํ๊ธฐ๋ฅผ ์ด์์ต๋๋ค.
์ด์ ๋ถ๋ช ํ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ง๋ง ์ด๊ธฐ ๊ธฐ๋ฅ์ด ๋๊ธฐ์์ด์๋ค๋ฉด ์ด๋ฐ ์ผ์ ์ ๋ ์ผ์ด๋์ง ์์ ๊ฒ์ ๋๋ค(๋ฌผ๋ก WPF์์๋ ์ ๋ ์ผ์ด๋์ง ์์ ๊ฒ์ ๋๋ค).
์ด๊ฒ์ ๋ถํธํจ์ ๋์ด์ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ์์ฒญ๋๊ฒ ๋ถํธํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฑ์ด ์์๋ ํ์๋ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์, ๋ด ์ฑ์ด ๋ค๋ฅธ "๋ชจ๋" ์๋(์: ๊ธฐ๋ณธ/๊ณ ๊ธ)์ ๊ฐ์ง๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ฌ์ฉ์๊ฐ "๋ณ๊ฒฝ ์ฌํญ์ ๋ค์ ์์ํ ํ์๋ง ๋ฐ์ํฉ๋๋ค"์ ๋ํด ๊ด์ฐฎ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๊น?
ํน์ ํฌ๊ธฐ๋ฅผ ์ ์ฉํด์ผ ํ๋ ์ฑ์ ๊ฒฝ์ฐ "๋งค์ฐ ๋ถํธ"ํ ์ ์์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ฑ์ ์์ฒด ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ํ์๊ฐ ์์ต๋๋ค. ์ฑ์ ํ์ฌ ์ฌ์ฉ์ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํ ํฌ๊ธฐ๋ฅผ ์ด๋ป๊ฒ ์ ํํด์ผ ํฉ๋๊น? ์ฌ์ฉ์๊ฐ ๋ ์๊ฒ ๋๋ ๋ ํฌ๊ฒ ๋ง๋ค ํ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ ๋จผ์ ์์์ฐจ๋ฆฝ๋๋ค. ํนํ ๊ทธ๋ ๋ค๋ฅธ ์ด๋ฆฐ ์ฐฝ๋ฌธ์ด ์ด๋์ ์๊ณ ๋ค๋ฅธ ์ฐฝ๋ฌธ์ด ๋ณด์ด์ง ์๋๋ก ์ฐจ๋จํ ์ ์๋ ๊ณต๊ฐ์ด ์ด๋์ ์๋์ง ๊ฐ์ฅ ์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ธฐ๋ณธ ๋ฐ ๊ณ ๊ธ ๋ชจ๋๊ฐ ์๋ ๊ฒฝ์ฐ ์ฑ์ด ์์ ๋ ํ์คํ ์๋ํ์ง ์์ผ๋ฉด ์ต์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ์๊ฐ์๋ ํ๋ก๊ทธ๋จ์ด ์ค์ค๋ก ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๊ธฐ ์์ํ๋ค๋ฉด ๋งค์ฐ ์ง์ฆ๋ ๊ฒ์ ๋๋ค.
ํ ์ ์์ด ์ฌ์ฉ์๊ฐ "๋ณ๊ฒฝ ์ฌํญ์ ๋ค์ ์์ํ ํ์๋ง ๋ฐ์ํฉ๋๋ค"์ ๋ํด ๊ด์ฐฎ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๊น?
ํฌ๊ธฐ ์กฐ์ ์ด ๊ทธ๋ ๊ฒ ์ค์ํ๋ค๋ฉด ์ฌ์ฉ์๊ฐ ์ง์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด "๋ณ๊ฒฝ ์ฌํญ์ ๋ค์ ์์ํ ํ์๋ง ๋ฐ์ํฉ๋๋ค"๋ ๋๋ฌธ ์ผ์ด ์๋๋ฏ๋ก ์ ์๊ฐ์๋ ๋ถ๋ถ์ ์ผ๋ก ํ์ฉ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ฌ์ฉ์๋ ๋ ๋ฒ ํด๋ฆญํ์ต๋๋ค(ํด๋ฆญ ์ฌ์ด์ ์ฝ 100ms ์ผ์ ์ค์ง). ํ์คํ, ์ด๊ฒ์ 2๊ฐ์ ํ์ผ ์ ํ๊ธฐ๋ฅผ ์ด์์ต๋๋ค.
์ ํํ ํ์ผ ์ ํ๊ธฐ๋ฅผ ๋ ๋ฒ ์ฐ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ๋ ๋ฒ ํธ๋ฆฌ๊ฑฐ๋์์ต๋๊น? ์ด๋ ๋น๋๊ธฐ๋ก ์ธํ ๋ฌธ์ ๊ฐ ์๋๋ผ ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ UI๊ฐ ํด๋น ๋ฒํผ์์ ์ถ๊ฐ ์ด๋ฒคํธ๋ฅผ ์์ ํ๋ ๊ฒ์ ์ฐจ๋จํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ฐ๋จํ ๋งํด์ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ํ์ผ ์ ํ๊ธฐ๊ฐ ์ด๋ฆฝ๋๋ค. ์ง์ํ์๊ฒ ์ง๋ง ๋น๋๊ธฐ์ ๋๋ค.
์, ์ฌ์ฉ์๊ฐ ๋๋ผ์ด๋ธ๋ฅผ ํ์ํ๊ณ ํด๋๋ฅผ ์ ํํ๋ ๋์ ์ ์ฒด ์ค๋ ๋๋ฅผ ์ฐจ๋จํ๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ ๋น๋๊ธฐ์ ๋๋ค. ์ฌ์ฉ์๊ฐ ํ์ผ/ํด๋ ์ ํ์ ๋ง์น๋ฉด ํธ์ถ์ด ์๋ฃ๋๊ณ ๊ฒฐ๊ณผ๋ก ์ ํํ ํ์ผ์ด ํ์๋ฉ๋๋ค.
์ ์๊ฐ์๋ ์ค์ ๋ก ์ผ๋ง๋ ๊ฑธ๋ฆด์ง ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์์ ์์ ์ค๋ ๋๋ฅผ ์ฐจ๋จํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ ๋๋ฌธ์ UI ์ค๋ ๋๋ฅผ ์ฐจ๋จํ๋ฉด ํ์ผ ์ ํ๊ธฐ๊ฐ ์ด๋ ค ์๋ ๋์ ์ฑ์ด ์๋ตํ์ง ์๊ฒ ๋๋ฉฐ IMO๋ ์ข์ UX๊ฐ ์๋๋๋ค.
์ ์คํ๊ฒ ๋งํ๋ฉด์ ์์ํ๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ค ๊ฒ์๋ ๋์ํ์ง ์์ ๊ฒ ์ ๋๋ค.
๋ถ๋ช ํ ๋น์ ์ ์น ๊ด์ ์์ ์๊ฐํ๊ณ ์์ผ๋ฉฐ ๋จ์ํ "๋ฐ์คํฌํฑ"์ผ๋ก ์๋ฌด๊ฒ๋ ๋ณด์ง ์์ต๋๋ค. ๋๋ ๋น์ ์ด ์๋ฏธํ๋ ๋ฐ๊ฐ ์ข๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๋ฐ์คํฌํฑ์ ๊ดํด์๋ ๋ณต์กํ ๊ฒ์ ๊ฐ๋ฐํ ๋๊น์ง "๋ฐ์คํฌํฑ"์ ์๊ฐํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ๋น์ ์ดํ์ง ์์๋ค ๋ฏฟ์ต๋๋ค.
ํน์ ํฌ๊ธฐ๋ฅผ ์ ์ฉํด์ผ ํ๋ ์ฑ์ ๊ฒฝ์ฐ "๋งค์ฐ ๋ถํธ"ํ ์ ์์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ฑ์ ์์ฒด ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ํ์๊ฐ ์์ต๋๋ค. ์ฑ์ ํ์ฌ ์ฌ์ฉ์ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํ ํฌ๊ธฐ๋ฅผ ์ด๋ป๊ฒ ์ ํํด์ผ ํฉ๋๊น? ์ฌ์ฉ์๊ฐ ๋ ์๊ฒ ๋๋ ๋ ํฌ๊ฒ ๋ง๋ค ํ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ณด๋ค
์ด๊ฑฐ ์ง์งํ๊ฒ ๋ฌป๋๊ฑฐ์ผ? ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์๋ฅผ ๋์์ผ ํ๋ ๊ฒ ์๋๋๊น? ๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์๊ฐ ์ฑ์ ํฌ๊ธฐ์ ๋ง์กฑํ์ง ์์ผ๋ฉด ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฑ์ ์ํํด์ผ ํ๋ ์์ ์ ๋ฐ๋ผ ์ด๊ฒ์ด ๋ด๊ฐ ์คํํด์ผ ํ๋ ํฌ๊ธฐ๋ผ๊ณ ๋งํ ์ ์์ด์ผ ํฉ๋๋ค. Photoshop์ ์ฌ์ฉ์์๊ฒ ํ์ํ ์ ๋ณด๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ํญ์ ์ ์ฒด ํ๋ฉด์ ์คํํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค.
๊ธฐ๋ณธ ๋ฐ ๊ณ ๊ธ ๋ชจ๋๊ฐ ์๋ ๊ฒฝ์ฐ ์ฑ์ด ์์ ๋ ํ์คํ ์๋ํ์ง ์์ผ๋ฉด ์ต์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ์๊ฐ์๋ ํ๋ก๊ทธ๋จ์ด ์ค์ค๋ก ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๊ธฐ ์์ํ๋ค๋ฉด ๋งค์ฐ ์ง์ฆ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ค์ด ๊ทธ๋ฌ๋ค๋ฉด ๋น์ ์ ๊ทธ๊ฒ์ ๋ํด ์๊ฐ์กฐ์ฐจํ์ง ์์์ต๋๋ค. ๋ง๋ฒ์ฌ๋ ๋๋๋ก ๋ ์์ ํฌ๊ธฐ๋ก ์คํ๋๊ณ ๋ง๋ฒ์ฌ๊ฐ ์๋ฃ๋๋ฉด ์ฑ์ด ์ ์ฒด ํ๋ฉด์ผ๋ก ์ ํ๋ ์ ์์ต๋๋ค.
ํ ์ ์์ด ์ฌ์ฉ์๊ฐ "๋ณ๊ฒฝ ์ฌํญ์ ๋ค์ ์์ํ ํ์๋ง ๋ฐ์ํฉ๋๋ค"์ ๋ํด ๊ด์ฐฎ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๊น?
ํฌ๊ธฐ ์กฐ์ ์ด ๊ทธ๋ ๊ฒ ์ค์ํ๋ค๋ฉด ์ฌ์ฉ์๊ฐ ์ง์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด "๋ณ๊ฒฝ ์ฌํญ์ ๋ค์ ์์ํ ํ์๋ง ๋ฐ์ํฉ๋๋ค"๋ ๋๋ฌธ ์ผ์ด ์๋๋ฏ๋ก ์ ์๊ฐ์๋ ๋ถ๋ถ์ ์ผ๋ก ํ์ฉ๋ฉ๋๋ค.
ํน์ ํฌ๊ธฐ๋ง ์ข์ ๋ณด์ด๋ ์ฐฝ์ ํ์ํ๊ธฐ ๋๋ฌธ์ ์์ ๊ฒฝํ์ด ์ข์ง ์์ต๋๋ค. Windows์์๋ "์ค, ํ์ง๋ง ์ํ๋ ๋๋ก ์ฑ์ ํ์ํ๊ฒ ์ต๋๋ค"๋ผ๊ณ ๋ง ๋งํฉ๋๋ค.
์ ํํ ํ์ผ ์ ํ๊ธฐ๋ฅผ ๋ ๋ฒ ์ฐ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ ๋ ๋ฒ ํธ๋ฆฌ๊ฑฐ๋์์ต๋๊น? ์ด๋ ๋น๋๊ธฐ๋ก ์ธํ ๋ฌธ์ ๊ฐ ์๋๋ผ ์ด๋ฒคํธ ํธ๋ค๋ฌ๊ฐ UI๊ฐ ํด๋น ๋ฒํผ์์ ์ถ๊ฐ ์ด๋ฒคํธ๋ฅผ ์์ ํ๋ ๊ฒ์ ์ฐจ๋จํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์์งํ ์ด๋ฌ๋๊ฑฐ์ผ? ์์์ ์ผ๋ก ์ํํ ์ฝ๋๊ฐ ์ด๋ป๊ฒ ์๋ ธ๋์ง ๋ณด์ฌ์ฃผ์ธ์.
์ ์๊ฐ์๋ ์ค์ ๋ก ์ผ๋ง๋ ๊ฑธ๋ฆด์ง ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์์ ์์ ์ค๋ ๋๋ฅผ ์ฐจ๋จํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ ๋๋ฌธ์ UI ์ค๋ ๋๋ฅผ ์ฐจ๋จํ๋ฉด ํ์ผ ์ ํ๊ธฐ๊ฐ ์ด๋ ค ์๋ ๋์ ์ฑ์ด ์๋ตํ์ง ์๊ฒ ๋๋ฉฐ IMO๋ ์ข์ UX๊ฐ ์๋๋๋ค.
WPF๋ ์ด๊ฒ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น? ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํฉ๋๋ค. UI๋ ์ฐจ๋จ๋์ง ์์ง๋ง ์ฑ์ ํด๋น ํธ์ถ์์ ์ฐจ๋จ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์์ ๋ด์ฉ์ WPF์์ ๋ฐ์ํ์ง ์์ต๋๋ค.
์ ์คํ๊ฒ ๋งํ๋ฉด์ ์์ํ๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ค ๊ฒ์๋ ๋์ํ์ง ์์ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ด ์ด ํ ๋ก ์ ๋ํ ๊ทํ์ ๊ฒฌํด๋ผ๋ฉด ๊ทธ๊ฒ์ ๋ํด ์ ๊ฐ์ค๋ฝ๊ฒ ์๊ฐํฉ๋๋ค.
๋ถ๋ช ํ ๋น์ ์ ์น ๊ด์ ์์ ์๊ฐํ๊ณ ์์ผ๋ฉฐ ๋จ์ํ "๋ฐ์คํฌํฑ"์ผ๋ก ์๋ฌด๊ฒ๋ ๋ณด์ง ์์ต๋๋ค. ๋๋ ๋น์ ์ด ์๋ฏธํ๋ ๋ฐ๊ฐ ์ข๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๋ฐ์คํฌํฑ์ ๊ดํด์๋ ๋ณต์กํ ๊ฒ์ ๊ฐ๋ฐํ ๋๊น์ง "๋ฐ์คํฌํฑ"์ ์๊ฐํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ๋น์ ์ดํ์ง ์์๋ค ๋ฏฟ์ต๋๋ค.
๋ ์ ํํ ์ค๋ช ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ ๋ ๊ฐ๋ฐ์๊ฐ ์๋ฌด ๊ฒ๋ ์ก์ธ์คํ ์ ์๋ ๋ฐฐ๊ฒฝ์์ ์๊ณ ๋น์ ์ ๊ฐ๋ฐ์๊ฐ ๋ชจ๋ OS ๋ฆฌ์์ค์ ์ก์ธ์คํ ์ ์๋ ๋ฐฐ๊ฒฝ์์ ์์ต๋๋ค.
๊ทธ๋ค์ด ๊ทธ๋ฌ๋ค๋ฉด ๋น์ ์ ๊ทธ๊ฒ์ ๋ํด ์๊ฐ์กฐ์ฐจํ์ง ์์์ต๋๋ค. ๋ง๋ฒ์ฌ๋ ๋๋๋ก ๋ ์์ ํฌ๊ธฐ๋ก ์คํ๋๊ณ ๋ง๋ฒ์ฌ๊ฐ ์๋ฃ๋๋ฉด ์ฑ์ด ์ ์ฒด ํ๋ฉด์ผ๋ก ์ ํ๋ ์ ์์ต๋๋ค.
์ ๋ง๋ฒ์ฌ๋ ๋ ์์ ํฌ๊ธฐ๋ก ์คํ๋์ง๋ง ๋๋ถ๋ถ์ ๋ง๋ฒ์ฌ(Visual Studio 2019 Startup "๋ง๋ฒ์ฌ" ํฌํจ)๋ ์ค์ค๋ก๋ฅผ ๋ซ์ ๋ค์ ์ค์ ํ๋ก๊ทธ๋จ์ ์์ํฉ๋๋ค. ์ค์ ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก "๋ชจํ"ํ์ง ์์ต๋๋ค.
์ผ๋ถ ๋ง๋ฒ์ฌ๋ ์ ์ฐฝ์ด ์๋๋ผ ํ์ ์ด๋ฉฐ ์ค์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ฐฑ๊ทธ๋ผ์ด๋์ ์๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
ํน์ ํฌ๊ธฐ๋ง ์ข์ ๋ณด์ด๋ ์ฐฝ์ ํ์ํ๊ธฐ ๋๋ฌธ์ ์์ ๊ฒฝํ์ด ์ข์ง ์์ต๋๋ค. Windows์์๋ "์ค, ํ์ง๋ง ์ํ๋ ๋๋ก ์ฑ์ ํ์ํ๊ฒ ์ต๋๋ค"๋ผ๊ณ ๋ง ๋งํฉ๋๋ค.
Windows๊ฐ ํญ์ ์ฝ๋๋ฅผ ๋ฌด์ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ํ๊ณ ์ธ์ ์ด๋ฅผ ๋ฌด์ํ ์ง ๋ช ํํฉ๋๋ค("PreferredLaunchViewSize" ๋ฌธ์์์ ๊ฐ์ ธ์ด).
์ด ์์ฑ์ ํ๋ธ๋ฆฟ ๋ชจ๋๊ฐ ์๋ ๋ฐ์คํฌํฑ ์ฅ์น์์ ์ฑ์ ์คํํ ๋๋ง ํจ๊ณผ๊ฐ ์์ต๋๋ค.
๋ฐ๋ผ์ ํ๋ธ๋ฆฟ์ด ์๋ ๋ชจ๋์ ๋ฐ์คํฌํฑ์์๋ง ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก ํฌ๊ธฐ๋ฅผ ์์ฒญํ๋ ๊ฒ์ด ๋ค๋ฅธ ์ฅ์น์์ ์๋ฏธ๊ฐ ์์ต๋๊น? ์ฑ์ด X-Box ๋๋ Holo Lens์์ ์คํ๋ ๊ฒ์ผ๋ก ์์ํ๊ณ ์ด๋ฌํ ์ฅ์น์ ์ต์ ํ๋์ด ์์ต๋๊น? ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์ด ์ ํ์ด ๊ทธ๋ ๊ฒ ๋ง์ด ๊ท์ฐฎ๊ฒํ์ง ์์์ผํฉ๋๋ค.
์์งํ ์ด๋ฌ๋๊ฑฐ์ผ? ์์์ ์ผ๋ก ์ํํ ์ฝ๋๊ฐ ์ด๋ป๊ฒ ์๋ ธ๋์ง ๋ณด์ฌ์ฃผ์ธ์.
์๋์, ์ ๋ ๋น์ ์ด ๊ทธ์ ๊ด๋ จ์ด ์๋ ๊ฒ์ ๋ํด "๋น๋๊ธฐ"๋ฅผ ๋น๋ํ๋ค๋ ์ฌ์ค์ ์ง์ ํ๋ ค๊ณ ํ์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฒํผ์ ๋ ๋ฒ ํด๋ฆญํ๋ฉด clicked ์ด๋ฒคํธ๊ฐ ๋ ๋ฒ ํธ๋ฆฌ๊ฑฐ๋ฉ๋๋ค.
WPF๋ ์ด๊ฒ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น? ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํฉ๋๋ค. UI๋ ์ฐจ๋จ๋์ง ์์ง๋ง ์ฑ์ ํด๋น ํธ์ถ์์ ์ฐจ๋จ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์์ ๋ด์ฉ์ WPF์์ ๋ฐ์ํ์ง ์์ต๋๋ค.
UI ์ค๋ ๋์์ ์ฝ๋๋ฅผ ์คํํ๊ณ ์๋ฃํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ WPF์์ UI ์ค๋ ๋๋ฅผ ์ฐจ๋จํ๋ ๊ฒ๋ณด๋ค ํ์คํ ํ์ ํฉ๋๋ค.
์๋ ํ์ธ์, ์ ๋ Windows OS ํ์ Windows SDK ๋ฐ Windows ๋ฐํ์ ์ธํ๋ผ์ ๊ฐ๋ฐ ์ฑ ์์์ ๋๋ค.
์ด๊ฒ์ ๋ง์ ์ธ๋ถ ์ฌํญ๊ณผ ๋ํ๊ฐ ํฌํจ๋ ํ๋ฅญํ ํ ๋ก ์ ๋๋ค. ๋ฉฐ์น ์ ์ ๋๊ตฐ๊ฐ๊ฐ ์ด ๋ํ๋ฅผ ๊ฐ์ ธ์๊ณ , ์ ๋ ๊ทธ๊ฒ์ ๋๊น์ง ์ฝ๊ณ ์ถ์ง๋ง, ์ ๊ฐ ๊ทธ๊ฒ์ ๋๋ฌํ๊ธฐ๊น์ง ์ฌ์ ํ ๋ฉฐ์น ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ์ ์ฒด๋ฅผ ์ฝ๊ณ ๋ ์์ธํ ๋ต๋ณ์ ์ ๊ณตํ๊ฑฐ๋ ์ต์ ์ ๋คํด ํ์ ์กฐ์น๋ฅผ ์ทจํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ์๋ง๋ winrt ์ผ๋ฐ ๋ฌธ์ ์ ๊ฐ์ฅ ์ ํฉํ ์ฅ์๊ฐ ์๋ ๊ฒ์ ๋๋ค. Microsoft ๊ฐ๋ฐ์ ํฌ๋ผ์์ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ฑฐ๋ ํนํ Windows ๋ฐํ์ ๋ฌธ์ ์ ๊ฒฝ์ฐ https://github.com/microsoft/xlang ์์ ๋ฌธ์ ๋ฅผ ์ด โโ์ ์์ต๋๋ค
ํ๋ฐํ ํ ๋ก ์ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ด ๋ฌธ์ ์ ๋ํด์๋ ๊ณง ๋ค์ ๊ฒ์ํ๊ฒ ์ต๋๋ค.
๋ฒค ์ฟค
๋ง์ดํฌ๋ก์ํํธ
์๋ ๋ฒค,
์๋ ํ์ธ์, ์ ๋ Windows OS ํ์ Windows SDK ๋ฐ Windows ๋ฐํ์ ์ธํ๋ผ์ ๊ฐ๋ฐ ์ฑ ์์์ ๋๋ค.
์ด๊ฒ์ ๋ง์ ์ธ๋ถ ์ฌํญ๊ณผ ๋ํ๊ฐ ํฌํจ๋ ํ๋ฅญํ ํ ๋ก ์ ๋๋ค. ๋ฉฐ์น ์ ์ ๋๊ตฐ๊ฐ๊ฐ ์ด ๋ํ๋ฅผ ๊ฐ์ ธ์๊ณ , ์ ๋ ๊ทธ๊ฒ์ ๋๊น์ง ์ฝ๊ณ ์ถ์ง๋ง, ์ ๊ฐ ๊ทธ๊ฒ์ ๋๋ฌํ๊ธฐ๊น์ง ์ฌ์ ํ ๋ฉฐ์น ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ์ ์ฒด๋ฅผ ์ฝ๊ณ ๋ ์์ธํ ๋ต๋ณ์ ์ ๊ณตํ๊ฑฐ๋ ์ต์ ์ ๋คํด ํ์ ์กฐ์น๋ฅผ ์ทจํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
๊ต์ฅํฉ๋๋ค - ๊ทํ์ ํ์ ์ ๊ธฐ๋ค๋ฆฌ์ญ์์ค!
์ ๋ ์๋ ํฌ์คํฐ์ด๊ธฐ ๋๋ฌธ์ ์ง๋ฌธ์ด ์๊ฑฐ๋ ๋ช ํํ์ง ์์ ์ ์ด ์์ผ๋ฉด ์๋ ค์ฃผ์๋ฉด ์ต์ ์ ๋คํด ์ค๋ช ํ๊ฒ ์ต๋๋ค.
์ด๊ฒ์ ์๋ง๋ winrt ์ผ๋ฐ ๋ฌธ์ ์ ๊ฐ์ฅ ์ ํฉํ ์ฅ์๊ฐ ์๋ ๊ฒ์ ๋๋ค. Microsoft ๊ฐ๋ฐ์ ํฌ๋ผ์์ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ฑฐ๋ ํนํ Windows ๋ฐํ์ ๋ฌธ์ ์ ๊ฒฝ์ฐ https://github.com/microsoft/xlang ์์ ๋ฌธ์ ๋ฅผ ์ด โโ์ ์์ต๋๋ค
๊ทธ๊ฒ์ด ์ต๊ณ ์ ์ฅ์๊ฐ ์๋๋ผ๋ ๋ฐ ๋์ํ์ง๋ง ๋ฌธ์ ๋ ์ฌ๋๋ค์ด ์ด๋์ ๊ฒ์ํ ์ง ๋ชจ๋ฅธ๋ค๋ ๊ฒ์ ๋๋ค.
https://github.com/microsoft/xlang ์ ๊ฒ์ํด์ผ ํ๋ค๊ณ ํ๋ฉด ์ง๊ธ๋ถํฐ ๊ฑฐ๊ธฐ์ ๊ฒ์ํ๊ฒ ์ต๋๋ค.
์ต์์,
๋จ์
๋จผ์ ๋ค๋ฃจ์ง ์์ ๋ช ๊ฐ์ง ์ฌํญ์ ์ง๊ณ ๋์ด๊ฐ๊ฒ ์ต๋๋ค.
โข ์ค๋ ๋ ํ๋จ ๋ถ๊ทผ์์ Windowing, ์ฐฝ ์์น ๋ฑ์ ๋ํด ๋ง์ ํ ๋ก ์ด ์์ต๋๋ค. ๊ทธ๊ฒ์ ์๋ง๋ ์ฌ์ ํ WinUI์ ์ฃผ์ ์์ ์กฐ๊ธ ๋ฒ์ด๋ ์์ง๋ง ์ง์ ๋ ๊ฐ๊น์ต๋๋ค. WinUI ์ฌ๋๋ค์ด ์ฐฝ ์์น, ์ ์ฒด ํ๋ฉด ๋ฑ์ ๋ํ ํผ๋๋ฐฑ์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ๋ฆฌ๋๋ ์ ์ ๋๋๋ก ํ๊ณ ์ถ์ต๋๋ค. @StephenLPeters , ์ด๊ฒ์ ๋์์ค ์ ์์ต๋๊น?
โข ๋๋ VS ํผ๋๋ฐฑ์ ๊ฑด๋๋ฆฌ์ง ์์ ๊ฒ์ ๋๋ค. VS ํ์ง ๋ฐ ์ฑ๋ฅ์ ๋ํด ๋ ผ์ํ ์ ์๋ ๊ฑด๊ฐํ ํฌ๋ผ์ด ์์ต๋๋ค. Visual Studio์์ Windows ์ฑ์ ๊ฐ๋ฐํ๋ ์ด์ผ๊ธฐ๊ฐ ์ข ๋ ๋ณต์กํด์ง๊ณ ํผ๋์ค๋ฌ์์ก๋ค๋ ๋ ผ์์ ์ฃผ๋ชฉํ์ต๋๋ค.
โข WPF. ๋๋ WPF์ ์ฌ๋์ ์ฆ์ค ๊ด๊ณ๊ฐ ์์ต๋๋ค. ์ ์ฉํ๊ณ ๋๋ถ๋ถ ์ข์ต๋๋ค. ํ์ผ ์ ํ๊ธฐ์์ ์ค์ฒฉ๋ ํด๋ฆญ์ ๋ํ ์ค๋ช ์ ์ฝ์์ ๋ ๋๋ ์์์ต๋๋ค. WPF์๋ ์ ๋ง ๊ณจ์น ์ํ ๋ฌธ์ ๊ฐ ๋ช ๊ฐ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. WPF์์ ๋๋๊ทธํ ๋ ๋๋๊ทธ ๋ฉ์์ง๊ฐ ์ค์ฒฉ๋ ๋ฉ์์ง์์ ์ด์ค ์ ๋ฌ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฏ๋ก ์ค์ ๋ก ๋ชจ๋ฌ ๋๋๊ทธ ๋ด์์ ๋ชจ๋ฌ ๋๋๊ทธ๋ฅผ ์ํํ๊ณ ์์ต๋๋ค. ๋น์ ์ ๋ณดํต ๋์น ์ฑ์ง ๋ชปํฉ๋๋ค. ๋๊ฐ. ๊ทธ๋ฌ๋ ๋๋ ์ฌ์ ํ WPF๋ฅผ ์ข์ํฉ๋๋ค. ๐
๋์งธ, @verelpode : ์ ๋ฅผ ์๊ฒ ๋ง๋ค์์ต๋๋ค. ๋ด๊ฐ ์ด๊ฒ์ ๋งค๋ฌ๋ฆฌ๋ฉด ๊ด์ฐฎ์ต๋๊น?
"์ง์ ์ ์ธ ์ง์ค์ ๋ค๋ฃจ์ง ๋ชปํ์ค ๊ฒ ๊ฐ์์ ๋ํผํ ์์ฅ๊ฐ์ ๋ผ๊ณ ๋ฝ๋ฝ์ด๋ก ์ธ์ ๋ณด๋ด๋๋ฆฝ๋๋ค"
์, ์ด์ ์ค์ ์ฃผ์ ๋ก ๋์ด๊ฐ๋๋ค.
Windows ๋ฐํ์์ ์ค์ ๋ก ๋ ๊ฐ์ง๊ฐ ํ๋๋ก ํตํฉ๋๊ณ ๋ค๋ฅธ ๊ฒ์ผ๋ก ์์ถ๋์ด ์ค์ ๋ก ์คํด๋๊ณ ์์ต๋๋ค.
Windows ๋ฐํ์ ์ ํ ์์คํ ์ ์ค์ ๋ก ์ด๋ค ์๋ฏธ์์๋ COM V2์ ๋๋ค. ์ธํฐ๋ฝํธ ํธ๋ฆฌ๊ฑฐ์์ Win32 ํธ์ถ, COM API ํธ์ถ์ ์ด๋ฅด๋ ์งํ์ ์์ ๋ค์ ๋จ๊ณ์ ๋๋ค. ์ ํ ์์คํ ์ COM์์ ์ด๋ค ๋ฉด์์ ํํ๋ ฅ์ด ์ฝ๊ฐ ๋จ์ด์ง์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์๋นํ ์์ ์งํฉ์ ๋๋ค. ์๋ ์ ํํ ํ๋์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ค๊ณ๋์์ต๋๋ค. VS๊ฐ .NET ํ๋ ์์ํฌ์์ ๋ฉ์ง ๋ํผ๋ฅผ ๋ง๋ค ๋๊น์ง ๊ธฐ๋ค๋ฆด ํ์ ์์ด .NET ๋๋ ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๊ฐ WinRT API๋ฅผ ๋ ์ฝ๊ฒ ํธ์ถํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ทธ๋ฐ ๋ค์ API ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ํ๋ฅญํ ์ผ์ ํ๊ณ ๋ช ๊ฐ์ง ์ด๋ฆฌ์์ ์ผ์ ํ์ต๋๋ค. ๋น๋๊ธฐ ํญ๋ชฉ ์ค ์ผ๋ถ์ ์ฝ๊ฐ ๋น ์ ธ ๋ค์์ ์ ์์ต๋๋ค. C++ /WinRT๋ก ํ๋ก๊ทธ๋๋ฐํ๋ฉด ์ด๋ฅผ ํฌ๊ฒ ์ํํ ์ ์์ต๋๋ค. UI ์ค๋ ๋์ ์์ง ์์ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ๋ง ํ๋ฉด ๋๊ธฐํ๋์ด ์ฐจ๋จ๋๊ณ ์๋ฃ๋ฉ๋๋ค. .NET์ ์ฌ์ฉํ๋ฉด ์ด์ ์ด ์์ ์ด ๋ ์ฌ์์ง ์๋ ์์ง๋ง ์์ฆ์๋ .NET ์ฝ๋๋ฅผ ๋ ์์ฑํ๊ณ ์์ผ๋ฉฐ ํ์ฌ ์ํฉ์ ๋ํด ํ์ ์ด ์์ต๋๋ค. ๊ณํ๋๋ก ์๋ํ์ง ์๋ ๋ช ๊ฐ์ง ๋ค๋ฅธ ์์ ๋ ์ํํ์ต๋๋ค. ๋๋ ๊ทธ๊ฒ๋ค์ ๋ชจ๋ ๋์ดํ์ง ์์ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๋ช ๊ฐ์ง ๊ฐ์ ์ฌํญ์ด ์์ต๋๋ค.
UWP ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋ธ์ ๋ ๋ฐ๋ก winrt์ ๋ฐ์ด๋ค์์ต๋๋ค. ์ฆ, OS API๋ฅผ ํ ๋ฒ๋ง ์์ฑํ๋ฉด JS ๊ธฐ๋ฐ ์ฑ, .NET ์ฑ ๋ฐ ๊ธฐ๋ณธ ์ฑ์์ ์ฝ๊ฒ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๊ทธ ์์ฒด๊ฐ ์ ํจ์ด์๋ค. ๋ค๋ฅธ ๋ชจ๋ Win32 API๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ ์ข์ง ์์์ต๋๋ค. ์์ง ๋ฌธ์ ์์ ์ด ๋ช ๊ฐ์ง ๋จ์ ์์ง๋ง ์ง๊ธ์ ์คํ ์ด ์ฑ์์ ์ฌ์ฉํ ์ ์๋ ํจ์ฌ ๋ ๊ณ ์ ์ ์ธ Win32 API๊ฐ ์์ต๋๋ค. ๊ฐ๋จํ ๋งํด์, ์ฐ๋ฆฌ๋ ์๋ก์ด ์ฅ์น์ ๋ํ ์๊ท๋ชจ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์์ ํ ์๋ก์ด ์ฑ ํ๋ซํผ์ ๋ง๋ค์์ผ๋ฉฐ ๊ธฐ์กด ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ํ์ฉํ์ง ์์์ผ๋ฉฐ ๋ง์ ์ฌ๋๋ค์ด ๋ํ๋์ง ์์์ต๋๋ค. ์ฐ๋ฆฐ ์์. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์กฐ๊ธ์ฉ ์์ ํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ง์ ๊ฒ์ ์ป์๊ณ , ๋ ์ธ๊ณ์ ์ต์ ์ ์ ๊ทผ ๋ฐฉ์์ ํฅํด ์ฒ์ฒํ ๊ทธ๋ฌ๋ ๊พธ์คํ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์ ์ธ์ ์ค์น ์์คํ ์ ๋๋ถ๋ถ์ ๋ฉด์์ ํ๋ฅญํ ๊ฒ์ ๋๋ค.
UWP ์ฑ๊ณผ ๋ฐ์คํฌํฑ ์ฑ ๊ฐ์ ์ฝ๋ ์ด์์ฑ๋ ์ด ์ค๋ ๋์์ ๋ค๋ฃจ์์ต๋๋ค. UWP ๋ชจ๋ธ์ด ๋๋ฌด ๋ค์ํ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๊ฐ์ง ๊ณ ์ถฉ์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์ต๋๋ค. ์ผ๋ถ๋ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ฑฐ๋ "์ฃผ์ ํด์"์ด ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๋ CRT DLL์ ๋ํด ๋ค๋ฅธ ์ด๋ฆ์ ์ฌ์ฉํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ํ์ฑ ์ธ VC ํฌ์๋ ํจํค์ง๋ฅผ ๊ตฌ์ฑํ์ง๋ง ์ค์ ์์ ์ ๊ฒฐ๊ตญ ํ์ผ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ณธ์ง์ ์ผ๋ก ํ์ํ CRT์ ํฅํ ๋ฒ์ ์์ ๊ตฌ๋ถ์ ์ ๊ฑฐํ๋ ๊ฒ์ ๋๋ค. ๋ฐฉํด๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์ด ์์ ์ ๋๋ฌผ๊ฒ ์ํํฉ๋๋ค.
WinRT ์์ฒด๋ ํด๋ง ์คํ ์์ค๋ฅผ ์ ์ ๋ ๋ง์ด ์ฎ๊ธฐ๊ณ ์์ผ๋ฉฐ ์ ์๋ ค์ ธ ์์ง๋ ์์ง๋ง ๋๋ถ๋ถ์ WinRT๋ ๋ฐ์คํฌํฑ ์ฑ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. XAML์ ํฐ ๊ฒฉ์ฐจ์์ต๋๋ค. XAML Islands๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ ๋จ๊ณ์์ง๋ง ์ ๋ WinUI๊ฐ ํจ์ฌ ๋ ๊ธฐ๋๋ฉ๋๋ค.
์ด ์ค ๋ง์ ๊ฒฝ์ฐ ์ด๊ฒ์ด ๊ทํ์ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ ํผ๋๋ฐฑ์ ์ ์ถํ๋๋ก ์์ฒญํ๊ฒ ์ต๋๋ค. ๋ฌธ์ ๋ฅผ ์ฌ๋ฐ๋ฅธ ํ์ผ๋ก ํ๋ณดํ๋ ๋ฐ ๋์์ ๋๋ฆฌ๊ฒ ์ต๋๋ค. Windows์ ๋ค๋ฅธ ํ์ ๊ฐ๊ฐ ๊ณ ์ ํ API๋ฅผ ๋ด๋นํ๋ฉฐ ํผ๋๋ฐฑ ํ๋ธ์ ์ ์ถํ๋ ๊ฒ์ด ๊ฐ์ฅ ํจ๊ณผ์ ์ ๋๋ค. ์ด๊ฒ์ ํผ๋๋ฐฑ์ ์ค์ ์ธ๊ฐ ๋ฐ ์ด์ผ๊ธฐ์ ์ฐ๊ฒฐํฉ๋๋ค. ๋ํ ํผ๋๋ฐฑ์ ์ถ์ ํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ ์ ํ๊ฒ ์ ์ถํ๋ ํผ๋๋ฐฑ์ ์ถ๊ฐํ์ฌ ์๋ก๋ฅผ ์กฐ๊ธ ๋์ธ ์ ์์ต๋๋ค. ์ ์ ํ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ ํํ์ญ์์ค. ๋ช ํํ์ง ์์ ๊ฒฝ์ฐ "๊ฐ๋ฐ์ ํผ๋๋ฐฑ" -> API ํผ๋๋ฐฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
https://docs.microsoft.com/answers/questions/608/Please-either-allow-systemio-all-over-hdd-or-dast.html
์ฐ๋ฆฌ๋ ๊ณ ๊ฐ๊ณผ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ๋ ์ฐ๋ฆฌ ํ ๋ชจ๋๋ก๋ถํฐ ์ด ํผ๋๋ฐฑ์ ๋ค์์ต๋๋ค. ์ด ์๊ฐ์ ๋๋ ์ ์๋ ๊ฒ์ด ๋ ๋ง์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ํ์ฌ๋ก์๋ ๋ถํํ๋ "์ฐ๋ฆฌ๋ ์๊ณ ์์ต๋๋ค"๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค.
https://docs.microsoft.com/answers/questions/6483/is-uwp-the-right-development-tool-for-my-project.html
ํผ๋๋ฐฑ ํ๋ธ ํญ๋ชฉ์ ์ ์ถํ๊ณ ๋งํฌ๋ฅผ ๋ณด๋ด์ฃผ์ธ์. ๊ฐ์ธ์ ์ผ๋ก ํ๋ณดํด์ ์ ๋๋ก ๋ ์ฃผ์ธ์๊ฒ ๊ฑด๋ค๊ฒ ์ต๋๋ค. 80% ๊ฐ์์จ์ ์ข์ง ์์ต๋๋ค. ์ฌ์ฉ์๋ค์๊ฒ๋ ์ ์ ํธ๋ผ๋ ์ ์ ์ดํดํฉ๋๋ค. IF, ํ์ผ API๊ฐ ์ถฉ๋ถํ ๋น ๋ฅด๋ฉด ํฅํ ์ก์ธ์ค ๋ชฉ๋ก์ด ์ต์ํ์ ๊ณ ํต์ ์ํํ ๊ฒ ๊ฐ์ง๋ง ์ง๊ธ์ฒ๋ผ '๋งค๋๋ฝ์ง' ์์ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋, ๋น์ ์ ๋ฐ์์ ์ด๋ ค์ด ์ฅ์ ์ฌ์ด์ ์์ต๋๋ค. ๋น์ ์ด ์ง๊ธ ํ๊ณ ์๋ ๋ฐฉ์์ด ๋ง๋ฒ์ฒ๋ผ ๋๊ธฐ ์ํด์๋ ์ฌ์ฉ์๊ฐ ๋ชจ๋ ๊ฒ์ ๋ณผ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค. ๊ทธ๋ค์ ๋น๋ฐ๋ฒํธ ์คํ๋ ๋์ํธ, ๊ทธ๋ค์ ๋ฉ์ผ ํด๋, ๊ทธ๋ค์ ๋ธ๋ผ์ฐ์ ์บ์ ๋ฑ. ๋น์ ์ ์ ๋ขฐํ ์ ์์ง๋ง, ๋น์ ์ ์ฑ์ ์ฌ์ฉ์๋ค์ด ๊ทธ๋ค์ ์ธ๊ณ๋ฅผ ๋๊ฒจ์ฃผ๊ธฐ ์ ์ ์ ์ ๋ฉ์ถ๊ณ ๊ทธ๋ค์ด ๋น์ ์ ์ผ๋ง๋ ์ ๋ขฐํ๋์ง ์๊ฐํ๊ฒ ํด์ผ ํฉ๋๋ค.
์ฑ์ ๋ซ๊ณ ๋ค์ ์์ํ๋ ์์ด๋์ด๊ฐ ์ด์ํ ๋จ๊ณ๋ผ๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ์ด๊ฒ์ ์ ์ด๋ ์ฒซ ์ถ์์์ ๋ถ๋ฅ๋์ด์ผ ํ๋ ์ ํ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ํผ๋๋ฐฑ ํญ๋ชฉ์ ๋ณ๋๋ก ์ ์ถํด ์ฃผ์ธ์. ๊ฐ์ ์ ์. ํ๋ณด ๋ฐ ์ ๋ฌํ๊ฒ ์ต๋๋ค.
ํฅํ ์ก์ธ์ค ๋ชฉ๋ก์ด ํ์ ํด๋์ ์ก์ธ์คํ ์ ์๋์ง ์ฌ๋ถ์ ๊ด๋ จํ์ฌ ํ์ด์ง์ ๋ํ ๋ฌธ์ ๋ฌธ์ ๋ฅผ ๋ง๋ค์์ต๋๋ค. https://github.com/MicrosoftDocs/windows-uwp/issues/2322. ๋ฌธ์ ํ์ด์ง๊ฐ github์ ์์ผ๋ฏ๋ก ๋ฌธ์์ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ฑฐ๋ ๋ด์ฉ์ ๋ํ ๋ณ๊ฒฝ์ ์ ์ํ ์๋ ์์ต๋๋ค.
ํ์ผ์ ์ฑ์ผ๋ก ๋๋๊ทธํ๋ฉด ์ฐ๊ธฐ ์ก์ธ์ค๊ฐ ํ์ฉ๋์ง ์์ต๋๋ค. ํผ๋๋ฐฑ ํ๋ธ์ ๋ํ ๋์ผํ ์ ์์ ๋๋ค. ์ ์ถํด ์ฃผ์๋ฉด ๊ทธ์ ๋ฐ๋ผ ์๋ดํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ์ ์ป์ ๊ฒฐ๋ก ์ ๋ฌธ์ ์ ๋๋ถ๋ถ์ด ๋ฌธ์ ๋ฌธ์ ์ด์ง๋ง ๋ ๋ค๋ฅธ ์ฃผ์ ์ธก๋ฉด์ ๋ค๋ฃฌ๋ค๋ ๊ฒ์ ๋๋ค. ์ผ๋ถ ๋๊ตฌ๊ฐ github ํ๋ก์ ํธ ๋ฐ ์คํ ์์ค๋ก ์ด๋ํจ์ ๋ฐ๋ผ ์ค๋ช ์๋ ํจ๊ป ์ด๋ํ์ผ๋ฉฐ, ์ด๋ก ์ธํด Windows ์ค๋ช ์๋ฅผ ๋ชจ๋ ๊ฒ์ ์์คํฑ์ผ๋ก ์ฌ์ฉํ๊ธฐ๊ฐ ๋ ์ด๋ ค์์ก์ต๋๋ค. .appinstaller ํ์ผ๊ณผ ๊ด๋ จ๋ ํน์ ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ๋ด๋ถ์ ์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ณ ๋ ๋์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์ฝํ ์ธ ํ๊ณผ ๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ๋ ผ์ํ๊ฒ ์ต๋๋ค.
๋ํ ๋๋ฒ๊ทธ๋ฅผ ์ํด ์๋ฒ๋ฅผ ํตํด ๋ผ์ฐํ ํด์ผ ํ๋ ํน์ ๋ฌธ์ ์ ๋ํด์๋ ์ธ๊ธํ์ต๋๋ค. ๊ธฐ์กด github ํ๋ก์ ํธ์ ๋ํ ๋ฌธ์ ๋ก ์ ์ถํด์ผ ํฉ๋๋ค.
์ด๊ฒ์ ์ ์ง์์ ์กฐ๊ธ ๋ ๊ฐ๊น์ต๋๋ค(์ ํฐ ํ์์๋ ์์ฉ ํ๋ก๊ทธ๋จ ์ค์น ์ธก๋ฉด์ ์ฒ๋ฆฌํฉ๋๋ค. ์ ๋ ์ฌ์ ํ ์ ๊ฐ ์์ ํ ์ ์๋ ํผ๋๋ฐฑ ํ๋ธ ๋ฌธ์ ์ ๊ฐ์ฌํ๊ณ ์์ต๋๋ค.
ํ์ ์ด๋ฆ์ ์ค๋ฒ๋ก๋ํ ์ ์๋ ๊ฒ์ ์๋์ ์ผ๋ก ์ค๊ณ๋ ๊ฒ์ ๋๋ค. javscript(Node / V8์ ์ด๋ป์ต๋๊น? ํฅ๋ฏธ๋กญ์ง ์์๊น์?) ์ฑ์ด WinRT API์ ์ก์ธ์คํ๋ ๋ฐฉ๋ฒ์ ๋ค์ ์๊ฐํ ๋๊น์ง ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๋ค์ ์ดํด๋ณผ ์ค๋น๊ฐ ๋์ง ์์ ๊ฒ์ ๋๋ค. ์์ฑ ๋ฐ NaN์ ๋ํ ๋ค๋ฅธ ๋ฌธ์ ๋ ์ข์ ๋ ผ์๊ฐ ์๋ ๋ณ๋์ ๋ฌธ์ ์ ์์ผ๋ฏ๋ก ์ด ๋ต๋ณ์์ ์์ธํ ๋ค๋ฃจ์ง ์๊ฒ ์ต๋๋ค.
๋ค, +1ํ๊ฒ ์ต๋๋ค. ํ์ผ์ ์ ์ถํ์ธ์. ํผ๋๋ฐฑ ํ๋ธ์ ๋ํ ์ฑ ์๋ ํผ๋๋ฐฑ ํ๋ธ์ ๋ฒ์ฃผ๊ฐ ์์ต๋๋ค. ๋๋ฌด ๋ฉํ์ ๋๋ค.
๋ค. ์ด๋ ๋ด๋ถ์ ์ผ๋ก๋ ๋ ผ๋์ ์ฌ์ง๊ฐ ์๋ ๋ถ๋ถ์ด๋ค. ์ ๋ชจ์ ์ข์ ํ๋์ ์ฅ๋ คํ๋ ๊ฒ ์ฌ์ด์๋ ์์ง ์ ๋ง์ง ์์ ๊ท ํ์ด ์์ต๋๋ค. ๋๊ธฐ์์ผ๋ก ๋ณด๊ณ ์ถ์ ํน์ API์ ๋ํ ํผ๋๋ฐฑ์ ๊ณ์ ์ ์ถํ์ญ์์ค.
์ ๋ ์ค๋์ค ์ ๋ฌธ๊ฐ๊ฐ ์๋๋๋ค. ํผ๋๋ฐฑ ํ๋ธ์ ์์ ๋กญ๊ฒ ํ์ผ์ ์ ์ถํ ์ ์์ง๋ง ์ฌ๊ธฐ์์ ๊ตฌ๋ช ์ค์ ์ ํ๋ฅผ ๊ฑธ์ด ๋ช ๊ฐ์ง ๋ฌผ์ด๋ณผ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์ Mae Culpa๋ก ์์ํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ์ ํด๋ฆฝ๋ณด๋ ์ก์ธ์ค ๋ชจ๋ธ์ ์ฌ์ฉ์๋ฅผ ์ฒ ์ ํ ๋ณดํธํ๋ Win8 ์๋์ ์ค๊ณ๋์์ต๋๋ค. ๋๋ถ๋ถ ์ฝ๋ฉํ์ต๋๋ค. ํด๋ฆฝ๋ณด๋๋ฅผ ๋ณดํธํด์ผ ํ๋ ์ด์ ๊ฐ ์์ต๋๋ค. ์ฌ์ฉ์๋ ๋ชจ๋ ์ข ๋ฅ์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ํด๋ฆฝ๋ณด๋์ ์ ์ฅํ์ง๋ง ํด๋ฆฝ๋ณด๋๋ฅผ ๋ฎ์ด์ธ ์ ์๋ ์ฑ์ ๋ ๋ง์ ์ก์ธ์ค ๊ถํ์ด ์์ ์ ์๋ ๋ค๋ฅธ ์ฑ์ ์ฝ์ ์ ์ ์ฉํ์ฌ ํด๋ฅผ ๋ผ์น ์ ์์ต๋๋ค. Win32 ํด๋ฆฝ๋ณด๋ API๋ ๋ํ ๋จ์ฉ๋ ์ ์๋ ๋ช ๊ฐ์ง ๋งค์ฐ ๊ฐ๋ ฅํ ๋์์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ๋ฐ๋ผ์ ํด๋ฆฝ๋ณด๋๋ ์ฑ์ด ํฌ๊ทธ๋ผ์ด๋์ ์๊ฑฐ๋ ๋๋ฒ๊ฑฐ์ ์ฐ๊ฒฐ๋์ด ์์ง ์๋ ํ ์ก์ธ์ค๋ฅผ ์ ํํ๊ณ ํด๋ฆฝ๋ณด๋์ ๋ฃ์ ์ ์๋ ํญ๋ชฉ์ ์ฝ๊ฐ ๊ฐํํฉ๋๋ค(์ค์ ๋ก ์๋ํ์ง ์๋ ํ ๊ฒฐ์ฝ ์์์ฐจ๋ฆฌ์ง ๋ชปํ๋ ๋ฐฉ์์ผ๋ก).
์ฆ, ์ํธ ์์ฉํ๋ ์๋ฆผ์ ํด๋ฆฝ๋ณด๋ ์ก์ธ์ค๋ฅผ ํ์ฉํด์ผ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๊ฒ์ Windows์ ์ ๊ฒฝ์ด ๊ณ์ฐ๋๋ ๋ฐฉ์ ๋๋ฌธ์ ํน๋ณํ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ์ง๋ง ํฉ๋ฆฌ์ ์ด์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. API ํผ๋๋ฐฑ์ผ๋ก ์ ์ถํด ์ฃผ์๋ฉด ํด๋น ๋ฌธ์ ๋ฅผ ๋ฒ๊ทธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ํ๋ณดํ๊ฒ ์ต๋๋ค.
๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ค๋ ๋๋ฅผ ์ถ์ ํ๊ณ ์์ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๋ฉด ์ธ๊ธํ ๋๋ก ํ์ ์กฐ์น๋ฅผ ์ทจํ๊ฒ ์ต๋๋ค.
์ด๋ฏธ ๋ง์ ๊ฒ์ ์์ ๋ฃ์ WinUI ํ์ ๋ํ ์กด๊ฒฝ์ ํ์๋ก ์ด ์ค๋ ๋๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ณ ์ด ์ค๋ ๋์์ ์ ๊ธฐ๋ WinUI ๋ฐ Windowing ์ธก๋ฉด์๋ง ์ง์คํ์ญ์์ค. ์ด ๋ฌธ์ ๋ ๋๋ฌด ๊ธธ๊ณ ๊ตฌ๋ถ๊ตฌ๋ถํ๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ์์ ๋ฌธ์ ๋ก ๋ถ๋ฅํ๋ ๊ฒ์ด ๋์์ด ๋ ์ ์์ต๋๋ค. ์ฌ๋ฌ๋ถ ๋ชจ๋๊ฐ ํผ๋๋ฐฑ์ ์ ์ถํ๊ณ ๋งํฌ๊ฐ ํฌํจ๋ ์๊ฒฌ์ ์ ์ถํ ์ ์๋๋ก ์ด ์ค๋ ๋๋ฅผ ๋ฉฐ์น ๋์ ์ด์ด ๋ ๋ค์ ์ด ์ค๋ ๋๋ฅผ ๋ซ๊ฒ ์ต๋๋ค.
WinRT ์ ํ ์์คํ ํ ๋ก ์ ๋ํด ๋ ์์ธํ ์์๋ณด๋ ค๋ฉด xlang ํ๋ก์ ํธ๋ฅผ ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํน์ Windows API ๋์์ ๊ฒฝ์ฐ ํผ๋๋ฐฑ ํ๋ธ๊ฐ ๋ ๋์ ์ ํ์ ๋๋ค. ์ง๊ธ์ ๋๊ธ ์์คํ ๋ ์์ผ๋ฏ๋ก ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค.
๋ง์ ์ฃผ์ ์ ๋ํ ํ๋ฅญํ ํ ๋ก ๊ณผ ์์ธํ ํผ๋๋ฐฑ์ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋ฒค ์ฟค
๋ง์ดํฌ๋ก์ํํธ
์ฌ์ฉ์๊ฐ ์ฑ์ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ํญ๋ชฉ์ ์ ํํ ์ ์๋ ํ์ผ ์ ํ๊ธฐ๋ฅผ ํ์ํ ๊ฒฝ์ฐ ์ฑ์ด ๋ซํ์ง ์์ต๋๋ค.
์ด๊ฒ์ด ์ฌ์ฉ์๋ก์ ์ผ๋ง๋ ์ค์ํ์ง ์๋ฌด๋ฆฌ ๊ฐ์กฐํด๋ ์ง๋์น์ง ์์ต๋๋ค. ๋ชจ๋ ์ฑ์ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๊ณ ์ถ์ง๋ ์์ง๋ง ์ด์ํ ์์น๋ฅผ ์์ฒญํ๋ฉด _๊ทธ๊ฒ์ด ๋ง์ด ๋๋_ ๊ฒฝ์ฐ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๊ฒ ์ต๋๋ค.
@BenJKuhn ์์ธํ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. ๋๋จํ ๊ฐ์ฌํฉ๋๋ค!
โข WPF. ๋๋ WPF์ ์ฌ๋์ ์ฆ์ค ๊ด๊ณ๊ฐ ์์ต๋๋ค. ์ ์ฉํ๊ณ ๋๋ถ๋ถ ์ข์ต๋๋ค. ํ์ผ ์ ํ๊ธฐ์์ ์ค์ฒฉ๋ ํด๋ฆญ์ ๋ํ ์ค๋ช ์ ์ฝ์์ ๋ ๋๋ ์์์ต๋๋ค. WPF์๋ ์ ๋ง ๊ณจ์น ์ํ ๋ฌธ์ ๊ฐ ๋ช ๊ฐ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. WPF์์ ๋๋๊ทธํ ๋ ๋๋๊ทธ ๋ฉ์์ง๊ฐ ์ค์ฒฉ๋ ๋ฉ์์ง์์ ์ด์ค ์ ๋ฌ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฏ๋ก ์ค์ ๋ก ๋ชจ๋ฌ ๋๋๊ทธ ๋ด์์ ๋ชจ๋ฌ ๋๋๊ทธ๋ฅผ ์ํํ๊ณ ์์ต๋๋ค. ๋น์ ์ ๋ณดํต ๋์น ์ฑ์ง ๋ชปํฉ๋๋ค. ๋๊ฐ. ๊ทธ๋ฌ๋ ๋๋ ์ฌ์ ํ WPF๋ฅผ ์ข์ํฉ๋๋ค. ๐
์ ์ ์ผ๋ก ๋์ํฉ๋๋ค. ์ ๋ WPF๋ฅผ ์นํธํ๋ ์ฌ๋์ด ์๋๋๋ค. ์ ๋ ์ค๋์ ์ WPF์ ํ๊ณ์ ๋ถ๋ชํ์ต๋๋ค. ๊ทธ๊ฒ์ด ๋ด๊ฐ UWP๋ก ์ด์ฌํ ์ด์ ์ ๋๋ค. ์์ ์ฑ ์ธก๋ฉด์์ WPF๋ ํจ์ฌ ๋ ์์ ์ ์ ๋๋ค.
WinRT vs. UWP vs. .NET โ ์ฝ๊ฐ์ ๋ฐฐ๊ฒฝ ์ง์
๊ทธ๋ฐ ๋ค์ API ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ํ๋ฅญํ ์ผ์ ํ๊ณ ๋ช ๊ฐ์ง ์ด๋ฆฌ์์ ์ผ์ ํ์ต๋๋ค. ๋น๋๊ธฐ ํญ๋ชฉ ์ค ์ผ๋ถ์ ์ฝ๊ฐ ๋น ์ ธ ๋ค์์ ์ ์์ต๋๋ค.
๋ค์ ๋ง์ ํ์ ๋๋ฉ๋๋ค :)
UWP ์ฑ๊ณผ ๋ฐ์คํฌํฑ ์ฑ ๊ฐ์ ์ฝ๋ ์ด์์ฑ๋ ์ด ์ค๋ ๋ [...]์์ ๋ค๋ฃจ์์ง๋ง ์ค์ ์์ ์ ๊ฒฐ๊ตญ CRT์ ํฅํ ๋ฒ์ ์์ ๊ตฌ๋ถ์ ์ ๊ฑฐํ๋ ๊ฒ์ ๋๋ค. .
๋์ฐฉ ์์ ์๊ฐ์ด ์์ต๋๊น? .๋ท 5?
์ต์ ์ฑ์ ์ํ ํ์ผ ์์คํ API๋ ๊ณ ํต์ค๋ฝ๊ณ ์๊ธฐ์น ์๊ฒ ๋๋ฆฝ๋๋ค.
https://docs.microsoft.com/answers/questions/608/Please-either-allow-systemio-all-over-hdd-or-dast.html
์ฐ๋ฆฌ๋ ๊ณ ๊ฐ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ์ฐ๋ฆฌ ํ ๋ชจ๋๋ก๋ถํฐ ์ด ํผ๋๋ฐฑ์ ๋ค์์ต๋๋ค. ์ด ์๊ฐ์ ๋๋ ์ ์๋ ๊ฒ์ด ๋ ๋ง์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ํ์ฌ๋ก์๋ ๋ถํํ๋ "์ฐ๋ฆฌ๋ ์๊ณ ์์ต๋๋ค"๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค.
์ง๊ธ๊น์ง ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค - ์ด์์ ์ด์ง๋ ์์ง๋ง ์ง๊ธ์ ๊ด์ฐฎ์ต๋๋ค - https://github.com/microsoft/microsoft-ui-xaml/issues/1465#issuecomment -575987737
BroadSystemAccess API/๊ธฐ๋ฅ์ ๊ตฌํ๋ ๋๋ก ์ค์ฉ์ ์ด์ง ์์ต๋๋ค.
https://docs.microsoft.com/answers/questions/6483/is-uwp-the-right-development-tool-for-my-project.html
ํผ๋๋ฐฑ ํ๋ธ ํญ๋ชฉ์ ์ ์ถํ๊ณ ๋งํฌ๋ฅผ ๋ณด๋ด์ฃผ์ธ์. ๊ฐ์ธ์ ์ผ๋ก ํ๋ณดํด์ ์ ๋๋ก ๋ ์ฃผ์ธ์๊ฒ ๊ฑด๋ค๊ฒ ์ต๋๋ค. 80% ๊ฐ์์จ์ ์ข์ง ์์ต๋๋ค. ์ดํด ํ์ด์
ํ ๊ฒ์ ๋๋ค. ์ฃผ๋ง์ ๋์ฐฉํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฌ์ฉ์์๊ฒ๋ ์ํ ์ ํธ๋ผ๋ ์ ์ ๋๋ค. ํ์ผ API๊ฐ ์ถฉ๋ถํ ๋น ๋ฅด๋ฉด ํฅํ ์ก์ธ์ค ๋ชฉ๋ก์ด
์, StorageFile/Folder API๊ฐ System.IO๋งํผ ๋น ๋ฅด๋ฉด(๋๋ ์ต์ํ ๋น์ทํ ์์ค) ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค. ๋ ธ๋ ฅ์ด ๋ถ์กฑํด์๊ฐ ์๋๋๋ค. ๋ฌธ์์ ์ค๋ช ๋ ๋ชจ๋ ์์ ์ ์ํํ์ต๋๋ค.
ํต์ฆ์ด ์์ง๋ง ์ง๊ธ์ฒ๋ผ '๋งค๋๋ฝ์ง' ์์ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋, ๋น์ ์ ๋ฐ์์ ์ด๋ ค์ด ์ฅ์ ์ฌ์ด์ ์์ต๋๋ค. ๋น์ ์ด ์ง๊ธ ํ๊ณ ์๋ ๋ฐฉ์์ด ๋ง๋ฒ์ฒ๋ผ ๋๊ธฐ ์ํด์๋ ์ฌ์ฉ์๊ฐ ๋ชจ๋ ๊ฒ์ ๋ณผ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค. ๊ทธ๋ค์ ๋น๋ฐ๋ฒํธ ์คํ๋ ๋์ํธ, ๊ทธ๋ค์ ๋ฉ์ผ ํด๋, ๊ทธ๋ค์ ๋ธ๋ผ์ฐ์ ์บ์ ๋ฑ. ๋น์ ์ ์ ๋ขฐํ ์ ์์ง๋ง, ๋น์ ์ ์ฑ์ ์ฌ์ฉ์๋ค์ด ๊ทธ๋ค์ ์ธ๊ณ๋ฅผ ๋๊ฒจ์ฃผ๊ธฐ ์ ์ ์ ์ ๋ฉ์ถ๊ณ ๊ทธ๋ค์ด ๋น์ ์ ์ผ๋ง๋ ์ ๋ขฐํ๋์ง ์๊ฐํ๊ฒ ํด์ผ ํฉ๋๋ค.
๋๋ ์ด ๋ชจ๋ ๊ฒ์ ์์ ํ ์ดํดํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ๋น์ ๊ณผ ๋์ํฉ๋๋ค. ๋์ ๊ณ ์ถฉ์ ์ด ๋ชจ๋ ๊ฒ์ ํ์ฌ ๊ตฌํ์ ๋๋ค. ๋๋ ์ด๋ฏธ ์ด๊ฒ์ ๋ค๋ฃจ๋ ๋๋ถ๋ถ์ UI๋ฅผ ๋ค์ ์์ฑํ์ต๋๋ค(์ฌ๋ฌ ๋ฒ).
๊ฐ์ ์ ์ํ ์ ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฑ์ ๋ซ๊ณ ๋ค์ ์์ํ๋ ์์ด๋์ด๊ฐ ์ด์ํ ๋จ๊ณ๋ผ๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ์ด๊ฒ์ ์ ์ด๋ ์ฒซ ์ถ์์์ ๋ถ๋ฅ๋์ด์ผ ํ๋ ์ ํ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ํผ๋๋ฐฑ ํญ๋ชฉ์ ๋ณ๋๋ก ์ ์ถํด ์ฃผ์ธ์. ๊ฐ์ ์ ์. ํ๋ณด ๋ฐ ์ ๋ฌํ๊ฒ ์ต๋๋ค.
์๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ์ฃผ๋ง ๋์์ ๋๋ค.
ํ์ผ์ ์ฑ์ผ๋ก ๋๋๊ทธํ๋ฉด ์ฐ๊ธฐ ์ก์ธ์ค๊ฐ ํ์ฉ๋์ง ์์ต๋๋ค. ํผ๋๋ฐฑ ํ๋ธ์ ๋ํ ๋์ผํ ์ ์์ ๋๋ค. ์ ์ถํด ์ฃผ์๋ฉด ๊ทธ์ ๋ฐ๋ผ ์๋ดํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์๊ฒ ์ต๋๋ค. ํ์ผ์ ์ฑ์ผ๋ก ๋๋๊ทธํ๋ ๊ฒ์ ๋๋ค. ๋๋ ์ค์ ๋ก ๊ทธ๊ฒ์ ์์ง ์๋ํ์ง ์์๋ค:
MS ์คํ ์ด ์ธ๋ถ์์ ์ฌ์ด๋๋ก๋ฉ์ ์ํ ์ฑ ๋ง๋ค๊ธฐ
์ฌ๊ธฐ์ ์ป์ ๊ฒฐ๋ก ์ ๋ฌธ์ ์ ๋๋ถ๋ถ์ด ๋ฌธ์ ๋ฌธ์ ์ด์ง๋ง ๋ ๋ค๋ฅธ ์ฃผ์ ์ธก๋ฉด์ ๋ค๋ฃฌ๋ค๋ ๊ฒ์ ๋๋ค. ์ผ๋ถ ๋๊ตฌ๊ฐ github ํ๋ก์ ํธ ๋ฐ ์คํ ์์ค๋ก ์ด๋ํจ์ ๋ฐ๋ผ ์ค๋ช ์๋ ํจ๊ป ์ด๋ํ์ผ๋ฉฐ, ์ด๋ก ์ธํด Windows ์ค๋ช ์๋ฅผ ๋ชจ๋ ๊ฒ์ ์์คํฑ์ผ๋ก ์ฌ์ฉํ๊ธฐ๊ฐ ๋ ์ด๋ ค์์ก์ต๋๋ค. .appinstaller ํ์ผ๊ณผ ๊ด๋ จ๋ ํน์ ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ๋ด๋ถ์ ์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ณ ๋ ๋์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์ฝํ ์ธ ํ๊ณผ ๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ๋ ผ์ํ๊ฒ ์ต๋๋ค.
์, ๊ต์ฅํ ๊ฒ์ ๋๋ค!
๊ฐ์ธ์ ์ผ๋ก ๋๋ ๋ด ์ฑ์ ์ํด ๊ทธ๊ฒ์ ์์ ๋์ต๋๋ค. ๋ด๊ฐ ํ๊ณ ์ถ์ ๋ค๋ฅธ ๊ณ ๊ธ ์์ ์ ์ํํ์ง ๋ชปํ๊ฒ ํ๊ณ ์์ต๋๋ค(์: ์ ์ฒด .appinstaller ํ์ผ์ด ์ด๋ป๊ฒ ๋ณ๊ฒฝ๋์ด์ผ ํ๋์ง ๋๋ ค์์ win32 ์ฑ์ ์์ํด์ผ ํจ).
๊ทธ๋ฌ๋ ๋์๊ฒ ์ด๊ฒ์ Visual Studio "๊ฒ์" ํ๋ก์ธ์ค์ ์ผ๋ถ์ฌ์ผ ํฉ๋๋ค. ์ ๋ฅผ ์ํด .appinstaller๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค(๋ชจ๋ ์ข ์์ฑ ์ด๋ฆ์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๊ฒฐ์ฝ ์ฌ์ด ์ผ์ด ์๋๋ฉฐ ์ข ์์ฑ์ ๋ํ ์ ๋ฐ์ดํธ -> ์ฌ๊ธฐ์์ ๋ค์ ์์ํ๊ฒ ์ต๋๋ค). ๋ํ readme.txt ํ์ผ์ ์์ฑํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์๋ฒ์ ์ ๋ก๋ํด์ผ ํ๋ ๋ด์ฉ์ ์ค๋ช ํด์ผ ํ๊ณ .appinstaller๋ฅผ ๋ก์ปฌ๋ก ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์๋ฒ์์ ๋ค์ด๋ก๋ํด์ผ ํฉ๋๋ค(ํ ์คํธ ์ )
๋ํ ๋๋ฒ๊ทธ๋ฅผ ์ํด ์๋ฒ๋ฅผ ํตํด ๋ผ์ฐํ ํด์ผ ํ๋ ํน์ ๋ฌธ์ ์ ๋ํด์๋ ์ธ๊ธํ์ต๋๋ค. ๊ธฐ์กด github ํ๋ก์ ํธ์ ๋ํ ๋ฌธ์ ๋ก ์ ์ถํด์ผ ํฉ๋๋ค.
๋ฌด์จ ๋ฌธ์ ์๋์ง ๊ธฐ์ต์ด ์๋๋ค์ :)
์ฝํ ์ธ ๊ฐ ์ค์๋ก ์ญ์ ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ํฌ๊ธฐํ ๋ ํผ๋๋ฐฑ ํ๋ธ์ ๋ฉ์์ง๊ฐ ํ์๋์ด์ผ ํฉ๋๋ค.
๋ค, +1ํ๊ฒ ์ต๋๋ค. ํ์ผ์ ์ ์ถํ์ธ์. ํผ๋๋ฐฑ ํ๋ธ์ ๋ํ ์ฑ ์๋ ํผ๋๋ฐฑ ํ๋ธ์ ๋ฒ์ฃผ๊ฐ ์์ต๋๋ค. ๋๋ฌด ๋ฉํ์ ๋๋ค.
์ค๋ฅธ์ชฝ :)
๋น๋๊ธฐ API๋ ์ฌ์ ํ ์์ ์กํ์ง ์๊ณ ๋น๋๊ธฐ๊ฐ ๋์ด์๋ ์ ๋๋ ๊ฒ๋ค์ ๋ํด ์ด์ํด ๋ณด์ ๋๋ค.
๋ค. ์ด๋ ๋ด๋ถ์ ์ผ๋ก๋ ๋ ผ๋์ ์ฌ์ง๊ฐ ์๋ ๋ถ๋ถ์ด๋ค. ์ ๋ชจ์ ์ข์ ํ๋์ ์ฅ๋ คํ๋ ๊ฒ ์ฌ์ด์๋ ์์ง ์ ๋ง์ง ์์ ๊ท ํ์ด ์์ต๋๋ค. ๋๊ธฐ์์ผ๋ก ๋ณด๊ณ ์ถ์ ํน์ API์ ๋ํ ํผ๋๋ฐฑ์ ๊ณ์ ์ ์ถํ์ญ์์ค.
ํคํค, ๊ธด ๋ชฉ๋ก์ ๋๋ค ;)
๋๋ ๋ค๋ฅธ ๋ง์ API๋ฅผ ์ถ์ ํ์ง ์์์ต๋๋ค. ๋ด ํ๋ก์ ํธ์ ๋ํ ๋น ๋ฅธ ๊ฒ์์ 326๊ฐ์ ์ฉ๋๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๋ง์ ๋ถ๋ถ์ด ๋๊ธฐ์์ด์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ง์ด ์ค์์ต๋๋ค.
์๋ ๋ด ๋จธ๋ฆฌ ๊ผญ๋๊ธฐ์์ ๋ด ์ฃผ์ ์ต๊ณ ํต์ฆ์ ๋๋ค. ์ด์ ๋ถํฐ ๋ฌธ์๋ฅผ ๋ง๋ค์ด ์ถ๊ฐํ๊ฒ ์ต๋๋ค. :)
WinRT์๋ ์ข์ ์ค๋์ค API๊ฐ ์์ต๋๋ค.
์ ๋ ์ค๋์ค ์ ๋ฌธ๊ฐ๊ฐ ์๋๋๋ค. ํผ๋๋ฐฑ ํ๋ธ์ ์์ ๋กญ๊ฒ ํ์ผ์ ์ ์ถํ ์ ์์ง๋ง ์ฌ๊ธฐ์์ ๊ตฌ๋ช ์ค์ ์ ํ๋ฅผ ๊ฑธ์ด ๋ช ๊ฐ์ง ๋ฌผ์ด๋ณผ ๊ฒ์ ๋๋ค.
์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ์ง ์ฌ๋ถ๋ ํ์คํ์ง ์์ต๋๋ค. ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์๊ตฌ ์ฌํญ์ ์ํํ์ฌ naudio(https://github.com/naudio/NAudio)๋ฅผ UWP์ ์ฌ๋ฐ๋ฅด๊ฒ ์ด์ํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ๋ถ๋ช ํ ๋งํด์, ์ฆ์ UWP๋ก ์ปดํ์ผํ ์ ์์ง๋ง ๋๋ถ๋ถ์ ์ ์ฉํ ํญ๋ชฉ์ด #ifdef-ed๋์ด ์๊ธฐ ๋๋ฌธ์ ์ธ๋ชจ๊ฐ ์์ต๋๋ค.
๋ถ๋ช ํ ๋ง์๋๋ฆฌ์๋ฉด, ์ ๋ UWP์ ์ฌ์ด๋ API์ ๋ํด ๋ถํํ์ง ์์ต๋๋ค. ์ด๋ ์์ ํ ๊ด์ฐฎ์ง๋ง ๋ ํ์ํฉ๋๋ค. ์ฆ, ์ํ ๋ฑ์ ํด์ํ๋ ๋ฅ๋ ฅ(์ค๋์ค๊ฐ ํ์ฉํ๋).
๋๋ ๊ฑฐ์ ๋ชจ๋ #ifdef๋ฅผ ์ ๊ฑฐํ naudio ํฌํธ๋ฅผ ์ํํ์ต๋๋ค. ์๋ํ์ง๋ง ๋ด ์ฑ์ MS ์คํ ์ด์ ๋ค์ด๊ฐ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ๊ด์ฐฎ์ต๋๋ค.
ํด๋ฆฝ๋ณด๋ ๊ณ ํต
[...] ์ฆ, ์ํธ ์์ฉํ๋ ์๋ฆผ์ ํด๋ฆฝ๋ณด๋ ์ก์ธ์ค๋ฅผ ํ์ฉํด์ผ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๊ฒ์ Windows์ ์ ๊ฒฝ์ด ๊ณ์ฐ๋๋ ๋ฐฉ์ ๋๋ฌธ์ ํน๋ณํ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ์ง๋ง ํฉ๋ฆฌ์ ์ด์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. API ํผ๋๋ฐฑ์ผ๋ก ์ ์ถํด ์ฃผ์๋ฉด ํด๋น ๋ฌธ์ ๋ฅผ ๋ฒ๊ทธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ํ๋ณดํ๊ฒ ์ต๋๋ค.
์ข์ ์๋ฆฌ, ํ ๊ฒ์ ๋๋ค.
๊ฐ์ฌ ํด์!
@jtorjo ํ์ผ ์์คํ ์ ๋ํ ํผ๋๋ฐฑ ํ๋ธ ํญ๋ชฉ์ ๋ฌธ์ #1893(์ ์: ํ์ผ ์์คํ ์ก์ธ์ค: ํน์ ํ์ผ ์์น์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์์ฒญํ ์ ์๋ ์ฌ์ฉ์ ์นํ์ ์ธ ๋ฐฉ๋ฒ ์ ๊ณต)๋ ํฌํจ ๊ฒ ๊ฐ์ต๋๋ค .) ํ์ผ ์์คํ ์ ๋ค๋ฃฐ ๋ ์ด ํญ๋ชฉ์ ๋ค๋ฃฐ ์ ์๋ค๋ฉด ์ด๋ฏธ ์ ๋ฆฌํ ๋ค๋ฅธ ํญ๋ชฉ์ด ๋ง์ด ์์ต๋๋ค. :)
๋ฌผ๋ก ํผ๋๋ฐฑ ํ๋ธ์ ์ถ๊ฐํ๋ ๊ฒ์ด ๋ถํธํ์๋ค๋ฉด ๊ณ์ ์ ์ถํ๊ฒ ์ต๋๋ค!
@Felix-Dev ์ต์ ์ ๋คํ๊ฒ ์ต๋๋ค! ๊ณ์ ์๋ ค๋๋ฆฝ๋๋ค!
ํ์ผ์ ์ฑ์ผ๋ก ๋๋๊ทธํ๋ฉด ์ฐ๊ธฐ ์ก์ธ์ค๊ฐ ํ์ฉ๋์ง ์์ต๋๋ค. ํผ๋๋ฐฑ ํ๋ธ์ ๋ํ ๋์ผํ ์ ์์ ๋๋ค. ์ ์ถํด ์ฃผ์๋ฉด ๊ทธ์ ๋ฐ๋ผ ์๋ดํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์๊ฒ ์ต๋๋ค. ํ์ผ์ ์ฑ์ผ๋ก ๋๋๊ทธํ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ์ค์ ๋ก ์ ์ปจํ ์คํธ ๋ฉ๋ด์์ ์ฌ๋ ๊ฒ์ ๋ํ ์ฐธ๊ณ ์ฌํญ์ด์์ต๋๋ค. ํผ๋์ ๋๋ ค ์ฃ์กํฉ๋๋ค.
@BenJKuhn ์ด Github ๊ฐ์ํ ๋(์ง๋ 12๊ฐ์ ๋์ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ฌ๋ฌ ๋ฒ ํํ๋ ๊ฐ๋ฐ์ ๊ฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํจ): ๊ทธ๋ฅ ๊ฒ์ํด๋ ๋ ๊น์? ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๋ ํจ์ฌ ๋ ์ฌ์ธต์ ์ธ ์ ์์ ๋ํ ๋งํฌ๊ฐ ์๋ Feedback Hub์ ๋ํ ๋น ๋ฅธ ์ ์ ์์ฝ(์ง๊ธ์ ๋ด๊ฐ ์๊ณ ์๋ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ์ ๋ขฐ๋ฅผ ๋ฐ๋ ํน์ UWP ์ฑ ๋ชจ๋ธ ํผ๋๋ฐฑ ํ๋ซํผ์ด ์๊ธฐ ๋๋ฌธ์)? Microsoft์ ํน์ ํ์ด ๊ฐ๋ฐ ์ค์ธ ์ ์์ ๋ํ ์ง์ ๋งํฌ๋ฅผ ๊ฐ์ง ์ ์๋๋ก ์ฌ๊ธฐ์์ ๋ค๋ฅธ ์ปค๋ฎค๋ํฐ ์ ๋ ฅ์ผ๋ก ์ ์์ด ๋์ฑ ๊ตฌ์ฒดํ๋๋ ๊ฒ์ ๋ณด์์ต๋๋ค.
@Felix-Dev ํน์ ์ ์์ ๊ฒฝ์ฐ "๊ฐ๋ฐ์ ํ๋ซํผ > API ํผ๋๋ฐฑ"์ด๋ผ๋ ํ๊ทธ๊ฐ ๋ถ์ Feedback Hub์ ์ ์ถํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
ํด๋น ํํฐ ์๋์ ์ ์ถ๋ ์ต๊ทผ ํผ๋๋ฐฑ์ ์ดํด๋ณด๋ฉด ๊ทธ๋ค์ง ๊ตฌ์ฒด์ ์ธ ํผ๋๋ฐฑ์ด ์ถ๊ฐ๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๋๋ ๊ทธ ํํฐ๋ก ๋ถ๋ฅ๋ 30๊ฐ ํญ๋ชฉ(์ต๋)๋ง ๋ณด์๋ค. ๊ทธ๋ฌ๋ ์ต๊ทผ ์์ง๋์ด๋ค์ด ํผ๋๋ฐฑ์ ์๋ตํ์ต๋๋ค.
์์ ํ๊ทธ๊ฐ ์ง์ ๋ Feedback Hub๋ฅผ ํตํด API ํผ๋๋ฐฑ์ ์ ์ถํ๋๋ก ์ปค๋ฎค๋ํฐ์ ์์ฒญํ๊ณ ์์ผ๋ฉฐ ์ ์์ด ๊ฐ์ ๋๋ฉด API ํผ๋๋ฐฑ์ ์ ์ถํ๋ ์ต์ ์ผ๋ก ๋ฒ์ฑํ๊ธฐ ์์ํ ๊ฒ์ ๋๋ค.
@BenJKuhn ์ด ๋์ ๋์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ต๋ณ์ด ์๋นํ ๊ธธ์ด ์ก์ผ๋
@duke7553 ์ปค๋ฎค๋ํฐ๊ฐ UWP ํ๋ซํผ ํผ๋๋ฐฑ์ ์ํด ๋ ๊ฐ์ง ๋ค๋ฅธ ํ๋ซํผ์ ์ฌ์ฉํด์ผ ํ๋ ์ํฉ์ด ์์ต๋๋ค. (๋งค๊ฐ๋ณ์ x๋ฅผ ๋ฉ์๋ y์ ์ถ๊ฐํ๊ฑฐ๋ z๋ฅผ ์ํํ๋ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ์ธ์)์ ๊ฐ์ ํน์ API ์์ฒญ์ ์ต์ํ ํผ๋๋ฐฑ ํ๋ธ์ ์ ์ถํด์ผ ํฉ๋๋ค(๋ฌผ๋ก ์ถ๊ฐ ์์น์๋ ๊ฒ์๋์ด์ผ ํจ). ๊ทธ๋ฌ๋ (UWP์ ํต์ฌ๊น์ง) ํ๋ซํผ๋ณด๋ค ๋ ๋ณต์กํ ๋ฌธ์ /์ ์์ ํ์ฌ ํ์์ ํผ๋๋ฐฑ ํ๋ธ๊ฐ ์๋ ๋ค๋ฅธ ๊ณณ์ ๊ฒ์ํด์ผ ํฉ๋๋ค. ํผ๋๋ฐฑ ํ๋ธ์ ์งง์ ์์ฝ์ ๊ฒ์ํ๋ ๊ฒ์ ์ข์ง๋ง ๋ค๋ฅธ ๋ฌด์๋ณด๋ค๋ ํผ๋๋ฐฑ ํ๋ธ๋ ํ์ฌ ํ๋ซํผ์ด ์๋๋๋ค. ์ด์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋๋ฅผ ์ฝ์ผ์ญ์์ค.
ํ์ฌ ์ํ์์ ํผ๋๋ฐฑ ํ๋ธ๋ ๋ฐ๋ก ์ด ์ ์ฅ์์ Twitter ์ ๊ฐ์ ๋ค๋ฅธ ์ฅ์์์
์ ๋ Feedback Hub๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ ํ๋ซํผ๋ณ ๋ฌธ์ ๋ฅผ ์ ์ถํ ์ ์ด ์์ผ๋ฉฐ ์ง๊ธ ๋ฐ๋ก ์ดํด๋ณด๊ณ ์์ต๋๋ค. ์ปค๋ฎค๋ํฐ์์ ๋ฌธ์ ๊ฐ ์ด๋ป๊ฒ ์ ์๋๋์ง(์ปค๋ฎค๋ํฐ ์ฐธ์ฌ๊ฐ ๊ฑฐ์ 0์ ๊ฐ๊น์ต๋๋ค!), Windows ๊ฐ๋ฐ ํ ๋ฐ ์ ์ฒด ๊ตฌ์กฐ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ด ๋จ์ผ WinUI ์ ์ฅ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ธก๋ฉด์์ ํผ๋๋ฐฑ ํ๋ธ๋ณด๋ค ์ฐ์ํฉ๋๋ค (์ ์ ์์ฑ ์ฉ์ด์ฑ/์ปค๋ฎค๋ํฐ ์ฐธ์ฌ/MS ๊ฐ๋ฐ์์ ๊ฐ์ฉ์ฑ/...).
์์งํ ๊ฐ๊น์ง๋ ์์ต๋๋ค.
ํนํ ์ง์ญ ์ฌํ ์ฐธ์ฌ์ ๊ด๋ จํ์ฌ. ์ฌ๊ธฐ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ปค๋ฎค๋ํฐ ์ ๋ ฅ์ด ์ผ๋ง๋ ์์ธ์ ์ด์๊ณ ๋ง์ ๋ฌธ์ /์ ์์ ๋๋์ ์ผ๋ก ์ถ์งํ๊ณ ๊ฐ์ ํ๋์ง ์ถฉ๋ถํ ๊ฐ์กฐํ ์ ์์ต๋๋ค. ํ์ฌ ํผ๋๋ฐฑ ํ๋ธ์๋ง ์ ์ถํ๋ฉด ํ๋ฅญํ ์ปค๋ฎค๋ํฐ ์ ๋ ฅ์ด ๋ชจ๋ ์ฌ๋ผ์ง ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ ๋ง๋ ๋ด UWP ์์ฉ ํ๋ก๊ทธ๋จ ๋ชจ๋ธ ๋ฌธ์ ๊ฐ๋ฐํ์ ์ํด ๋ฐ์์ ๋ํด, ๋ ๊ทธ๋ฅ์ด ๋ง์ํฉ๋๋ค : ๊ฐ์ ๋ง์ ๊ฒฝ์ฐ์ ์ด๊ฒ์ ๋ด๊ฐ ์์ ํญ๋ชฉ์ด ๋ด๋ถ์ ์ผ๋ก ์์ฑ ๋ ๊ฒ์ ๋ฉ๋ชจ์ ํจ๊ป ์ ์์ ํผ๋๋ฐฑ์ ์ป์๋ค. ๋ฌด์์ ๋ ์์ฒญํ ์ ์์ต๋๊น? ํผ๋๋ฐฑ ํ๋ธ์ ์ ์ถํ๋ฉด ๋ฌธ์ ๊ฐ ์ ํ ํด๊ฒฐ๋์ง ์์ ๊ฒ์ด๋ผ๊ณ ๋๋ผ๋ ๋ง์ ๊ฐ๋ฐ์์ ๊ฐ์ ๊ณผ ๋์กฐ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ง๊ธ ํผ๋๋ฐฑ ํ๋ธ๋ฅผ ๋ณด๋ฉด ๊ทธ๋ค์ด ์ด๋์์ ์๋์ง ์ ์ ์์ต๋๋ค.
@BenJKuhn
MS ํ์ UWP ํผ๋๋ฐฑ ํ๋ซํผ์ ์ฌ๊ฐํ๊ฒ ๊ฐํํด์ผ ํ๋ฉฐ ์ด๋ฌํ ๊ฐ์ ์ฌํญ์ ๋ณผ ๋๊น์ง WinUI ํ์์ ํ์ฉํ๋ ํ ์ฌ๊ธฐ์์๋ ํญ์ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๊ฒ์
๋๋ค. Feedback Hub๋ ํ์ฌ ๋ง์ Windows ๊ฐ๋ฐ์์ ๋์ ๊ฐ์ฅ ๋ฎ์ ์์น์ ์์ผ๋ฉฐ ํ๋ฃป๋ฐค ์ฌ์ด์ ๊ฒ์ํด๋ ์ํฉ์ด ๊ฐ์๊ธฐ ๋ฐ๋์ง๋ ์์ต๋๋ค. ์ด์ ์์์ด์ง๋ง ํผ๋๋ฐฑ ํ๋ธ(๋๋ ์ด์ ์ UWP์ฉ UserVoice๋ฅผ ์ข
๋ฃํ ๊ฒ๊ณผ ๊ฐ์ ๋ค๋ฅธ MS ํน์ ๊ฐ๋ฐ์ ํผ๋๋ฐฑ ํ๋ซํผ)์ ๋ํด ๋งํ ๋ ๋ง์ ๊ฐ๋ฐ์๊ฐ ๋ฐ๊ฒ ๋ ๋ถ์ ์ ์ธ ์ธ์์ ๊ทผ๋ณธ์ ์ผ๋ก ๋๋๋ฆฌ๋ ค๋ฉด ํจ์ฌ ๋ ๋ง์ ๊ฒ์ด ํ์ํฉ๋๋ค. ๋ง์ UWP/Windows ๊ฐ๋ฐ์๊ฐ Feedback Hub ๋๋ ๊ธฐํ ๊ณผ๊ฑฐ ํผ๋๋ฐฑ ํ๋ซํผ์ ์ฒ๋ฆฌํ ๋ ๊ฒช์๋ ๋ง์ ์ค๋ง์ค๋ฌ์ด ๊ฒฝํ์ ๊ฐ์ํ ๋, ์ ๋ ์ด ๋ฌธ์ ์ ๋ํด Windows ๊ฐ๋ฐ ๋ฐ ํผ๋๋ฐฑ ํ์ด ๊ฐ๋ฐ์์๊ฒ ๋ฐํ (๋ง์ - ์๋ ๊ฒฝ์ฐ - ํ์ํ ๊ฐ์์ ์ธ ๊ฐ์ ์ฌํญ ์์ด). ๋๋ ์ด๊ฒ์ด ์๋นํ ๊ฐํนํ ๊ฒฌํด๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง, ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์๋
๋์ ๋ค๋ฅธ ๋ง์ ํผ๋๋ฐฑ ํ๋ซํผ์ ์ ๊ณต๋ ๊ฐ๋ฐ์์ ๋ง์ ์๋ต์ ์ค์ ๋ก ๋ณด๋ฉด ๊ฐ๋ฐ ์ปค๋ฎค๋ํฐ์ ์ง์ ํ ์ข์ ์ด ์์์ ์ฝ๊ฒ ์ ์ ์์ต๋๋ค.
Microsoft์ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ๋ชจ๋์ ๋์ ๋ง์กฑ ๊ฐ์น๋ฅผ ์ ๊ณตํ๋ ํ๊ธฐ์ฐจ๊ณ ์ ์ตํ ํผ๋๋ฐฑ ํ๋ซํผ์ ๋ง๋ค๊ธฐ ์ํด ์์ธก์ด ์๋ก๋ฅผ ํ์๋ก ํ๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์์ ๊ฐํนํ๊ฒ ๋งํ๊ณ ์ถ์ง ์์ต๋๋ค. ํํ์ผ๋ก ์์ ๊ฒ์๋ฌผ์์ ์ปค๋ฎค๋ํฐ์ ์ ๊ทน์ ์ผ๋ก ๋ ผ์ํ ์ ์๋ UWP ๋ฌธ์ ๋ฅผ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฒ์ํ๊ณ ํผ๋๋ฐฑ ํ๋ธ์ ํฌํจ๋ github ์ค๋ ๋์ ๋ํ ๋งํฌ๊ฐ ํฌํจ๋ ์งง์ ์์ฝ์ ๊ฒ์ํ ๊ฒ์ ์ ์ํ์ต๋๋ค. ๋ด๊ฐ ์์ ๋์ดํ ์ปค๋ฎค๋ํฐ์ ๋ํ ๋ชจ๋ ์ด์ ์ธ์๋ ์ถ๊ฐ๋ ๋งํฌ๋ Windows ๊ฐ๋ฐ์ ํ์ด ์ด ์ปค๋ฎค๋ํฐ์ ์กด์ฌํ๋ ๋ค์ํ ๊ด์ ์ ์ดํด๋ณด๊ณ ์๋ง๋ ์ ์ถ๋์ง ์์ ๋ง์ ์์ ์์ด๋์ด๋ ํฌ์ฐฉํ ์ ์๋๋ก ํฉ๋๋ค. ํผ๋๋ฐฑ ํ๋ธ์ ์์ง๋ง ์ฌ๊ธฐ์ ๋ง์ ๋๊ธ์์ ์ฐพ์ ์ ์์ต๋๋ค .
Feedback Hub์ ๊ฐ๋ฐ์ ํ๋ซํผ -> API ํผ๋๋ฐฑ ์น์
์์ ๊ฐ์ ธ์จ ์คํฌ๋ฆฐ์ท์ผ๋ก ์ด ๊ฒ์๋ฌผ์ ๋ง์น๊ฒ ์ต๋๋ค.
์ถ์ : ์ด ๊ฒ์๋ฌผ์ ์ฌ์ฉํ์ฌ WinUI ํ์ด WinUI ์ ์ ํ ๊ด๋ จ์ด ์์ง๋ง ๋์ ๊ฐ๋ฐ์๊ฐ UWP์์ ๋ณด๊ณ ์๋ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ๋ฌธ์ ๋ฅผ ํธ์คํ ํ๊ธฐ ์ํด ์ ์ฅ์๋ฅผ ์ด๊ธฐ๋ก ๋์ ํ WinUI ํ์ ๋ค์ ํ ๋ฒ ์ง์ฌ์ผ๋ก ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๊ฐ์ฌํฉ๋๋ค, WinUI ํ!
@BenJKuhn
BroadSystemAccess API/๊ธฐ๋ฅ์ ๊ตฌํ๋ ๋๋ก ์ค์ฉ์ ์ด์ง ์์ต๋๋ค. https://aka.ms/AA804aq
BroadSystemAccess API / ์ฌ์ฉ์๊ฐ ๊ด๋ฒ์ํ ์์คํ ์ก์ธ์ค๋ฅผ ํ์ฉํ ๋ ์ฑ์ ๋ค์ ์์ํ๋ฉด ์ ๋จ https://aka.ms/AA7zpe3
ํด๋ฆฝ๋ณด๋๋ ํญ์ ์๋ํด์ผ ํฉ๋๋ค. https://aka.ms/AA804ce
ํ์ผ ์์คํ ์ก์ธ์ค: ํน์ ํ์ผ ์์น https://aka.ms/AA804cp ( @Felix-Dev ์ ๊ฒฝ์ฐ)์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์์ฒญํ๋ ์ฌ์ฉ์ ์นํ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
WinRT https://aka.ms/AA804d0 ์๋ ์ข์ ์ค๋์ค API๊ฐ ์์ต๋๋ค.
๋น๋๊ธฐ API๋ ์ฌ์ ํ ์์ด ์ ๊ฐ๊ณ ๋น๋๊ธฐ๊ฐ ๋์ด์๋ ์ ๋๋ ๊ฒ๋ค์ ๋ํด ์ด์ํด ๋ณด์ ๋๋ค. https://aka.ms/AA804d3
์์ธํ ๋ด์ฉ - ๋ ๋ง์ ๋ฌธ์๋ฅผ ํ์ฉํด์ผ ํจ https://aka.ms/AA7zws5
์นดํ ๊ณ ๋ฆฌ ์ ํ - ๋ ์ฝ๊ฒ https://aka.ms/AA804cd
ํ์ผ/ํด๋ ๋์ด์ ๋๊ธฐ - ๊ฐ์ธ์ ์ผ๋ก ํ ์คํธํ์ง ์์์ต๋๋ค. ์ฆ, ๊ตฌํํ๊ธฐ๊ฐ ๊ทธ๋ฆฌ ์ด๋ ต์ง ์์ ๋๋๊ทธ ์ค ๋๋กญ ๋ถ๋ถ์ด ๊ถ๊ธํ์ง ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ UWP ์ปจํธ๋กค์์ ํ์ผ/ํด๋๋ฅผ ์ญ์ ํ ๋ ์ค์ ๋ก ์๋ํ๋์ง ๊ถ๊ธํฉ๋๋ค. ์ฝ๊ธฐ ์ ์ฉ ์ก์ธ์ค ๊ถํ์ด ์์ต๋๊น? ์ด ํ์ผ/ํด๋๋ฅผ FutureAccessList์ ์ถ๊ฐํ ์ ์์ต๋๊น?
์จ๋ผ์ธ์ ์ ๋ณด๊ฐ ๋ง์ง ์๊ธฐ ๋๋ฌธ์ ๋๊ตฐ๊ฐ ์ด๊ฒ์ ์ฑ๊ณต์ ์ผ๋ก ํ ์คํธ/์ฌ์ฉํ๋์ง ๊ถ๊ธํฉ๋๋ค.
ํผ๋๋ฐฑ ํ๋ธ๋ ์ฆ๊ฑฐ์ด ๊ฒฝํ์ด ์๋๋๋ค. ์ฐ์ ๋ด๊ฐ ์ถ๊ฐํ ๋ฌธ์ ๊ฐ "๋ด ํผ๋๋ฐฑ"์ ํ๋์ ํ์๋์ง ์์ต๋๋ค. ์ฑ์ ๋ซ๊ณ ๋ค์ ์์ํด์ผ ํฉ๋๋ค. ๋ด ๋ง์ง๋ง ์ ํ์ ๊ธฐ์ตํ์ง ์์ต๋๋ค. ํ ์คํธ๋ฅผ ๋๋ฌด ๋ง์ด ์ธ ์ ์๊ณ ํ์ผ ๋ฐ/๋๋ ํด๋ฆฝ๋ณด๋ ์ด๋ฏธ์ง๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ ๋ @Felix-Dev์ ์ ์ ์ผ๋ก ๋์ํฉ๋๋ค. ๋ฌธ์ ๋ฅผ ๊ฒ์ํ ์์น๋ฅผ ์ดํดํ๋ ๊ฒ์ ์ ๋ง ์ด๋ ต์ต๋๋ค(์ง๊ธ๋ถํฐ xlang์ ๊ฒ์ํ ์์ ์์ ์ ์ธํ๊ณ ).
@BenJKuhn ์ฌ์ฉ์์ ์ํธ ์์ฉํ ๋ ํด๋ฆฝ๋ณด๋์ ์ก์ธ์คํ ์ ์๋ ํน์ ์๋ฆผ ๋ฌธ์ ์ ๋ํ ํผ๋๋ฐฑ ํ๋ธ ๋งํฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. https://aka.ms/AA7zx69
ํ๋ฅญํ ํ ๋ก ์ ํด์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๊ทํ๊ฐ ์ ์ถํ ๊ฐ ํ๋ซํผ ๋ฌธ์ ๋ฅผ ํด๋น ํ์ ์ ๋ฌํ์ต๋๋ค. ๊ทธ์ ๋ฐ๋ผ ๊ธฐ๋์น๋ฅผ ์ค์ ํ๊ธฐ ์ํด ๊ตฌ์ง ํ๋์ ์ ์ถํด ๋ณด๊ฒ ์ต๋๋ค. ์ฑ์ฉ ๊ณผ์ ์์ ์ฌ์ฌ๋ฅผ ํต๊ณผํ๊ณ ๊ณง๋ฐ๋ก ๋ฉด์ ์ ๋ณด๋ ๊ฒ๊ณผ ๋น์ทํฉ๋๋ค. ์ฌ๊ธฐ์์ ๊ฐ ๋ฌธ์ ๋ ์กฐ์ฌํ๊ณ ์ฐ์ ์์๋ฅผ ์ง์ ํ ์ฌ๋ฐ๋ฅธ ํ์ ์์ ๋ฌ๋ ค ์์ต๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํ๊ธฐ ์ํด ๋ ธ๋ ฅํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ํ์์ ๋ฌธ์ ๋ฅผ ๊ฒํ ํ๋ ๋์ ๊ณ์ ์ถ์ ํ ๊ฒ์ ๋๋ค. ๊ทํ๊ฐ ์ง๋ฉดํ ๋ฌธ์ ์ ๋ํด ๊ณ์ํด์ ์ฐ๋ฆฌ์ ํจ๊ป ํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. Windows์์ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ํ๊ฒฝ์ ๊ฐ์ ํ ์ ์๋๋ก ์ต์ ์ ๋คํด ์ง์ํ๊ฒ ์ต๋๋ค.
๊ฐ์ฌ ํด์,
๋ฒค ์ฟค
@jtorjo ๋น์ ์ด ๊ตฌ์ถํ NAudio์ UWP ํฌํธ์ ๋ํ WACK ๋ณด๊ณ ์๋ฅผ ๊ณต์ ํ ์ ์์ต๋๊น?
์ด ๋ฐ์ดํฐ๋ NAudio๊ฐ ์คํ ์ด ์ธ์ฆ์ ํต๊ณผํ ์ ์๋๋ก ์ํํด์ผ ํ๋ ์ ํ ์ฌํญ์ ํ๊ฐํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
@mikebattista WACK์ ์ฒจ๋ถํ์ต๋๋ค. ์ค๋์ค ๋ฌธ์ ๋ง ๊ณ ๋ คํ์ญ์์ค.
๋ถ๋ช ํ, log4net์ ๋ฌธ์ ๋ ํด๊ฒฐํ๊ธฐ์ ๋ฉ์ง ๊ฒ์ ๋๋ค. log4net์ ๋ถ๊ธฐํ๊ณ ํด๋น ํธ์ถ์ ์ ๊ฑฐํ๋ค๊ณ ๊ฐ์ ํ๋๋ผ๋ ๊ด์ฐฎ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ์ค์ ๋ก ์ ํ๋ฅผ ๋ฐ์ ์ ์ด ์๋ค๊ณ ํ์ ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ค์ด ๋ํ๋๋ ๊ฒ์ด ์ด์ํฉ๋๋ค. ์ด์จ๋ ...
FindFirstFileExFromApp - ์ด๊ฒ์ ์์ด์ผ ํ๋ฉฐ(์ค์ ๋ก ์กด์ฌํฉ๋๋ค) - ํ์คํ ํ๋๊ทธ๊ฐ ์ง์ ๋์ด์๋ ์ ๋ฉ๋๋ค.
EnumChildWindows/EnumWindows๋ฅผ ๋ฌด์ํ ์ ์์ต๋๋ค. #ifdefํ ์ ์์ต๋๋ค.
๊ฐ์ฌ ํด์! ์ง์๋๋ API ์คํจ๋ฅผ ํ๊ฐํฉ๋๋ค. ์ ๋ ์ค๋์ค ํ์ ์ฐ๋ฝํ์ฌ ์ฌ๊ธฐ์ ๋ชจ๋ ์ ํ์ ์ ์ฌ์ ์ผ๋ก ์ํํ ์ ์๋ ์๊ฒฌ์ ์ป์์ต๋๋ค.
@mikebattista ๊ต์ฅํฉ๋๋ค, ๊ฐ์ฌํฉ๋๋ค! ์ด๋ฒ์ด ์๋นํ ๊ธฐ๋๋ฉ๋๋ค :)
๋์ด์ ๋๊ธฐ ์๋๋ฆฌ์ค์ ๊ดํ @jtorjo :
์์์ ์์น์์ ๋น๋์ค ํ์ผ์ ์ถ๊ฐํ๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ - ์์คํ ์ ์๋์ ์ผ๋ก ์์ ์ก์ธ์ค๋ฅผ ํ์ฉํ์ง ์์ง๋ง ์ฑ์ด ๋์ฒด ์์น์ ๋ฐฐ์น๋ ํ์ผ์ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์๋ ์ด๋ฅผ ํฌํจํ๋๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋ฐ์ดํธํ์ง ์์์ต๋๋ค. ์ธ๋ฑ์ ๋ฐ ์คํ ๋ฆฌ์ง ๊ฐ์ง ์๋น์ค์๋ ๋๋ผ์ด๋ธ์์ ์ธ๋ถ ์ ๋ณด(ํ์ผ ํฌ๊ธฐ ๋ฑ..)๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์ค์บํ๋ ์ฝ๋๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ฌ์ง ๋ฐ ๋น๋์ค ํ์ผ์ ์ฐพ๋ ๋ฐ ํ์ฉ๋ฉ๋๋ค. ์ฑ์ StorageLibrary API ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์์น๊ฐ ์ด๋ฏธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋์ง ํ์ธํ๊ณ ๋ฐ๊ฒฌ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ์ถ๊ฐํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํ ์ ์์ต๋๋ค. (์ด๋ ๊ฒ ํ๋ฉด ์ฌ์ฉ์๊ฐ ๊ณ์ํด์ ์ฑ ์์ ์ง๊ฒ ํ๊ณ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ๋ฅผ ํ์ฉํฉ๋๋ค.) ํ์ผ์ด ํฌํจ๋ ๋ชจ๋ ์์น๋ฅผ ์๋์ผ๋ก ์ถ๊ฐํ๋ ๊ฒ์ด ์ณ์ ์ผ์ธ์ง ํ๋จํ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ ์๋ฌด๊ฒ๋ ์๋์ผ๋ก ์ถ๊ฐ๋์ง ์์ต๋๋ค. [์ฌ๋ฌ 3D ๋ชจ๋ธ ๊ตฌ์ถ ๋ฐ ๋ ๋๋ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์๋ฅผ ๋ค์ด ๋ด ์ฌ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ์ํ๊ณ ์ถ์ง ์์ ์์ฒ ๊ฐ์ ํ ์ค์ฒ ์ด๋ฏธ์ง๊ฐ ์์ต๋๋ค.]
'FindFirstFileExFromApp - ์ด๊ฒ์ ์์ด์ผ ํฉ๋๋ค(๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ์กด์ฌํฉ๋๋ค) - ํ์คํ ํ๋๊ทธ๊ฐ ์ง์ ๋์ด์๋ ์ ๋ฉ๋๋ค.'
๋ชจ๋ *FromApp API๊ฐ ์ฑ ์ปจํ
์ด๋ ์ฑ์์ ์ฌ์ฉํ๋๋ก ์ค๊ณ๋๊ณ ์๋๋ ๊ฒ์ ์ ์ ์ผ๋ก ๋์ํฉ๋๋ค. ๋ฐ๋ผ์ ๋๊ตฌ๊ฐ ๊ทธ ์ค ํ๋์ ํ๋๊ทธ๋ฅผ ์ง์ ํ๋ ๊ฒฝ์ฐ ํด๊ฒฐํด์ผ ํ๋ ๋ฒ๊ทธ์
๋๋ค.
@smaillet-ms ์ฌ๊ธฐ์ ์๋ตํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. Windows.Storage API์ ์๋๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํ ์์ ์ด ์ํ๋๊ณ ์์ต๋๊น? ์ฐ๋ฆฌ๋ ์์ฃผ ์ค๋ซ๋์ ๋ต๋ณ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค. ๋ด ์ฑ ์๋๋ฆฌ์ค์์ ๊ฐ์ ๋ API๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด NDA์ ๊ธฐ๊บผ์ด ์๋ช ํ๊ณ ์ถ์ต๋๋ค.
ํ์ฌ FindFirstFile์ FromApp ๊ตฌํ์ ์ฌ์ฉํ๊ณ ์์ง๋ง FromApp API๋ฅผ ์ฌ์ฉํ์ฌ ํญ๋ชฉ ์ถ์ํ์ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
Windows ๋ฐํ์์ ๊ฐ์ ํ๊ธฐ ์ํด ์ํ ์ค์ธ ์์ ์ ๋ํ ์ด ์์ค์ ๋น๋ฐ์ ์ด์ ์ ์ค๋ ๋์์ Microsoft ์์ง๋์ด๊ฐ ๊ณต์ ํ ๊ฒ๊ณผ ๋์กฐ๋ฉ๋๋ค.
๊ด๋ จ ๋ฌด์ ํผ๋๋ฐฑ ๋งํฌ: https://aka.ms/AA6dgqz
์ฌ๊ธฐ์ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ํน์ ์ธ๋ถ ์ ๋ณด๋ NDA ๋ค์ ๋ณดํธ๋ ์ ์์ง๋ง ๋ด๋ถ์ ์ผ๋ก ์ด ์ฃผ์ ์ ๋ํ ์์ ์ด ์งํ ์ค์ธ ๊ฒฝ์ฐ MS๊ฐ ์ด๋ฅผ ๊ณต๊ฐ์ ์ผ๋ก ์ธ๊ธํ๋ฉด โโ๋ง์ UWP ๊ฐ๋ฐ์๋ฅผ ์์ฌ์ํฌ ์ ์์ต๋๋ค(์ฐ๋ฆฌ๊ฐ ๋ณผ ์ ์์ ๋ ์ผ๋ฐ์ ์ธ ์ ๋ง๊ณผ ํจ๊ป). /๋ ๋ง์ด ๋ค์ผ์ธ์).
์ฌ๋ฌ OS ๋ฆด๋ฆฌ์ค์์ ์คํ ๋ฆฌ์ง API์ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ธฐ ์ํด ๋ง์ ์์ ์ด ์ํ๋์์ต๋๋ค. ์ด ์์ ์์ ๊ฐ๋ฐ์์ ๊ณผ์ ๋ ์ฃผ๋ก ์ด๋ค API๋ฅผ ์ธ์ ์ฌ์ฉํ ์ง ์๋ ๊ฒ์ ๋๋ค.
์ผ์ ํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ผ๋ฉฐ ๊ทธ ์ค ๋ง์ ๊ฒ์ด ์ฃผ์ด์ง ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํด ์์ ํ ์๋ชป๋์์ต๋๋ค. ๋ถํํ๋ "ํ๋์ ์ ๋ต"์ด๋ ๊ฒ์ ์ค์ ๋ก ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ํ์ผ ์์คํ ์์ ์ป์ ์ ๋ณด๋ก ๋ฌด์์ ํ ๊ฒ์ธ์ง์ ๋ฌ๋ ค ์๊ธฐ ๋๋ฌธ์ ๋๋ค. *FromApp API๋ ํ์ฌ ํ์ค Win32 ๋์ API์ ๋นํด ์ต๊ณ ์ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฌ๊ธฐ์์ ์ง์ ํ ๊ฒ์ฒ๋ผ ์ธ๋ค์ผ ๋ฑ๊ณผ ๊ฐ์ ์ถ๊ฐ ์ ธ ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ํฌํจ๋์ด ์์ง๋ ์์ต๋๋ค(์บ์์์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ์ค์ ๋ก ํ๋ํ๋ ๋ฐ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค). ๋ฐ๋ผ์ ์ฑ์์ ์ด๋ฆ/๊ฒฝ๋ก ๋๋ ํ์ฅ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ด์ฌ ์๋ ํ์ผ์ ์ฐพ์์ผ ํ๋ ๊ฒฝ์ฐ *FromApp API๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก StorageFile์ ์์ฑํ์ฌ ์์ธํ ๋ด์ฉ์ ๊ฒ์ํ ์ ์์ต๋๋ค. ์ค๋ณต๋ ์ค๋ฒํค๋๊ฐ ์์ง๋ง ์ด ๊ฒฝ์ฐ ์ก์ธ์ค ํ์ธ์ด ๋ ๋ฒ ์ํ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ๋์ ํ์ผ๋ง ์ฐพ์ผ๋ ค๊ณ ํ๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ง ๋๊ท๋ชจ์ ์ค๋ณต์๋ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. Windows.Storage.Search.IndexerOption .OnlyUseIndexerAndOptimizeForIndexedProperties์ ํจ๊ป Storage WinRT API๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ๋ง ๋น ๋ฅธ ์ด๊ฑฐ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ด ์ด๊ฑฐํ์ ์ฃผ๋ฌธํ ์๋์ ์์ ํ ์คํ๋ ์คํ ๋ฆฌ์ง ํญ๋ชฉ์ผ๋ก ๋์ฒด๋ฉ๋๋ค. ์ถ๊ฐ ์ก์ธ์ค ๊ฒ์ฌ๋ฅผ ํฌํจํด์ผ ํ๋ ๊ฒฝ๋ก์์. ๋จ์ ์ ์ฌ์ฉ์๊ฐ ํด๋น ์์น์ ๋ํด ์ธ๋ฑ์๋ฅผ ๋นํ์ฑํํ ๊ฒฝ์ฐ ์๋ํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค.
์ฌ์ง/๋ฏธ๋์ด ์ ํ ์ฑ๊ณผ ๊ฐ์ UI๋ฅผ ์ฑ์ฐ๋ ๊ฒฝ์ฐ BulkAccess ํด๋์ค๋ ๊ฐ์ํ ๋ฑ์ ํฌํจํ๋ UI์ ์ฌ์ฉ ์๋๋ฆฌ์ค์ ๋ง์ถฐ์ ธ ์์ผ๋ฏ๋ก ์๋ง๋ ๊ฐ์ฅ ์ข์ ์ ํ์ผ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ UI์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ ๊ณตํ๊ณ ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๊ณต๊ธํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์ฝํ ์ธ ๋ฅผ ์คํฌ๋กคํ ๋ ํ์์ ๋ฐ๋ผ
๋ด๊ฐ ๋งํ๋ฏ์ด, ๋ง์ ํธ๋ ์ด๋ ์คํ๊ฐ ์์ต๋๋ค. ๋ถ๋ช ํ, ์ฐ๋ฆฌ๋ ์ฃผ์ด์ง ์ฑ์ ๊ฐ์ฅ ์ ํฉํ ๊ฒ์ด ๋ฌด์์ธ์ง ํ๊ฐํ๋ ํ๋ก์ธ์ค๋ฅผ ๋ฌธ์ํํ๋ ๋ฐฉ๋ฒ์ ์์๋ด๋ ์์ ์ ํด์ผ ํฉ๋๋ค. ๋ํ ๊ธฐ์กด ์ฑ์ ์ค๋จํ์ง ์๊ณ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๊ฐ์ ์ ๋ฌ์ฑํ ์ ์๋ ๋ถ๋ถ์ ๊ณ์ ํ๊ฐํฉ๋๋ค.
WinRT๋ ํฐ ํ๋ฉด์ด๋ฉฐ MS์ ๋จ์ผ ํ์ด ์์ ํ์ง ์์ต๋๋ค. ๊ฐ ํ์ ๊ฐ ๋ฆด๋ฆฌ์ค์ ๋ํ ์ฐ์ ์์๋ฅผ ํ๊ฐํ๊ณ ๋ฏธ๋ฆฌ ๊ณํ์ ๊ฒ์ํ ์๋ ์๊ณ ๊ฒ์ํ์ง ์์ ์๋ ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ ๋ ์ฑ ์ปจํ ์ด๋ ๋ด๋ถ ๋๋ ์ธ๋ถ์์ Win32 API์ ๊ด๋ จํ์ฌ ์ค๋ฒํค๋๊ฐ ์๋ ์ํฉ์ด ๋์์ผ๋ฉด ํฉ๋๋ค. ๋ถ๋ช ํ ์ฐ๋ฆฌ๋ ์ง๊ธ ๊ทธ ์์ ์ ์์ง ์์ผ๋ฉฐ ์ฐ๋ฆฌ๊ฐ ๊ฑฐ๊ธฐ์ ๋๋ฌํ ๊ฒ์ด๋ผ๋ ์ด๋ค ์ฝ์๋ ํ ์ ์์ต๋๋ค. ๋น์ฆ๋์ค ์ฐ์ ์์ ๋ฐ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง ๋ง์ ์ต์ข ์ฌ์ฉ์๊ฐ ์๋ Windows์ ๊ฐ์ ํฐ ํ๋ก์ ํธ์ ๋ํ ๊ณํ์ ํ๋ค๊ณ /ํ๋ค์ด์ผ ํ๋ ๋ณต์กํ ํ๋ก์ธ์ค์ ๋๋ค. ๋ชจ๋ ์์ค์์ ์ ํ. (๋ฐฉํดํ ์ ์๋ ๋ค์ํ ๊ธฐ์ ์ ๋ฌธ์ ๋ ๋งํ ๊ฒ๋ ์๊ณ ...)
@smaillet-ms
๋์ด์ ๋๊ธฐ ์๋๋ฆฌ์ค์ ๊ดํ @jtorjo :
- ํ์ผ๊ณผ ํด๋ ๋ชจ๋์์ ์๋ํฉ๋๊น?
๋ง์ ์ฑ๊ณผ ํ ์คํธ์์ ์๋ํด์ผ ํ๋ฉฐ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํ์ธ์.- .Path์ ์ก์ธ์คํ ์ ์์ต๋๊น?
๊ฐ๋ฅ์ฑ - ์คํ ๋ฆฌ์ง ํญ๋ชฉ์ ๋ฐฑ์ ํ ์ค์ ํ์ผ ์์คํ ๊ฒฝ๋ก๊ฐ ์์ผ๋ฉด ์์ ๋๋ค. (์ ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐ์ ๊ฒ์ ์ค์ ๋ก ์ค์ ํ์ผ ์์คํ ๊ฒฝ๋ก๊ฐ ์์ต๋๋ค)- ์ง์์ ์ ๋๊น(๊ทธ๋ ์ง ์๋ค๊ณ ๊ฐ์ )?
์๋์, ์ฑ์ ํฅํ ์ก์ธ์ค ๋ชฉ๋ก์ ์ถ๊ฐํ์ฌ ์ฑ์ ์๊ตฌ์ ์ผ๋ก ๋ง๋ค ์ ์์ต๋๋ค.- StorageFile/Folder๋ฅผ ๊ณ์ ์ฌ์ฉํด์ผ ํฉ๋๊น, ์๋๋ฉด ๋์ค์ .Path์์ ๋ค์ ๋ง๋ค์ด์ผ ํฉ๋๊น(2.์ ๋ํ ๋๋ต์ด YES๋ผ๊ณ ๊ฐ์ )?
ํฅํ ์ก์ธ์ค ๋ชฉ๋ก ๋๋ ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ ๋ชฉ๋ก์ ์ถ๊ฐํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํด๋น ๊ฐ์ฒด ์ธ์คํด์ค๋ฅผ ํตํด์๋ง ์ก์ธ์คํ ์ ์์ต๋๋ค. ํด๋น ์ธ์คํด์ค๋ฅผ ํด์ ํ๋ฉด ์ก์ธ์ค ๊ถํ์ด ์ฌ๋ผ์ง๋๋ค.
์ ๋ค๋ฆฐ๋ค. ์ด๋ ์์ ์์ ๋ด ์ฑ์์ ์ด๊ฒ์ ๊ตฌํํ ๊ฒ์ ๋๋ค.
[...] ์ธ๋ฑ์ ๋ฐ ์คํ ๋ฆฌ์ง ๊ฐ์ง ์๋น์ค์๋ ๋๋ผ์ด๋ธ์์ ์ธ๋ถ ์ ๋ณด(ํ์ผ ํฌ๊ธฐ ๋ฑ..)๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์ค์บํ๋ ์ฝ๋๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ฌ์ง ๋ฐ ๋น๋์ค ํ์ผ์ ์ฐพ๋ ๋ฐ ํ์ฉ๋ฉ๋๋ค. ์ฑ์ StorageLibrary API ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์์น๊ฐ ์ด๋ฏธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋์ง ํ์ธํ๊ณ ๋ฐ๊ฒฌ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ์ถ๊ฐํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ๋ฐ๋ํ๋ ๊ฒ์ด ์์ง๋ง ์ด๊ฒ์ ๋ด ์ฑ์ ์ถ๊ฐ ํฉ๋ณ์ฆ์ผ๋ก ๋ณด์ ๋๋ค. ์ค์ ๋ก ์ด๊ฒ์ ์ฌ์ฉํ๋ ์ฌ๋์ ๋ํด ๋ค์ด๋ณธ ์ ์ด ์์ต๋๊น?
์ง๊ธ ๋น์ฅ์ StorageFolder/File ๊ณผ ๊ด๋ จํ์ฌ ๋ชจ๋ ์ข ๋ฅ์ ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ์์ฒ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฐพ์์ผ ํ๋ฉฐ ์ด๊ฒ์ ์ถ๊ฐ ๋ฐฉ๋ฒ์ผ ๋ฟ์ ๋๋ค. ๊ฐ๋ฐ์์ธ ๋์๊ฒ ๋ค์ ํ ๋ฒ ๋ถ๋ด์ ์ค๋๋ค.
'FindFirstFileExFromApp - ์ด๊ฒ์ ์์ด์ผ ํฉ๋๋ค(๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ์กด์ฌํฉ๋๋ค) - ํ์คํ ํ๋๊ทธ๊ฐ ์ง์ ๋์ด์๋ ์ ๋ฉ๋๋ค.'
๋ชจ๋ *FromApp API๊ฐ ์ฑ ์ปจํ ์ด๋ ์ฑ์์ ์ฌ์ฉํ๋๋ก ์ค๊ณ๋๊ณ ์๋๋ ๊ฒ์ ์ ์ ์ผ๋ก ๋์ํฉ๋๋ค. ๋ฐ๋ผ์ ๋๊ตฌ๊ฐ ๊ทธ ์ค ํ๋์ ํ๋๊ทธ๋ฅผ ์ง์ ํ๋ ๊ฒฝ์ฐ ํด๊ฒฐํด์ผ ํ๋ ๋ฒ๊ทธ์ ๋๋ค.
๋์.
@smaillet-ms
์ฌ๋ฌ OS ๋ฆด๋ฆฌ์ค์์ ์คํ ๋ฆฌ์ง API์ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ธฐ ์ํด ๋ง์ ์์ ์ด ์ํ๋์์ต๋๋ค. ์ด ์์ ์์ ๊ฐ๋ฐ์์ ๊ณผ์ ๋ ์ฃผ๋ก ์ด๋ค API๋ฅผ ์ธ์ ์ฌ์ฉํ ์ง ์๋ ๊ฒ์ ๋๋ค.
์ ๊ฐ์ค๋ฝ๊ฒ๋ ์ด๊ฒ์ ๊ทธ๋ค์ง ์์ฌํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
WPF ์๋์๋ ๋จ์ํ System.IO๋ฅผ ์ฌ์ฉํ๊ณ ๋ด๊ฐ ์ํ๋ ํ์ผ/ํด๋ ์ฟผ๋ฆฌ๋ฅผ ๋ฏธ์น ๋ฏ์ด ์ฌ์ด ๋ฐฉ๋ฒ์ผ๋ก ์ํํ๊ณ ์๋์ ๋ํด ์ ํ ๊ฑฑ์ ํ์ง ์์์ต๋๋ค. ๋๋ ๋จ์ง ์๊ณ ์์ ๊ฒ์ด๋ค - ๊ทธ๊ฒ์ ์๋ํ๋ค. 4000๊ฐ ํ์ผ, 10000๊ฐ ํ์ผ - ๊ฐ๋จํ๊ฒ ์๋ํฉ๋๋ค.
์ผ์ ํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ผ๋ฉฐ ๊ทธ ์ค ๋ง์ ๊ฒ์ด ์ฃผ์ด์ง ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํด ์์ ํ ์๋ชป๋์์ต๋๋ค.
API๋ ์ ์ด๋ถํฐ ์กด์ฌํด์๋ ์ ๋ฉ๋๋ค.
๋ถํํ๋ "ํ๋์ ์ ๋ต"์ด๋ ๊ฒ์ ์ค์ ๋ก ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ํ์ผ ์์คํ ์์ ์ป์ ์ ๋ณด๋ก ๋ฌด์์ ํ ๊ฒ์ธ์ง์ ๋ฌ๋ ค ์๊ธฐ ๋๋ฌธ์ ๋๋ค. *FromApp API๋ ํ์ฌ ํ์ค Win32 ๋์ API์ ๋นํด ์ต๊ณ ์ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
๊ทธ๊ฒ์ ํ์คํ ์ฌ์ค์ ๋๋ค. *FromApp API๋ฅผ ์ฌ์ฉํ๊ธฐ ์ข์ ํด๋์ค(๋ด ์๋๋ฆฌ์ค์ ๊ฒฝ์ฐ)๋ก ์ด๋ฏธ ๋ํํ์ง๋ง, ์ด๊ฒ์ MS๋ ์ํํด์ผ ํ๋ ์ผ์ ๋๋ค. ์ฌ์ฉ ์ฌ๋ก์ 98%๋ฅผ ์ฐจ์งํ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋์ต๋๋ค.
๋ด๊ฐ ์ง์ ํ๊ณ ์ถ์ง๋ง ์๊ฐ์ด ์์ต๋๋ค. ๋๋ ๋์ ๊ฐ๋จํ ์์ ์ ํ๋ณตํ๊ฒ ๊ณต์ ํ ์ ์๊ณ ๋๊ตฐ๊ฐ ๊ฑฐ๊ธฐ์์ ๊ทธ๊ฒ์ ๊ฐ์ ธ๊ฐ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์์ ์ง์ ํ ๊ฒ์ฒ๋ผ ์ธ๋ค์ผ ๋ฑ๊ณผ ๊ฐ์ ์ถ๊ฐ ์ ธ ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ํฌํจ๋์ด ์์ง๋ ์์ต๋๋ค(์บ์์์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ์ค์ ๋ก ํ๋ํ๋ ๋ฐ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค).
๋์ํจ - ์ด๋ฏธ ๋ณ๋๋ก ์ด ์์ ์ ์ํํ๊ณ ์์ต๋๋ค(๋ค๋ฅธ ์ค๋ ๋์์ ์ธ๋ค์ผ ์์ฒญ) - ์ด์ ๋ํ ์ฟผ๋ฆฌ API๋ ๋๋ผ์ด ์ผ์ด ๋ ๊ฒ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ๋ค์ผ์ ๋๋์ผ๋ก ์์ฒญํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ IAsyncEnumerable์ ์ป์ ์ ์์ต๋๋ค.
๋ค์ ํ ๋ฒ, MS๋ ์ด๋ฅผ ์ํ ๊ฐ๋จํ API๋ฅผ ๋ง๋ค ์ ์์ผ๋ฉฐ, ์ง๊ธ์ ๊ฐ ํ์ผ์ ๋ํด .GetThumbnailAsync๋ฅผ ์ํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ API๋ฅผ ์ ๊ณตํ๋ฉด ๋์ค์ ์๋๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ์ฑ์์ ์ด๋ฆ/๊ฒฝ๋ก ๋๋ ํ์ฅ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ด์ฌ ์๋ ํ์ผ์ ์ฐพ์์ผ ํ๋ ๊ฒฝ์ฐ *FromApp API๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก StorageFile์ ์์ฑํ์ฌ ์์ธํ ๋ด์ฉ์ ๊ฒ์ํ ์ ์์ต๋๋ค. ์ค๋ณต๋ ์ค๋ฒํค๋๊ฐ ์์ง๋ง ์ด ๊ฒฝ์ฐ ์ก์ธ์ค ํ์ธ์ด ๋ ๋ฒ ์ํ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ๋ฌ์ค ์ธก๋ฉด์์ *FromApp API์๋ ์์ฑ ์๊ฐ, ๋ง์ง๋ง ์ก์ธ์ค ์๊ฐ, ๋ง์ง๋ง ์ฐ๊ธฐ ์๊ฐ, ํ์ผ ํฌ๊ธฐ์ ๊ฐ์ ๋ง์ ์ ๋ณด๊ฐ ์ด๋ฏธ ์์ต๋๋ค.
ํ๋์ ํ์ผ๋ง ์ฐพ์ผ๋ ค๊ณ ํ๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ง ๋๊ท๋ชจ์ ์ค๋ณต์๋ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. Windows.Storage.Search.IndexerOption .OnlyUseIndexerAndOptimizeForIndexedProperties์ ํจ๊ป Storage WinRT API๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ๋ง ๋น ๋ฅธ ์ด๊ฑฐ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ด ์ด๊ฑฐํ์ ์ฃผ๋ฌธํ ์๋์ ์์ ํ ์คํ๋ ์คํ ๋ฆฌ์ง ํญ๋ชฉ์ผ๋ก ๋์ฒด๋ฉ๋๋ค. ์ถ๊ฐ ์ก์ธ์ค ๊ฒ์ฌ๋ฅผ ํฌํจํด์ผ ํ๋ ๊ฒฝ๋ก์์. ๋จ์ ์ ์ฌ์ฉ์๊ฐ ํด๋น ์์น์ ๋ํด ์ธ๋ฑ์๋ฅผ ๋นํ์ฑํํ ๊ฒฝ์ฐ ์๋ํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์๋ ๋ช ๊ฐ์ง ๋จ์ ์ด ์์ต๋๋ค. ์ฐ์ ์ ํ ์คํธ์์๋ ์์ธ์ด ์์ฑ๋์ง ์์ ํ์ผ๋ณด๋ค ๋น ๋ฅด์ง๋ง ๊ทธ๋ ๊ฒ ๋น ๋ฅด์ง๋ ์์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ด 3x-5x ๋ ๋น ๋ฅด๋ค๊ณ ์๊ฐํ์ง๋ง ์ฌ์ ํ *FromApp๋ณด๋ค ์ฝ 10x-50x ๋๋ฆฝ๋๋ค. ๊ทธ๊ฒ์ ๋ฏธ์น ๋ฏ์ด ๋๋ฆฝ๋๋ค. ๊ฒ๋ค๊ฐ ์ฌ์ฉ์์๊ฒ "๋ชจ๋ ํ์ผ์ ํ์ผ ์์ฑ ์ธ์ ์ปจํ ์คํธ ์ธ๋ฑ์ฑ์ด ํฌํจ๋จ"์ ํ์ธํ๋ผ๊ณ ๋งํ ์๋ ์์ต๋๋ค. ์ด๋ ๋จ์ํ ๊ทธ์ ์ต์ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ง๋ ๋ง์ ์ฌ์ฉ์๊ฐ ์ด๋ฅผ ์ ํํ์ง ์์ ์ฑ๋ก ๋ก๋๋ค.
์ค์ ๋ก Windows๋ ์ฌ์ฉ๋ ํ์ผ์ ์๋์ผ๋ก ํ์ ํ๊ณ ํด๋น ํด๋๋ฅผ ์์ธํํด์ผ ํฉ๋๋ค. ์ด๋ ๋ฏธ๋์ด ํ์ผ(๋น๋์ค/์ฌ์ง/์์ )๊ณผ ๋ฌธ์์ ๋งค์ฐ ์ค์ํ ๊ฒ์ ๋๋ค.
์ฌ์ง/๋ฏธ๋์ด ์ ํ ์ฑ๊ณผ ๊ฐ์ UI๋ฅผ ์ฑ์ฐ๋ ๊ฒฝ์ฐ BulkAccess ํด๋์ค๋ ๊ฐ์ํ ๋ฑ์ ํฌํจํ๋ UI์ ์ฌ์ฉ ์๋๋ฆฌ์ค์ ๋ง์ถฐ์ ธ ์์ผ๋ฏ๋ก ์๋ง๋ ๊ฐ์ฅ ์ข์ ์ ํ์ผ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ UI์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ ๊ณตํ๊ณ ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๊ณต๊ธํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์ฝํ ์ธ ๋ฅผ ์คํฌ๋กคํ ๋ ํ์์ ๋ฐ๋ผ
์์งํ, ๋๋ ์ด๊ฒ์ด ์๋์ง์กฐ์ฐจ ๋ชฐ๋์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ด์ผ๊ธฐํ๋ฉด์ ๊ทธ๊ฒ์๋ณด๊ณ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ฉด IStorageQuery์ ๋์ผํ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ๊ฒช์ ์ ์์ผ๋ฏ๋ก ์ด๊ฒ์ ์ฝ๊ฐ์ ๊ตฌ๋ฌธ์์ ์คํ์ ๋ถ๊ณผํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ์ฑ๋ฅ ๋ฌธ์ ๋ ์์ฒญ๋ฉ๋๋ค. ํ์ผ์ด ๋๋ฌด ์ปค์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋ต 1000๊ฐ์ ํ์ผ์ ๋ํด 9-10์ด ํ์ ์ฒซ ๋ฒ์งธ ํ์ผ์ด ๊ฒ์๋ฉ๋๋ค. ์ฆ, ๊ฒฐ๊ณผ๋ฅผ ์ด๊ฑฐํ๊ธฐ ์์ํ๋ฉด ์๋ฌด ๊ฒ๋ ํ๊ธฐ ์ ์ 9-10์ด ๋์ ์ฐจ๋จ๋ฉ๋๋ค. FileInformationFactory๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋์ผํ๋ค๊ณ ๊ฐ์ ํ๊ณ ๊ทธ ์๊ฐ ๋์ UI๊ฐ ์๋ตํ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค.
WinRT๋ ํฐ ํ๋ฉด์ด๋ฉฐ MS์ ๋จ์ผ ํ์ด ์์ ํ์ง ์์ต๋๋ค. ๊ฐ ํ์ ๊ฐ ๋ฆด๋ฆฌ์ค์ ๋ํ ์ฐ์ ์์๋ฅผ ํ๊ฐํ๊ณ ๋ฏธ๋ฆฌ ๊ณํ์ ๊ฒ์ํ ์๋ ์๊ณ ๊ฒ์ํ์ง ์์ ์๋ ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์ ๋ ์ฑ ์ปจํ ์ด๋ ๋ด๋ถ ๋๋ ์ธ๋ถ์์ Win32 API์ ๊ด๋ จํ์ฌ ์ค๋ฒํค๋๊ฐ ์๋ ์ํฉ์ด ๋์์ผ๋ฉด ํฉ๋๋ค.
๊ธ์์, ์ฐ๋ฆฌ ์ค ๋ง์ ์ฌ๋๋ค๋ ;) WinRT๊ฐ Windows์ ํฐ ๋ถ๋ถ์ด๊ณ ๋ค๋ฅธ ๋ถ๋ถ์ด ๋ค๋ฅธ ํ์ ํฉ์ด์ ธ ์๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
MS๊ฐ WinRT์ ๋ํด ๊ฐ์ง๊ณ ์๋ ๋น์ ์ ๊ณต๊ฐ์ ์ผ๋ก ๋ณด์ง ๋ชปํ๋ ๊ฒ์ ์ฐ๋ฆฌ์๊ฒ ๊ทธ๋ค์ง ์์์ด ๋์ง ์์ต๋๋ค. ๋ฌด์จ ์ผ์ด/์ธ์ /๋ฐ์ํ๋ค๋ฉด ํ์๋ผ์ธ์ด ์๋ ๊ฒ.
๋์๊ฒ ํ์ผ/ํด๋๋ฅผ ์ฒ๋ฆฌํ๋ ์๋๋ ๋จ์ํ ๊ฐ์ฅ ์ค์ํฉ๋๋ค. ํด๋์ ์๋ ํ์ผ์ ์ด๊ฑฐํ๋ ๊ฒ๊ณผ ๊ฐ์ด ๊ฐ๋จํ ์์ ์ ์ํํ๋ ๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์๋๋ฐ ์ด๋ป๊ฒ WinRT/UWP๋ฅผ ์ ๋ขฐํ ์ ์์ต๋๊น? ๊ทธ๋ฆฌ๊ณ "๋ด Google ๊ฒ์์ด *FromApp API๋ก ์คํ๋ ๋งํผ ์ด์ด ์ข์๊น?"๋ผ๋ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ด์ญ์์ค.
๋๋ ๋ฐฐ์๋ง๋ํ ์ฌ๋์ฒ๋ผ ๋ณด์ด๊ณ ์ถ์ง ์์ต๋๋ค. ์๊ฐ์ ๋ด์ด ์ด ๋ชจ๋ ๊ฒ์ ์ค๋ช ํด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
@BenJKuhn ๋๊ตฐ๊ฐ(https://docs.microsoft.com/answers/questions/6112/updating-existing-app-with-new-certificate-uwp.html?childToView=25297#comment-25297)๊ฐ The ์ฌ๊ธฐ์์ "์ ์ธ์ฆ์" ๋ฐํ --> https://aka.ms/AA8bw9v
์ ๋ง ๋์ ์ธก๋ฉด์์ -- ๋๋ ์ด๊ฒ์ ์ก์ธ์คํ๋ ค๊ณ ํ๊ณ ์ด ํฐ์ผ์ ๋ณผ ์ ์๋ ์ก์ธ์ค ๊ถํ์ด ์๋ค๊ณ ์๋ ค์ค๋๋ค. ์ด๊ฒ์ "ํผ๋๋ฐฑ ํ๋ธ"์ ์ ๋ขฐ์ฑ์ ์ค์ ๋ก ๋์์ด ๋์ง ์์ต๋๋ค.
MS ์คํ ์ด ์ธ๋ถ์์ ์ฌ์ด๋๋ก๋๋ฅผ ํ์ฉํ์ง๋ง ์ค์ ๋ก๋ ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น์ด ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ฌ์ค์ด ์๋๋๋ค. MS Store์ ์ ํ๋ฆฌ์ผ์ด์
์ ์
๋ก๋ํ ์ ์์ผ๋ฉฐ ์ฑ์ ์ค์นํ๋ ๋์ฒด ๋ฐฉ๋ฒ์ผ๋ก appinstaller๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ธ์ฆํ๋ ๋์ ๋ด ์ฑ์ด ๊ธ์ง๋์์ต๋๋ค.
MS ์คํ ์ด ์ ์ฑ
:
https://docs.microsoft.com/en-us/windows/uwp/publish/store-policies?redirectedfrom=MSDN#101 -distinct-function--value-accurate-representation
10.1.5
๊ทํ์ ์ฑ์ Microsoft Store๋ฅผ ํตํด์๋ง ์ํํธ์จ์ด๋ฅผ ํ๋ณดํ๊ฑฐ๋ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
๋ด ์๋ฒ์์ appinstaller ํ์ผ์ ์ ๊ฑฐํ ํ ์ฌ์ฉ์๋ MS Store๋ฅผ ๋ค์ ์ฌ์ฉํ์ฌ ๋ด ์ฑ์ ์ค์นํ ์ ์์ต๋๋ค. ๋๋ ๊ท์น์ ์ดํดํฉ๋๋ค. ์ฌ์ง์ด ๊ท์น์ ๋ํ ์ด์ ๋ฅผ ์ ์ ์์ต๋๋ค. ํ์ง๋ง ์คํ ์ด์ ์ฑ์ธ์คํจ๋ฌ(์ ๋๊ทธ๋จ)๋ ์ด์ฝ๋ฆฟ(์๋ก์ด MS ํฐ๋ฏธ๋)์ ํตํด ๋ฐฐํฌ๋๋ ๋ง์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์๊ณ ์์ ๋ ์ ๋ง ์ค๋ง์ค๋ฝ์ต๋๋ค.
MS ์คํ ์ด ์ธ๋ถ์์ ์ฌ์ด๋๋ก๋๋ฅผ ํ์ฉํ์ง๋ง ์ค์ ๋ก๋ ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น์ด ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ฌ์ค์ด ์๋๋๋ค. MS Store์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ก๋ํ ์ ์์ผ๋ฉฐ ์ฑ์ ์ค์นํ๋ ๋์ฒด ๋ฐฉ๋ฒ์ผ๋ก appinstaller๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ธ์ฆํ๋ ๋์ ๋ด ์ฑ์ด ๊ธ์ง๋์์ต๋๋ค.
MS ์คํ ์ด ์ ์ฑ :
https://docs.microsoft.com/en-us/windows/uwp/publish/store-policies?redirectedfrom=MSDN#101 -distinct-function--value-accurate-representation
๋๋ ์ฐ๋ฆฌ๊ฐ ์ฌ๊ธฐ์ ๊ฐ์ ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์๋์ง ํ์ ํ ์ ์์ต๋๋ค. ์ด ์๋์ ์ ๋ MS Store๊ฐ ํ์ํ๊ฑฐ๋ ์ํ๋ ๋จ ํ๋์ ์ด์ ๋ฅผ ์๊ฐํด๋ผ ์ ์์ต๋๋ค. ๋ด ๋ฌธ์ ๋ ์ฑ์ ๊ฐ๋ฐํ ๋ค์ MS ์คํ ์ด ์ธ๋ถ์ ๋ฐฐํฌํ๋ ๊ฒ์ด ์์ฒญ๋๊ฒ ์ด๋ ต๋ค๋ ๊ฒ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋จผ์ ๋ค๋ฃจ์ง ์์ ๋ช ๊ฐ์ง ์ฌํญ์ ์ง๊ณ ๋์ด๊ฐ๊ฒ ์ต๋๋ค.
โข ์ค๋ ๋ ํ๋จ ๋ถ๊ทผ์์ Windowing, ์ฐฝ ์์น ๋ฑ์ ๋ํด ๋ง์ ํ ๋ก ์ด ์์ต๋๋ค. ๊ทธ๊ฒ์ ์๋ง๋ ์ฌ์ ํ WinUI์ ์ฃผ์ ์์ ์กฐ๊ธ ๋ฒ์ด๋ ์์ง๋ง ์ง์ ๋ ๊ฐ๊น์ต๋๋ค. WinUI ์ฌ๋๋ค์ด ์ฐฝ ์์น, ์ ์ฒด ํ๋ฉด ๋ฑ์ ๋ํ ํผ๋๋ฐฑ์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ๋ฆฌ๋๋ ์ ์ ๋๋๋ก ํ๊ณ ์ถ์ต๋๋ค. @StephenLPeters , ์ด๊ฒ์ ๋์์ค ์ ์์ต๋๊น?
โข ๋๋ VS ํผ๋๋ฐฑ์ ๊ฑด๋๋ฆฌ์ง ์์ ๊ฒ์ ๋๋ค. VS ํ์ง ๋ฐ ์ฑ๋ฅ์ ๋ํด ๋ ผ์ํ ์ ์๋ ๊ฑด๊ฐํ ํฌ๋ผ์ด ์์ต๋๋ค. Visual Studio์์ Windows ์ฑ์ ๊ฐ๋ฐํ๋ ์ด์ผ๊ธฐ๊ฐ ์ข ๋ ๋ณต์กํด์ง๊ณ ํผ๋์ค๋ฌ์์ก๋ค๋ ๋ ผ์์ ์ฃผ๋ชฉํ์ต๋๋ค.
โข WPF. ๋๋ WPF์ ์ฌ๋์ ์ฆ์ค ๊ด๊ณ๊ฐ ์์ต๋๋ค. ์ ์ฉํ๊ณ ๋๋ถ๋ถ ์ข์ต๋๋ค. ํ์ผ ์ ํ๊ธฐ์์ ์ค์ฒฉ๋ ํด๋ฆญ์ ๋ํ ์ค๋ช ์ ์ฝ์์ ๋ ๋๋ ์์์ต๋๋ค. WPF์๋ ์ ๋ง ๊ณจ์น ์ํ ๋ฌธ์ ๊ฐ ๋ช ๊ฐ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. WPF์์ ๋๋๊ทธํ ๋ ๋๋๊ทธ ๋ฉ์์ง๊ฐ ์ค์ฒฉ๋ ๋ฉ์์ง์์ ์ด์ค ์ ๋ฌ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฏ๋ก ์ค์ ๋ก ๋ชจ๋ฌ ๋๋๊ทธ ๋ด์์ ๋ชจ๋ฌ ๋๋๊ทธ๋ฅผ ์ํํ๊ณ ์์ต๋๋ค. ๋น์ ์ ๋ณดํต ๋์น ์ฑ์ง ๋ชปํฉ๋๋ค. ๋๊ฐ. ๊ทธ๋ฌ๋ ๋๋ ์ฌ์ ํ WPF๋ฅผ ์ข์ํฉ๋๋ค. ๐
๋์งธ, @verelpode : ์ ๋ฅผ ์๊ฒ ๋ง๋ค์์ต๋๋ค. ๋ด๊ฐ ์ด๊ฒ์ ๋งค๋ฌ๋ฆฌ๋ฉด ๊ด์ฐฎ์ต๋๊น?
"์ง์ ์ ์ธ ์ง์ค์ ๋ค๋ฃจ์ง ๋ชปํ์ค ๊ฒ ๊ฐ์์ ๋ํผํ ์์ฅ๊ฐ์ ๋ผ๊ณ ๋ฝ๋ฝ์ด๋ก ์ธ์ ๋ณด๋ด๋๋ฆฝ๋๋ค"
์, ์ด์ ์ค์ ์ฃผ์ ๋ก ๋์ด๊ฐ๋๋ค.
WinRT vs. UWP vs. .NET โ ์ฝ๊ฐ์ ๋ฐฐ๊ฒฝ ์ง์
Windows ๋ฐํ์์ ์ค์ ๋ก ๋ ๊ฐ์ง๊ฐ ํ๋๋ก ํตํฉ๋๊ณ ๋ค๋ฅธ ๊ฒ์ผ๋ก ์์ถ๋์ด ์ค์ ๋ก ์คํด๋๊ณ ์์ต๋๋ค.
Windows ๋ฐํ์ ์ ํ ์์คํ ์ ์ค์ ๋ก ์ด๋ค ์๋ฏธ์์๋ COM V2์ ๋๋ค. ์ธํฐ๋ฝํธ ํธ๋ฆฌ๊ฑฐ์์ Win32 ํธ์ถ, COM API ํธ์ถ์ ์ด๋ฅด๋ ์งํ์ ์์ ๋ค์ ๋จ๊ณ์ ๋๋ค. ์ ํ ์์คํ ์ COM์์ ์ด๋ค ๋ฉด์์ ํํ๋ ฅ์ด ์ฝ๊ฐ ๋จ์ด์ง์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์๋นํ ์์ ์งํฉ์ ๋๋ค. ์๋ ์ ํํ ํ๋์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ค๊ณ๋์์ต๋๋ค. VS๊ฐ .NET ํ๋ ์์ํฌ์์ ๋ฉ์ง ๋ํผ๋ฅผ ๋ง๋ค ๋๊น์ง ๊ธฐ๋ค๋ฆด ํ์ ์์ด .NET ๋๋ ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๊ฐ WinRT API๋ฅผ ๋ ์ฝ๊ฒ ํธ์ถํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ทธ๋ฐ ๋ค์ API ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ํ๋ฅญํ ์ผ์ ํ๊ณ ๋ช ๊ฐ์ง ์ด๋ฆฌ์์ ์ผ์ ํ์ต๋๋ค. ๋น๋๊ธฐ ํญ๋ชฉ ์ค ์ผ๋ถ์ ์ฝ๊ฐ ๋น ์ ธ ๋ค์์ ์ ์์ต๋๋ค. C++ /WinRT๋ก ํ๋ก๊ทธ๋๋ฐํ๋ฉด ์ด๋ฅผ ํฌ๊ฒ ์ํํ ์ ์์ต๋๋ค. UI ์ค๋ ๋์ ์์ง ์์ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ๋ง ํ๋ฉด ๋๊ธฐํ๋์ด ์ฐจ๋จ๋๊ณ ์๋ฃ๋ฉ๋๋ค. .NET์ ์ฌ์ฉํ๋ฉด ์ด์ ์ด ์์ ์ด ๋ ์ฌ์์ง ์๋ ์์ง๋ง ์์ฆ์๋ .NET ์ฝ๋๋ฅผ ๋ ์์ฑํ๊ณ ์์ผ๋ฉฐ ํ์ฌ ์ํฉ์ ๋ํด ํ์ ์ด ์์ต๋๋ค. ๊ณํ๋๋ก ์๋ํ์ง ์๋ ๋ช ๊ฐ์ง ๋ค๋ฅธ ์์ ๋ ์ํํ์ต๋๋ค. ๋๋ ๊ทธ๊ฒ๋ค์ ๋ชจ๋ ๋์ดํ์ง ์์ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๋ช ๊ฐ์ง ๊ฐ์ ์ฌํญ์ด ์์ต๋๋ค.
UWP ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋ธ์ ๋ ๋ฐ๋ก winrt์ ๋ฐ์ด๋ค์์ต๋๋ค. ์ฆ, OS API๋ฅผ ํ ๋ฒ๋ง ์์ฑํ๋ฉด JS ๊ธฐ๋ฐ ์ฑ, .NET ์ฑ ๋ฐ ๊ธฐ๋ณธ ์ฑ์์ ์ฝ๊ฒ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๊ทธ ์์ฒด๊ฐ ์ ํจ์ด์๋ค. ๋ค๋ฅธ ๋ชจ๋ Win32 API๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ ์ข์ง ์์์ต๋๋ค. ์์ง ๋ฌธ์ ์์ ์ด ๋ช ๊ฐ์ง ๋จ์ ์์ง๋ง ์ง๊ธ์ ์คํ ์ด ์ฑ์์ ์ฌ์ฉํ ์ ์๋ ํจ์ฌ ๋ ๊ณ ์ ์ ์ธ Win32 API๊ฐ ์์ต๋๋ค. ๊ฐ๋จํ ๋งํด์, ์ฐ๋ฆฌ๋ ์๋ก์ด ์ฅ์น์ ๋ํ ์๊ท๋ชจ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์์ ํ ์๋ก์ด ์ฑ ํ๋ซํผ์ ๋ง๋ค์์ผ๋ฉฐ ๊ธฐ์กด ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ํ์ฉํ์ง ์์์ผ๋ฉฐ ๋ง์ ์ฌ๋๋ค์ด ๋ํ๋์ง ์์์ต๋๋ค. ์ฐ๋ฆฐ ์์. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์กฐ๊ธ์ฉ ์์ ํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ง์ ๊ฒ์ ์ป์๊ณ , ๋ ์ธ๊ณ์ ์ต์ ์ ์ ๊ทผ ๋ฐฉ์์ ํฅํด ์ฒ์ฒํ ๊ทธ๋ฌ๋ ๊พธ์คํ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์ ์ธ์ ์ค์น ์์คํ ์ ๋๋ถ๋ถ์ ๋ฉด์์ ํ๋ฅญํ ๊ฒ์ ๋๋ค.
UWP ์ฑ๊ณผ ๋ฐ์คํฌํฑ ์ฑ ๊ฐ์ ์ฝ๋ ์ด์์ฑ๋ ์ด ์ค๋ ๋์์ ๋ค๋ฃจ์์ต๋๋ค. UWP ๋ชจ๋ธ์ด ๋๋ฌด ๋ค์ํ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๊ฐ์ง ๊ณ ์ถฉ์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์ต๋๋ค. ์ผ๋ถ๋ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ฑฐ๋ "์ฃผ์ ํด์"์ด ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๋ CRT DLL์ ๋ํด ๋ค๋ฅธ ์ด๋ฆ์ ์ฌ์ฉํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ํ์ฑ ์ธ VC ํฌ์๋ ํจํค์ง๋ฅผ ๊ตฌ์ฑํ์ง๋ง ์ค์ ์์ ์ ๊ฒฐ๊ตญ ํ์ผ ์ด๋ฆ ๋ฐ๊พธ๊ธฐ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ณธ์ง์ ์ผ๋ก ํ์ํ CRT์ ํฅํ ๋ฒ์ ์์ ๊ตฌ๋ถ์ ์ ๊ฑฐํ๋ ๊ฒ์ ๋๋ค. ๋ฐฉํด๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์ด ์์ ์ ๋๋ฌผ๊ฒ ์ํํฉ๋๋ค.
WinRT ์์ฒด๋ ํด๋ง ์คํ ์์ค๋ฅผ ์ ์ ๋ ๋ง์ด ์ฎ๊ธฐ๊ณ ์์ผ๋ฉฐ ์ ์๋ ค์ ธ ์์ง๋ ์์ง๋ง ๋๋ถ๋ถ์ WinRT๋ ๋ฐ์คํฌํฑ ์ฑ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. XAML์ ํฐ ๊ฒฉ์ฐจ์์ต๋๋ค. XAML Islands๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ ๋จ๊ณ์์ง๋ง ์ ๋ WinUI๊ฐ ํจ์ฌ ๋ ๊ธฐ๋๋ฉ๋๋ค.
ํน์ API์ ๋ํ ํผ๋๋ฐฑ
์ด ์ค ๋ง์ ๊ฒฝ์ฐ ์ด๊ฒ์ด ๊ทํ์ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ ํผ๋๋ฐฑ์ ์ ์ถํ๋๋ก ์์ฒญํ๊ฒ ์ต๋๋ค. ๋ฌธ์ ๋ฅผ ์ฌ๋ฐ๋ฅธ ํ์ผ๋ก ํ๋ณดํ๋ ๋ฐ ๋์์ ๋๋ฆฌ๊ฒ ์ต๋๋ค. Windows์ ๋ค๋ฅธ ํ์ ๊ฐ๊ฐ ๊ณ ์ ํ API๋ฅผ ๋ด๋นํ๋ฉฐ ํผ๋๋ฐฑ ํ๋ธ์ ์ ์ถํ๋ ๊ฒ์ด ๊ฐ์ฅ ํจ๊ณผ์ ์ ๋๋ค. ์ด๊ฒ์ ํผ๋๋ฐฑ์ ์ค์ ์ธ๊ฐ ๋ฐ ์ด์ผ๊ธฐ์ ์ฐ๊ฒฐํฉ๋๋ค. ๋ํ ํผ๋๋ฐฑ์ ์ถ์ ํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ ์ ํ๊ฒ ์ ์ถํ๋ ํผ๋๋ฐฑ์ ์ถ๊ฐํ์ฌ ์๋ก๋ฅผ ์กฐ๊ธ ๋์ธ ์ ์์ต๋๋ค. ์ ์ ํ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ ํํ์ญ์์ค. ๋ช ํํ์ง ์์ ๊ฒฝ์ฐ "๊ฐ๋ฐ์ ํผ๋๋ฐฑ" -> API ํผ๋๋ฐฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ต์ ์ฑ์ ์ํ ํ์ผ ์์คํ API๋ ๊ณ ํต์ค๋ฝ๊ณ ์๊ธฐ์น ์๊ฒ ๋๋ฆฝ๋๋ค.
https://docs.microsoft.com/answers/questions/608/Please-either-allow-systemio-all-over-hdd-or-dast.html
์ฐ๋ฆฌ๋ ๊ณ ๊ฐ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ์ฐ๋ฆฌ ํ ๋ชจ๋๋ก๋ถํฐ ์ด ํผ๋๋ฐฑ์ ๋ค์์ต๋๋ค. ์ด ์๊ฐ์ ๋๋ ์ ์๋ ๊ฒ์ด ๋ ๋ง์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ํ์ฌ๋ก์๋ ๋ถํํ๋ "์ฐ๋ฆฌ๋ ์๊ณ ์์ต๋๋ค"๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค.
BroadSystemAccess API/๊ธฐ๋ฅ์ ๊ตฌํ๋ ๋๋ก ์ค์ฉ์ ์ด์ง ์์ต๋๋ค.
https://docs.microsoft.com/answers/questions/6483/is-uwp-the-right-development-tool-for-my-project.html
ํผ๋๋ฐฑ ํ๋ธ ํญ๋ชฉ์ ์ ์ถํ๊ณ ๋งํฌ๋ฅผ ๋ณด๋ด์ฃผ์ธ์. ๊ฐ์ธ์ ์ผ๋ก ํ๋ณดํด์ ์ ๋๋ก ๋ ์ฃผ์ธ์๊ฒ ๊ฑด๋ค๊ฒ ์ต๋๋ค. 80% ๊ฐ์์จ์ ์ข์ง ์์ต๋๋ค. ์ฌ์ฉ์๋ค์๊ฒ๋ ์ ์ ํธ๋ผ๋ ์ ์ ์ดํดํฉ๋๋ค. IF, ํ์ผ API๊ฐ ์ถฉ๋ถํ ๋น ๋ฅด๋ฉด ํฅํ ์ก์ธ์ค ๋ชฉ๋ก์ด ์ต์ํ์ ๊ณ ํต์ ์ํํ ๊ฒ ๊ฐ์ง๋ง ์ง๊ธ์ฒ๋ผ '๋งค๋๋ฝ์ง' ์์ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋, ๋น์ ์ ๋ฐ์์ ์ด๋ ค์ด ์ฅ์ ์ฌ์ด์ ์์ต๋๋ค. ๋น์ ์ด ์ง๊ธ ํ๊ณ ์๋ ๋ฐฉ์์ด ๋ง๋ฒ์ฒ๋ผ ๋๊ธฐ ์ํด์๋ ์ฌ์ฉ์๊ฐ ๋ชจ๋ ๊ฒ์ ๋ณผ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค. ๊ทธ๋ค์ ๋น๋ฐ๋ฒํธ ์คํ๋ ๋์ํธ, ๊ทธ๋ค์ ๋ฉ์ผ ํด๋, ๊ทธ๋ค์ ๋ธ๋ผ์ฐ์ ์บ์ ๋ฑ. ๋น์ ์ ์ ๋ขฐํ ์ ์์ง๋ง, ๋น์ ์ ์ฑ์ ์ฌ์ฉ์๋ค์ด ๊ทธ๋ค์ ์ธ๊ณ๋ฅผ ๋๊ฒจ์ฃผ๊ธฐ ์ ์ ์ ์ ๋ฉ์ถ๊ณ ๊ทธ๋ค์ด ๋น์ ์ ์ผ๋ง๋ ์ ๋ขฐํ๋์ง ์๊ฐํ๊ฒ ํด์ผ ํฉ๋๋ค.
์ฑ์ ๋ซ๊ณ ๋ค์ ์์ํ๋ ์์ด๋์ด๊ฐ ์ด์ํ ๋จ๊ณ๋ผ๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ์ด๊ฒ์ ์ ์ด๋ ์ฒซ ์ถ์์์ ๋ถ๋ฅ๋์ด์ผ ํ๋ ์ ํ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ํผ๋๋ฐฑ ํญ๋ชฉ์ ๋ณ๋๋ก ์ ์ถํด ์ฃผ์ธ์. ๊ฐ์ ์ ์. ํ๋ณด ๋ฐ ์ ๋ฌํ๊ฒ ์ต๋๋ค.
ํฅํ ์ก์ธ์ค ๋ชฉ๋ก์ด ํ์ ํด๋์ ์ก์ธ์คํ ์ ์๋์ง ์ฌ๋ถ์ ๊ด๋ จํ์ฌ ํ์ด์ง์ ๋ํ ๋ฌธ์ ๋ฌธ์ ๋ฅผ ๋ง๋ค์์ต๋๋ค. https://github.com/MicrosoftDocs/windows-uwp/issues/2322. ๋ฌธ์ ํ์ด์ง๊ฐ github์ ์์ผ๋ฏ๋ก ๋ฌธ์์ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ฑฐ๋ ๋ด์ฉ์ ๋ํ ๋ณ๊ฒฝ์ ์ ์ํ ์๋ ์์ต๋๋ค.
ํ์ผ์ ์ฑ์ผ๋ก ๋๋๊ทธํ๋ฉด ์ฐ๊ธฐ ์ก์ธ์ค๊ฐ ํ์ฉ๋์ง ์์ต๋๋ค. ํผ๋๋ฐฑ ํ๋ธ์ ๋ํ ๋์ผํ ์ ์์ ๋๋ค. ์ ์ถํด ์ฃผ์๋ฉด ๊ทธ์ ๋ฐ๋ผ ์๋ดํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
MS ์คํ ์ด ์ธ๋ถ์์ ์ฌ์ด๋๋ก๋ฉ์ ์ํ ์ฑ ๋ง๋ค๊ธฐ
์ฌ๊ธฐ์ ์ป์ ๊ฒฐ๋ก ์ ๋ฌธ์ ์ ๋๋ถ๋ถ์ด ๋ฌธ์ ๋ฌธ์ ์ด์ง๋ง ๋ ๋ค๋ฅธ ์ฃผ์ ์ธก๋ฉด์ ๋ค๋ฃฌ๋ค๋ ๊ฒ์ ๋๋ค. ์ผ๋ถ ๋๊ตฌ๊ฐ github ํ๋ก์ ํธ ๋ฐ ์คํ ์์ค๋ก ์ด๋ํจ์ ๋ฐ๋ผ ์ค๋ช ์๋ ํจ๊ป ์ด๋ํ์ผ๋ฉฐ, ์ด๋ก ์ธํด Windows ์ค๋ช ์๋ฅผ ๋ชจ๋ ๊ฒ์ ์์คํฑ์ผ๋ก ์ฌ์ฉํ๊ธฐ๊ฐ ๋ ์ด๋ ค์์ก์ต๋๋ค. .appinstaller ํ์ผ๊ณผ ๊ด๋ จ๋ ํน์ ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ๋ด๋ถ์ ์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ณ ๋ ๋์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์ฝํ ์ธ ํ๊ณผ ๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ๋ ผ์ํ๊ฒ ์ต๋๋ค.
๋ํ ๋๋ฒ๊ทธ๋ฅผ ์ํด ์๋ฒ๋ฅผ ํตํด ๋ผ์ฐํ ํด์ผ ํ๋ ํน์ ๋ฌธ์ ์ ๋ํด์๋ ์ธ๊ธํ์ต๋๋ค. ๊ธฐ์กด github ํ๋ก์ ํธ์ ๋ํ ๋ฌธ์ ๋ก ์ ์ถํด์ผ ํฉ๋๋ค.
์ ๊ท์ธ์ฆ์ ๋ฐ๊ธ ๋ฐ ์ฌ์ค์ ํต
์ด๊ฒ์ ์ ์ง์์ ์กฐ๊ธ ๋ ๊ฐ๊น์ต๋๋ค(์ ํฐ ํ์์๋ ์์ฉ ํ๋ก๊ทธ๋จ ์ค์น ์ธก๋ฉด์ ์ฒ๋ฆฌํฉ๋๋ค. ์ ๋ ์ฌ์ ํ ์ ๊ฐ ์์ ํ ์ ์๋ ํผ๋๋ฐฑ ํ๋ธ ๋ฌธ์ ์ ๊ฐ์ฌํ๊ณ ์์ต๋๋ค.
WinRT ์ ํ ์์คํ ์ ํ๋ฅญํ API ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ๋ฅ๋ ฅ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
ํ์ ์ด๋ฆ์ ์ค๋ฒ๋ก๋ํ ์ ์๋ ๊ฒ์ ์๋์ ์ผ๋ก ์ค๊ณ๋ ๊ฒ์ ๋๋ค. javscript(Node / V8์ ์ด๋ป์ต๋๊น? ํฅ๋ฏธ๋กญ์ง ์์๊น์?) ์ฑ์ด WinRT API์ ์ก์ธ์คํ๋ ๋ฐฉ๋ฒ์ ๋ค์ ์๊ฐํ ๋๊น์ง ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๋ค์ ์ดํด๋ณผ ์ค๋น๊ฐ ๋์ง ์์ ๊ฒ์ ๋๋ค. ์์ฑ ๋ฐ NaN์ ๋ํ ๋ค๋ฅธ ๋ฌธ์ ๋ ์ข์ ๋ ผ์๊ฐ ์๋ ๋ณ๋์ ๋ฌธ์ ์ ์์ผ๋ฏ๋ก ์ด ๋ต๋ณ์์ ์์ธํ ๋ค๋ฃจ์ง ์๊ฒ ์ต๋๋ค.
์ฝํ ์ธ ๊ฐ ์ค์๋ก ์ญ์ ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ํฌ๊ธฐํ ๋ ํผ๋๋ฐฑ ํ๋ธ์ ๋ฉ์์ง๊ฐ ํ์๋์ด์ผ ํฉ๋๋ค.
๋ค, +1ํ๊ฒ ์ต๋๋ค. ํ์ผ์ ์ ์ถํ์ธ์. ํผ๋๋ฐฑ ํ๋ธ์ ๋ํ ์ฑ ์๋ ํผ๋๋ฐฑ ํ๋ธ์ ๋ฒ์ฃผ๊ฐ ์์ต๋๋ค. ๋๋ฌด ๋ฉํ์ ๋๋ค.
๋น๋๊ธฐ API๋ ์ฌ์ ํ ์์ ์กํ์ง ์๊ณ ๋น๋๊ธฐ๊ฐ ๋์ด์๋ ์ ๋๋ ๊ฒ๋ค์ ๋ํด ์ด์ํด ๋ณด์ ๋๋ค.
๋ค. ์ด๋ ๋ด๋ถ์ ์ผ๋ก๋ ๋ ผ๋์ ์ฌ์ง๊ฐ ์๋ ๋ถ๋ถ์ด๋ค. ์ ๋ชจ์ ์ข์ ํ๋์ ์ฅ๋ คํ๋ ๊ฒ ์ฌ์ด์๋ ์์ง ์ ๋ง์ง ์์ ๊ท ํ์ด ์์ต๋๋ค. ๋๊ธฐ์์ผ๋ก ๋ณด๊ณ ์ถ์ ํน์ API์ ๋ํ ํผ๋๋ฐฑ์ ๊ณ์ ์ ์ถํ์ญ์์ค.
WinRT์๋ ์ข์ ์ค๋์ค API๊ฐ ์์ต๋๋ค.
์ ๋ ์ค๋์ค ์ ๋ฌธ๊ฐ๊ฐ ์๋๋๋ค. ํผ๋๋ฐฑ ํ๋ธ์ ์์ ๋กญ๊ฒ ํ์ผ์ ์ ์ถํ ์ ์์ง๋ง ์ฌ๊ธฐ์์ ๊ตฌ๋ช ์ค์ ์ ํ๋ฅผ ๊ฑธ์ด ๋ช ๊ฐ์ง ๋ฌผ์ด๋ณผ ๊ฒ์ ๋๋ค.
ํด๋ฆฝ๋ณด๋ ๊ณ ํต
์ฌ๊ธฐ์ Mae Culpa๋ก ์์ํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ์ ํด๋ฆฝ๋ณด๋ ์ก์ธ์ค ๋ชจ๋ธ์ ์ฌ์ฉ์๋ฅผ ์ฒ ์ ํ ๋ณดํธํ๋ Win8 ์๋์ ์ค๊ณ๋์์ต๋๋ค. ๋๋ถ๋ถ ์ฝ๋ฉํ์ต๋๋ค. ํด๋ฆฝ๋ณด๋๋ฅผ ๋ณดํธํด์ผ ํ๋ ์ด์ ๊ฐ ์์ต๋๋ค. ์ฌ์ฉ์๋ ๋ชจ๋ ์ข ๋ฅ์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ํด๋ฆฝ๋ณด๋์ ์ ์ฅํ์ง๋ง ํด๋ฆฝ๋ณด๋๋ฅผ ๋ฎ์ด์ธ ์ ์๋ ์ฑ์ ๋ ๋ง์ ์ก์ธ์ค ๊ถํ์ด ์์ ์ ์๋ ๋ค๋ฅธ ์ฑ์ ์ฝ์ ์ ์ ์ฉํ์ฌ ํด๋ฅผ ๋ผ์น ์ ์์ต๋๋ค. Win32 ํด๋ฆฝ๋ณด๋ API๋ ๋ํ ๋จ์ฉ๋ ์ ์๋ ๋ช ๊ฐ์ง ๋งค์ฐ ๊ฐ๋ ฅํ ๋์์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ๋ฐ๋ผ์ ํด๋ฆฝ๋ณด๋๋ ์ฑ์ด ํฌ๊ทธ๋ผ์ด๋์ ์๊ฑฐ๋ ๋๋ฒ๊ฑฐ์ ์ฐ๊ฒฐ๋์ด ์์ง ์๋ ํ ์ก์ธ์ค๋ฅผ ์ ํํ๊ณ ํด๋ฆฝ๋ณด๋์ ๋ฃ์ ์ ์๋ ํญ๋ชฉ์ ์ฝ๊ฐ ๊ฐํํฉ๋๋ค(์ค์ ๋ก ์๋ํ์ง ์๋ ํ ๊ฒฐ์ฝ ์์์ฐจ๋ฆฌ์ง ๋ชปํ๋ ๋ฐฉ์์ผ๋ก).
์ฆ, ์ํธ ์์ฉํ๋ ์๋ฆผ์ ํด๋ฆฝ๋ณด๋ ์ก์ธ์ค๋ฅผ ํ์ฉํด์ผ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๊ฒ์ Windows์ ์ ๊ฒฝ์ด ๊ณ์ฐ๋๋ ๋ฐฉ์ ๋๋ฌธ์ ํน๋ณํ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ์ง๋ง ํฉ๋ฆฌ์ ์ด์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. API ํผ๋๋ฐฑ์ผ๋ก ์ ์ถํด ์ฃผ์๋ฉด ํด๋น ๋ฌธ์ ๋ฅผ ๋ฒ๊ทธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ํ๋ณดํ๊ฒ ์ต๋๋ค.
๋ง๋ฌด๋ฆฌ
๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ค๋ ๋๋ฅผ ์ถ์ ํ๊ณ ์์ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๋ฉด ์ธ๊ธํ ๋๋ก ํ์ ์กฐ์น๋ฅผ ์ทจํ๊ฒ ์ต๋๋ค.
์ด๋ฏธ ๋ง์ ๊ฒ์ ์์ ๋ฃ์ WinUI ํ์ ๋ํ ์กด๊ฒฝ์ ํ์๋ก ์ด ์ค๋ ๋๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ณ ์ด ์ค๋ ๋์์ ์ ๊ธฐ๋ WinUI ๋ฐ Windowing ์ธก๋ฉด์๋ง ์ง์คํ์ญ์์ค. ์ด ๋ฌธ์ ๋ ๋๋ฌด ๊ธธ๊ณ ๊ตฌ๋ถ๊ตฌ๋ถํ๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ์์ ๋ฌธ์ ๋ก ๋ถ๋ฅํ๋ ๊ฒ์ด ๋์์ด ๋ ์ ์์ต๋๋ค. ์ฌ๋ฌ๋ถ ๋ชจ๋๊ฐ ํผ๋๋ฐฑ์ ์ ์ถํ๊ณ ๋งํฌ๊ฐ ํฌํจ๋ ์๊ฒฌ์ ์ ์ถํ ์ ์๋๋ก ์ด ์ค๋ ๋๋ฅผ ๋ฉฐ์น ๋์ ์ด์ด ๋ ๋ค์ ์ด ์ค๋ ๋๋ฅผ ๋ซ๊ฒ ์ต๋๋ค.
WinRT ์ ํ ์์คํ ํ ๋ก ์ ๋ํด ๋ ์์ธํ ์์๋ณด๋ ค๋ฉด xlang ํ๋ก์ ํธ๋ฅผ ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํน์ Windows API ๋์์ ๊ฒฝ์ฐ ํผ๋๋ฐฑ ํ๋ธ๊ฐ ๋ ๋์ ์ ํ์ ๋๋ค. ์ง๊ธ์ ๋๊ธ ์์คํ ๋ ์์ผ๋ฏ๋ก ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค.
๋ง์ ์ฃผ์ ์ ๋ํ ํ๋ฅญํ ํ ๋ก ๊ณผ ์์ธํ ํผ๋๋ฐฑ์ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋ฒค ์ฟค
๋ง์ดํฌ๋ก์ํํธ