Windows 10/UWP์ ๋ํ ์ง์์ ์ถ๊ฐํ ๊ณํ์ด ์์ต๋๊น? ๋ด๊ฐ ์ด๊ฒ์ ๋ฌป๋ ์ด์ ๋ ํ์ฌ ์ธํฐ๋ท์ ๊ฑฐ์ 10์ต ๊ฐ์ Windows 10 ์ฅ์น๊ฐ ์๊ณ ์ธํฐ๋ท์๋ ์๋ ์ฅ์น๊ฐ ๋ ๋ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
์๋ง๋ ์ง๊ธ์ ์๋ ๊ฒ์ ๋๋ค. #10881์ ์ฐธ์กฐํ์ญ์์ค.
์ด ๊ธฐ๋ฅ ์์ฒญ์ ์ ๋ฅผ ํฌํจ์ํค๊ณ ์ถ์ต๋๋ค. Flutter๊ฐ Windows 10 UWP๋ฅผ ์ง์ํ๋ค๋ฉด ์ ๋ง ์ข์์ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์๋ Xamarin/UWP์์ ๋์์ผ๋ก ์ง์ ํ ์ ์๋ Xbox One๋ ํฌํจ๋์ด์ผ ํฉ๋๋ค.
์, ๋ถํํฉ๋๋ค. Windows ์ง์์ ํ์คํ ๊ฒ์ ์ฒด์ธ์ ๊ฐ ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๊ณต์์ ์ธ ๊ฒ์ ์๋์ง๋ง ์ด ํ๋ก์ ํธ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. https://github.com/google/flutter-desktop-embedding glfw
Windows์์๋ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์๋ํด ๋ณผ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.wink:
์ด๋ด... ๋ ์ง์ง xplat์ ์ํด :)
๋ฐฉ๊ธ ๋์ผํ ๊ธฐ๋ฅ ์์ฒญ์ ์ ๋ ฅํ๊ณ ์์์ต๋๋ค ๐... ์ด๊ฒ์ด ๊ด์ฌ์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
์ง์ ์ฌ๋ฌ Windows, MacOS ๋ฐ Chrome OS ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์๋ก์... ์ต์ ๋ชจ๋ธ์ธ Surface Pro๋ ๊ฒฐ๊ตญ ๋งค๋ ์ ๋ฐ์ผ๋ฆฌ ๋๋ผ์ด๋ฒ๊ฐ ๋ฉ๋๋ค. SP4๊ฐ ์ถ์๋ ์ดํ๋ก. ํ์ฌ ์บ ํผ์ค์ ์ง์ฅ์์๋ ๋งค์ฐ ์ธ๊ธฐ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ณ ํ์ง UWP ์ฑ์ ๋ถ์กฑ ์ ํ์ ๊ณ์ํด์ ๋์๊ฒ ๊ฐ์ฅ ํฐ ๊ณจ์นซ๊ฑฐ๋ฆฌ์ ๋๋ค.
์ ๋ Flutter์ ์ฐ์ํจ๊ณผ ์ฉ์ดํจ์ด ๋ค์ค ํ๋ซํผ ์ ๋ต์ Win10์ ํฌํจํ๊ธฐ ์ํด ๊ฐ๋ฐ์/๊ตฐ๋จ์ด ํ์๋ก ํ๋ ์ธ์ผํฐ๋ธ๋ฅผ ์ ์ฌ์ ์ผ๋ก ์ ๊ณตํ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค... ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ณผ์ ์์ Flutter๋ฅผ Java์ ์ ์ฌํ ์ํ/์ธ๊ธฐ๊น์ง ํ๋ณดํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ ํ ๊ฐ๋ฐ์ ์ํ ๋๊ตฌ ๋ฐ ํ๋ซํผ์ ์ ํํ ๋ IT ์์์ ๊ณ ๋ คํฉ๋๋ค.
Xamarin, Ionic ๋ฑ์๋ UWP๊ฐ ํฌํจ๋์ด ์๋๋ฐ ์ Flutter์ธ๊ฐ์?
์ด๊ฒ์ ๋งค์ฐ ํฌ๊ด์ ์ธ ๋ฒ๊ทธ์ด๊ธฐ ๋๋ฌธ์ ํ ๋น์ ์ ๊ฑฐํฉ๋๋ค. ํน์ ํ์ ์์ ์ ๊ฐ๋ณ ๋ฒ๊ทธ์์ ์ถ์ ๋๋ฉฐ ํ์์ ๊ฐ์ด ํน์ ๋ด๋น์์ ์ด์ ํ๊ฐ ํ์๋ฉ๋๋ค.
Window MVP ํ๋ก์ ํธ์์ ์ ๊ฑฐ. ์ฐ๋ฆฌ๋ ์ฌ์ ํ UWP๋ฅผ ๋์์ผ๋ก ํ๊ฐํ๊ณ ์์ผ๋ฉฐ ๊ฒฐ๊ตญ ์ง์ํ ์์ ์ด์ง๋ง ์ด๊ธฐ ์ด์ ์ Win32๊ฐ ๋ฒ์๋ฅผ ์ ํํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค.
๋๋ ์ด๊ฒ์ด ์ค์๋ผ๊ณ ์๊ฐํ๋ค. uwp๋ฅผ ์ง์ํ์ง ์๋ ๋ชจ๋ ํ๋ซํผ์ 2020๋ 1์ 20์ผ ํ์ฌ ์ง์๋์ง ์์ต๋๋ค.
ํ์ฌ ๋๊ท๋ชจ ๋ง์ด๊ทธ๋ ์ด์ ์ด ๊ณต๊ฒฉ์ ์ผ๋ก ์งํ๋๊ณ ์๊ธฐ ๋๋ฌธ์ ํ์ํ์ง ์์ ๊ฒฝ์ฐ ๋ ๊ฑฐ์ ํ๋ซํผ์ ์ง์ํ๋ ๊ฒ์ ๋ฌด์๋ฏธํฉ๋๋ค.
์ ์ผํ ์ด์ ์ uwp์ฌ์ผ ํ๊ณ wpf๋ ๋ฌด์๋์ด์ผ ํฉ๋๋ค.
uwp๋ฅผ ์ง์ํ์ง ์๋ ๋ชจ๋ ํ๋ซํผ์ 2020๋ 1์ 20์ผ๋ถํฐ ์ง์๋์ง ์์ต๋๋ค.
๋จผ์ Win32 API์ ์ง์คํ๊ธฐ๋ก ํ ๊ฒฐ์ ์ ๋์ ํ๋ซํผ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฒ์ด ์๋๋ผ ๊ธฐ์ ์ ์ธ ๊ฒ์ ๋๋ค.
wpf๋ ๋ฌด์ํด์ผ ํฉ๋๋ค
ํ์ฌ WPF๋ฅผ ์ฌ์ฉํ ๊ณํ์ ์์ต๋๋ค.
์ฃ์กํฉ๋๋ค. win32๋ ๋ฌด์ํด์ผ ํฉ๋๋ค.
์์?
win32๋ Windows ํ๋ซํผ์์ ํ๋ฌํฐ๋ฅผ ์ ํํ๊ธฐ ๋๋ฌธ์ ๋๋ค. Uwp๋ uwp๋ฅผ ์ง์ํ์ง ์๋ ์ง์๋๋ Windows ํ๋ซํผ์ด ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ Uwp๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ Windows์๋ win32(์์ ํ ์ฌ๊ตฌ์ถ์ด ํ์ํ arm64)๋ฅผ ์ง์ํ์ง ์๋ ํ๋ซํผ์ด ์์ต๋๋ค.
๋ถ๋ช ํ, UWP ์ง์์ ์ํ ๋ ธ๋ ฅ์ ๊ด์ฌ์ด ์๋ ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ๋ ํ์ํ๋ฉฐ ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ทธ๋ฌ๋ win32๋ฅผ ์ง์ํ์ง ์๋ Windows ํ๋ซํผ์ด ์์ต๋๋ค(์์ ํ ๋ค์ ๋น๋ํด์ผ ํ๋ arm64).
ARM์ Windows 10์ Win32๋ฅผ ์ง์ํ๋ฏ๋ก UWP์ ๊ฒฝ์ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ARM64์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปดํ์ผํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
uwp๋ฅผ ์ง์ํ์ง ์๋ ๋ชจ๋ ํ๋ซํผ์ 2020๋ 1์ 20์ผ ํ์ฌ ์ง์๋์ง ์์ต๋๋ค.
Windows 8.1 ์ง์์ 2023๋ ์ ์ข ๋ฃ๋ฉ๋๋ค. UWP๋ ์ง์ํ์ง ์์ต๋๋ค.
@stuartmorgan ์๋ ํ์ธ์ UWP ์ง์ ์์ ์ ๊ด์ฌ์ด ์์ต๋๋ค.
์์์ "UWP๋ฅผ ์ฌ์ ํ ๋์์ผ๋ก ํ๊ฐํ๊ณ ์์ต๋๋ค"๋ผ๊ณ ์ธ๊ธํ์ จ์ต๋๋ค. ๋ฌด์์ ๋ฐ๊ฒฌํ๋์ง ์๊ณ ์ถ์ต๋๋ค.
๊ฐ์ฌ ํด์,
-์ ์ดํฌ
@Kapranov98 ๋ฐฉ๊ธ Windows 10 ARM์ ํ๋ฌํฐ๋ฅผ ์ด์ํ๋ ์คํ์ ๋ง์ณค์ต๋๋ค. Win32/UWP๋ ๊ฐ์ฅ ์ ์ ๋ฌธ์ ์ ๋๋ค. Dart ์์ฒด๋ฅผ WinARM์์ ์คํํ๋ ค๋ฉด ์๋นํ ๋ณ๊ฒฝ์ด ํ์ํฉ๋๋ค. dart์ ARM ํน์ ์ฝ๋๋ posix'ish ์์คํ (ios, android, linux ๋ฑ) ์ด์ธ์ ๋ค๋ฅธ ์์คํ ์์ ์คํ๋๋๋ก ์ค๊ณ๋์ง ์์์ต๋๋ค. ๋งํ ๊ฒ๋ ์์ด WinARM์ Thumb-2 ๋ช ๋ น์ด ์ธํธ ๋ง ์ง์ํ๋ฉฐ ๋ด๊ฐ ์๊ธฐ๋ก๋ dart jit์ ARM ๋ช ๋ น์ด ์ธํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค(์ด์ ๋ํ ๊ณต์ ํ์ธ์ด ํ์ํ์ง๋ง). ํฌํธ๋ฅผ ์๋์ํค๋ ๊ฒ์ ์๋นํ ๋ ธ๋ ฅ์ด ๋ ๊ฒ์ ๋๋ค.
@Jakesays ์คํ์ ์ผ๋ถ๋ก /appcontainer๋ฅผ ํ์ฑํํ๋ ค๊ณ ํ์ต๋๊น?
์์์ "UWP๋ฅผ ์ฌ์ ํ ๋์์ผ๋ก ํ๊ฐํ๊ณ ์์ต๋๋ค"๋ผ๊ณ ์ธ๊ธํ์ จ์ต๋๋ค. ๋ฌด์์ ๋ฐ๊ฒฌํ๋์ง ์๊ณ ์ถ์ต๋๋ค.
๊ณง ์ ๋ณด๋ฅผ ์์งํ๊ณ ์ฌ๊ธฐ์์ ๋งํฌํ๋ ์ด๊ธฐ ๋ฌธ์๋ฅผ ์์ํฉ๋๋ค. ์ด ์์ ์์ ๋ง์ ์ธ๋ถ ์ฌํญ์ด ์์ต๋๋ค(๊ทธ๋ฆฌ๊ณ ์ผ๋จ ์ด๊ธฐ ๋ฌธ์๊ฐ ์กด์ฌํ๋ฉด ARM ์กฐ์ฌ ๊ฒฐ๊ณผ์ ๊ฐ์ ๊ฒ๋ค์ด ์ถ๊ฐ๋ก ๋งค์ฐ ํ์๋ฐ์ ๊ฒ์ ๋๋ค). ๋ด๊ฐ "์์ง ํ๊ฐ ์ค"์ด๋ผ๊ณ ๋งํ๋ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ๋ฏธ๋์ ์ฌ์ ํ ๊ทธ๊ฒ์ ์ง์ํ ๊ณํ์ด๋ฉฐ ๊ทธ ์ผํ์ผ๋ก ๋ชจ๋ ๊ฒ์ด ์ํ๋์ด์ผ ํ๋ ๊ฒ์ ํ๊ฐํ ๊ฒ์์ ์๋ฏธํฉ๋๋ค. ์ด๊ธฐ MVP์ ๋ํ ์ฐ๋ฆฌ์ ์ด์ ์ด ์๋๊ธฐ ๋๋ฌธ์ ํ์ฌ ํ๋ฐํ ์กฐ์ฌ๊ฐ ๋ง์ง ์์ต๋๋ค.
๊ทธ ์ค ์ผ๋ถ๋ ํน์ ์ธก๋ฉด์ ์ธ๋ถํํ๋ ๊ฒ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค. ์์ ์๊ฒฌ์ด ์ง์ ํ ๊ฒ์ฒ๋ผ ๊ฐ๊ฐ ๊ณ ์ ํ ๋ฌธ์ ๊ฐ ์๋ ์ฌ๋ฌ ์์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
Windows 10 X๊ฐ ์ถ์๋๋ฉด์ ์ด ๋ํ๊ฐ ๋ฐ๋์์ต๋๊น? Win32๋ Windows 10 X์์ ์คํํ ์ ์์ง๋ง UWP๊ฐ ํจ์ฌ ๋ ์ ํฉํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. Flutter๋ ๋์ผ ์คํฌ๋ฆฐ ์ฅ์น๋ฅผ ์ ํ ์ง์ํ ๊ณํ์ ๋๊น? ์ํผ์ค ๋์ค์ ์ํผ์ค ๋ค์ค?
@nerocui ๋ด๊ฐ ์๊ธฐ๋ก๋ Duo๋ ์๋๋ก์ด๋ ์ฅ์น์ด๋ฏ๋ก Flutter๊ฐ (์ ์ด๋ ํ ํ๋ฉด์์) ์ ์๋ํ ๊ฒ์ด๋ผ๊ณ ์์ํฉ๋๋ค. Neo๊ฐ ์คํ ์ค์ธ CPU๋ ํ์คํ์ง ์์ง๋ง ARM์ด๋ผ๋ฉด Flutter๋ ๊ฑฐ์ ์ฃฝ์์ต๋๋ค. Dart๋ ํ์ฌ winarm์ ๋ํด ํธํ๋๋ ์ด์ ๋ธ๋ฆฌ ์ฝ๋๋ฅผ ์์ฑํ์ง ์์ต๋๋ค(winarm์ thumb-2 ๋ช ๋ น์ด๋ง ์ฌ์ฉํ๊ณ IIRC Dart๋ thumb-2 ๋ฐ arm ๋ช ๋ น์ด ๋ชจ๋ ์ฌ์ฉ). ๊ทธ๊ฒ์ ์๋์ํค๋ ๊ฒ์ ์ฌ์ํ ์ผ์ด ์๋ ๊ฒ์ ๋๋ค.
@JakeSays Neo๋ Intel Lakefield๋ฅผ ์ฌ์ฉํ๋ฏ๋ก x86์ ๋๋ค. ๋๋ ์ด์ผ๊ธฐ์ UWP ๋ถ๋ถ์ ๋ํด ๋ ๊ฑฑ์ ํ๊ณ ์์ต๋๋ค. Neo์ ๊ฐ์ ๋ชจ๋ฐ์ผ ์ฅ์น์์๋ UWP ์ฑ ๋ชจ๋ธ์ ๊ด๋ฆฌ๋๋ ์๋ช ์ฃผ๊ธฐ๊ฐ ์ ์ฉํฉ๋๋ค. Win32๋ ๋ฐฐํฐ๋ฆฌ ์๋ช ์ ์ ํฉํ์ง ์์ต๋๋ค. ๋ํ Neo์ win32 ์ฑ์ ์ปจํ ์ด๋์์ ์คํ๋๋ฏ๋ก ์ฑ๋ฅ์ด ์ ํ๋ฉ๋๋ค. UWP๋ฅผ ๋์์ผ๋ก ํ๋ ๊ฒ์ ์ค์ ๋ก ๋งค์ฐ ํ๋ช ํ ์กฐ์น์ ๋๋ค. Android์ iOS ๋ชจ๋ ๊ด๋ฆฌ๋๋ ์ฑ ๋ชจ๋ธ์ ์คํํ๋ฏ๋ก UWP๋ ๋ ๋ง์ ์ผ๊ด์ฑ์ ์ ๊ณตํด์ผ ํฉ๋๋ค. Windows 8์ ๊ฑฐ์ ๋ฌด์ํ ์ ์์ผ๋ฉฐ ์ด๋ค ํต๊ณ๋ ์๋ฏธ ์๋ ์์ฅ ์ ์ ์จ์ ๋ณด์ฌ์ฃผ์ง ์์ต๋๋ค.
@nerocui Ok ๊ทธ๋ฌ๋ฉด ๋์ UWP๋ก ํ๋ฌํฐ๋ฅผ ์ป์ ์ ์์ด์ผ ํฉ๋๋ค. ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ UWP์์ OpenGL ์ง์์ด ๋ถ์กฑํ์ง๋ง Flutter ์๋์์ ANGLE์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ ์ ์์ด์ผ ํฉ๋๋ค.
UWP๋ฅผ ์ฐพ๊ณ ์์์ง๋ง ํ๊ฒ์ ARM/WinIOT์์ต๋๋ค.
@JakeSays UWP๋ ๋๋ถ๋ถ์ ์ฅ์น์ ์ ํฉํด์ผ ํ์ง๋ง Windows on ARM์์๋ ๊ณจ์น๊ฑฐ๋ฆฌ์ ๋๋ค. ์์ด๋ฌ๋ํ๊ฒ๋ UWP(๋ง์ฝ ์ถ์๋๋ค๋ฉด) ํ๋ฌํฐ๋ ARM ๊ธฐ๋ฐ Windows ์ฅ์น์์ ๊ณ์ ์๋ฎฌ๋ ์ดํธ๋์ด์ผ ํฉ๋๋ค. flutter/uwp ํฌํธ์ ์์ฑ๋๋ ์ด๋ ์ ๋์ ๋๊น?
@nerocui Dart ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ ํ ์์ ์ ์ค๋จํ์ต๋๋ค.
UWP๊ฐ ํ์คํ ํ์ํ์ง๋ง Win32๋ ํ์คํ ์๋ฌด๋ฐ๋ ๊ฐ์ง ์์ต๋๋ค. Microsoft๋ ์ต๊ทผ Windows Store์ Win32 ์ง์์ ์ถ๊ฐํ๋ค๊ณ ๋ฐํํ์ต๋๋ค. ๋ํ ๋ง์ ๊ฒ์์ด Win32 ํ๋ซํผ์์ ๊ณ์ ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค.
์, Microsoft๋ Store์์ Win32 ์ฑ์ ํ์ฉํ๋ฉฐ UWP๋ณด๋ค ์ ์ธ๊ณ์ ์ผ๋ก ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. Win32 ์ฑ์ ์ต๊ณ ์ ์ฑ๋ฅ์ ๊ฐ์ง๊ณ ์์ง๋ง ๋ฐฐํฐ๋ฆฌ ์๋ชจ์ ์ ํ์ด ์์ต๋๋ค. Win32์๋ ์คํ ์ค ๋๋ ์๋ตํ์ง ์์(์ ์ง) ์ํ๊ฐ 2๊ฐ๋ฟ์ด์ง๋ง UWP์๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ, ์ผ์ ์ค๋จ๊ณผ ๊ฐ์ ๋ ๋ง์ ์ํ(๋ชจ๋ฐ์ผ ์ฅ์น์ ๋ ์น์ํจ)๊ฐ ์์ต๋๋ค.
https://docs.microsoft.com/en-us/windows/uwp/launch-resume/app-lifecycle
๋ฐฐํฐ๋ฆฌ๋ ๋ ธํธ๋ถ์ด๋ Windows 10x ์ฅ์น์ ๊ฐ์ ๋ชจ๋ฐ์ผ ์ฅ์น์ ์ค์ํฉ๋๋ค.
์ด๊ฒ์ ๊ฐ๋จํ ๋ํ์ฌ์ผ ํฉ๋๋ค.
1์ 14์ผ ํ์ฌ UWP๋ฅผ ์ง์ํ์ง ์๋ ์ง์๋๋ Windows ๋ฒ์ ์ 0๊ฐ์ ๋๋ค.
์์ ์ด๋ ๋ค๋ฅธ ๊ณณ์์ ๋ฐฐํฌ๋๋ win32 ์ฑ์ ์ง์ํ์ง ์๋ Windows์ ์ฃผ์ ๋ฒ์ ์ด ์์ต๋๋ค.
Win32๋ ๋ ๊ฑฐ์ ํ๋ซํผ์ ๋๋ค. ์ด์ ์์คํ ์ ์ ์ง ๊ด๋ฆฌํ๋ค๋ฉด ํ์คํ win32์ ๋๋ค. ๊ทธ๋ฌ๋ flutter๋ ์์ ํ ์๋ก์ด ์ฝ๋์ ๋๋ค. UWP์ฉ์ผ๋ก ์์ฑ๋ ์ ์๊ณ Windows๊ฐ ์ง์๋๋ ๋ชจ๋ ๊ณณ์์ ์ง์๋๋ ๊ฒฝ์ฐ arm์์ ์ง์๋์ง ์๋ ๋ ๊ฑฐ์ API์ฉ์ผ๋ก ์์ฑํ ์ด์ ๊ฐ ์์ต๋๋ค.
๊ทธ๋ฌ๋ flutter๋ ์์ ํ ์๋ก์ด ์ฝ๋์ ๋๋ค.
์ด๊ฒ์ ์ค์ ๋ก ๊ทธ๋ ์ง ์์ต๋๋ค. ๊ธฐ์กด Win32 ์ ํ๋ฆฌ์ผ์ด์ ์์ Flutter๋ฅผ ์ฑํํ ์ ์๋๋ก ํ๋ ์ฑ ์ถ๊ฐ ์๋๋ฆฌ์ค์ ๊ด์ฌ์ด ์๋ ์ฌ๋๋ค๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋ด์ต๋๋ค.
UWP์ฉ์ผ๋ก ์์ฑ๋ ์ ์๊ณ Windows๊ฐ ์ง์๋๋ ๋ชจ๋ ๊ณณ์์ ์ง์๋๋ ๊ฒฝ์ฐ arm์์ ์ง์๋์ง ์๋ ๋ ๊ฑฐ์ API์ฉ์ผ๋ก ์์ฑํ ์ด์ ๊ฐ ์์ต๋๋ค.
์์ ์ค๋ช ์ ์ด๋ฏธ ์ด๋ฌํ ์ฅ์น๋ฅผ ์ง์ํ๋ ๊ฒ์ด Win32 ๋ UWP์ ๊ฐ๋จํ ๋ฌธ์ ๊ฐ ์๋๋ผ๊ณ ์ค๋ช ํ์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ผ๋ถ ๋ฐฐํฌ ๋๋ ๋ฐฐํฌ ๋ชจ๋ธ์ ํ์ํ ์๋๋ฐ์ฑ ์ ํ ์ฌํญ์ ๋ฏธ๊ฐ๋ฐ ๊ฐ๋ฐ์ด ์๋ ๊ธฐ์กด์ ๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค์ธ ์์ง์ ์ ์ฉ๋๋ฏ๋ก ๋ณต์ก์ฑ๋ ์์ต๋๋ค.
์ด ์ธ์๋ ๋ํ ์ง์๋๋ ๋ฒ์ ์ด ์๋ ์ค์น ๊ธฐ๋ฐ์ ์ ๊ฒฝ์ ์ฐ๋ ์ ์ฝ๋๋ฅผ ๊ฐ๋ฐํ๋ ๋ง์ ์ฌ๋๋ค์ด ์๋ค๋ ์ฌ์ค์ ๋ฌด์ํฉ๋๋ค. ํ์ค์ Windows 7์ด ์ฌ์ ํ ์ค์น ๊ธฐ๋ฐ์ ๋งค์ฐ ์ค์ํ ๋ถ๋ถ์ด๋ฉฐ ๊ฐ๊น์ด ์ฅ๋์ ํฌ๊ฒ ๋ฐ๋์ง ์์ ๊ฒ์ด๋ผ๋ ์ ์ ๋๋ค.
UWP๋ฅผ ์ง์ํด์ผ ํ๋ ์ถฉ๋ถํ ์ด์ ๊ฐ ์์ผ๋ฉฐ, ์ฌ๋ฌ ๋ฒ ๋ง์๋๋ฆฐ ๊ฒ์ฒ๋ผ ์์ผ๋ก๋ ์ง์ํ ๊ณํ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ฒฐ์ ์ด ๊ฐ๋จํ๋ค๊ณ ์ฃผ์ฅํ๊ธฐ ์ํด ๊ด๋ จ๋ ์ ์ถฉ์์ ์ง๋์น๊ฒ ๋จ์ํํ๋ค๊ณ ํด์ ๊ทธ ๊ณผ์ ์ด ๊ฐ์ํ๋์ง๋ ์์ ๊ฒ์ ๋๋ค. ๋ค์ ๋งํ์ง๋ง, UWP ์ง์์ ๋ํด ๊ฐํ๊ฒ ๋๋ผ๋ ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ๋ UWP ํฌํจ ๊ฐ๋ฐ์ ๊ธฐ์ฌํ๋ ๊ฒ์ ํ์ํฉ๋๋ค.
@stuartmorgan winarm ์ thumb 2 ์ ์ฉ ์ ํ ์ฌํญ์ ๋ํ ์๋ฃจ์ ์ ๋ํ ๋ ผ์๋ฅผ ์๊ณ ์์ต๋๊น?
@stuartmorgan UWP๋ win32/Winforms/WPF ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. XAML ์์ผ๋๋๋ ๊ฐ๋จํ๊ณ ์ ์ง์๋ฉ๋๋ค. Win32๋ @JakeSays๊ฐ ์ค๋ช ํ ๋๋ก winarm์์ ์๋ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ทํ์ ์ฃผ์ฅ์ ์๋ฏธ๊ฐ ์์ผ๋ฉฐ ๋ ๊ฑฐ์ ์ฑ์ ํ๋ฌํฐ๋ฅผ ํฌํจํ๋ ๊ฒฝ์ฐ ๋ ๊ฑฐ์ API๋ฅผ ๋์์ผ๋ก ํ๋ ํ๋ฌํฐ๊ฐ ์ ๋นํ๋์ง ์์ต๋๋ค.
๋ชจ๋ ์๋ก์ด ๊ฐ๋ฐ์ ์ํ ์ถ๊ฐ ์ฌํญ:
Windows 7 ์ค์น ๊ธฐ๋ฐ์ด ๋์ฒ๋ผ ๋จ์ด์ง๊ณ ์์ต๋๋ค. WinARM์ ๋ด๋ ์ ๋๋์ ์ผ๋ก ์์นํ ์์ ์ ๋๋ค. Windows 7์ ํ์ฌ ์์จ๋ก 7์๊น์ง Windows ์์ฅ์ 5% ๋ฏธ๋ง(์ฅ์น 5์ฒ๋ง ๋ ๋ฏธ๋ง, ์ํํธ์จ์ด ๋น์ฉ์ ์ง๋ถํ๋ ์ฅ์น ์์)์ด ๋ ๊ฒ์ด๋ฉฐ Windows XP ๋ฐ Vista์ ํจ๊ป ๋ฐ๋ฅ์์ ๋ฐ๋ฑํ ๊ฒ์ ๋๋ค(๊ฑฐ์ ์ ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์๋ฒ ๋๋ ์์คํ ๋๋ฌธ์ ๋๋ค). ๊ทธ๋ค์ ์ง์ ๋ถ์กฑ์ผ๋ก ์ธํด OS๋ฅผ ๊ต์ฒดํ์ง ์๊ณ ์๋ก์ด Flutter ๊ธฐ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ถ์ํ์ง ์์ ๊ฒ์ ๋๋ค.
๊ทํ์ ์ง์ ๊ณผ Win32์ ๋ํ ์ด ์ ์ฒด ์ ๊ทผ ๋ฐฉ์์ Windows ๋ฒ์ ์ด ํ์ฅ๋ ํ ์ญ์ ๋๋ ๋ฐฉ์์ ์ดํดํ์ง ๋ชปํ๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค(Windows 10์ ๋์๋ ์์ ์ด์ ์๋ ๋ชจ๋ UWP๊ฐ ์์ผ๋ฏ๋ก ์ด ํ๋ฆ์ ๊ด๋ จ์ด ์์).
์ฐ๋ฆฌ๋ ์ง๊ธ #8์ ์์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ์๋ก์ด ์ํํธ์จ์ด๋ฅผ ์ํด Windows 7์ ๋ชฉํ๋ก ํ๊ณ ์๋ค๋ฉด ๊ทธ๋ค์ ์ญ์ฌ์ ๋ํด ๋ฌด์งํฉ๋๋ค. Windows 10 ๋กค์์์ ์ ํํ ๊ทธ ์ด์ ์ Windows 7 ๋กค์์์ ๋ฐ๋ฆ ๋๋ค. ํ๋์จ์ด ๋ฆด๋ฆฌ์ค ์ฌ์ด์ win32 ์ฑ์ ์ฆ๋ถ ํ๋ฌํฐ์๋ ๋ถ๊ตฌํ๊ณ ์ฃผ์ ์ํํธ์จ์ด ์ ๋ฐ์ดํธ๋ฅผ ๋กค์์ํ์ง ์๊ธฐ ๋๋ฌธ์ #9๋ฅผ ๋์์ผ๋ก ํ๋ ์ด์ ๋ ์์ต๋๋ค.
๋ฐ๋ผ์:
๋ฐ๋ผ์ win32๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ ํ์ฉ ๋ฐ๋ ๊ฒฐ์ ์ ์ฐ์ค๊ฝ์ค๋ฝ๊ณ Windows ์์ฅ์ ์ดํดํ์ง ๋ชปํ๋ ์์ ํ ์คํจ๋ฅผ ๋ณด์ฌ์ค๋๋ค. (์ฌํ๊ฒ๋ Google์์ ๋์ค๋ ๊ฒ์ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค)
@ JohnGalt1717 ๋ด๊ฐ ์ค์ํ์ ์๋ ์์ง๋ง winarm์ ๋ํ ๋ด ๋ฌธ์ ๋ win32์ ์๋ฌด ๊ด๋ จ์ด ์์ต๋๋ค. ๋ํ ์ด๊ฒ์ ๋จ์ง ์ ์์ผ ๋ฟ์ด์ง๋ง ์์ฌํ์ ์ฝ๊ฐ ์ค์ด๊ณ ์ถ์ ์๋ ์์ต๋๋ค. ๋ฌด์ง์ ๊ฐ์ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๊ณ ๊ด๋ฒ์ํ๊ณ ๊ทผ๊ฑฐ ์๋ ์ฃผ์ฅ์ ํ๋ ๊ฒ์ ์์ ์ ์ ๋ฌํ๋ ๋ฐ ๋ฐฉํด๊ฐ ๋ฉ๋๋ค.
์ด ์ค๋ ๋์์ ์ฌ๋ฌ ๋ฒ ์ง์ ํ๋ฏ์ด Winarm์์ Flutter๋ฅผ ์คํํ๋ ๊ฒ์ ์ฌ์ด ์ผ์ด ์๋๋๋ค. win32์์ Flutter๋ฅผ ์คํํ๋ ๊ฒ์ Flutter ์์ฒด์ ์ฝ๊ฐ์ ๋ณ๊ฒฝ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ์๋นํ ๊ฐ๋จํ ์์ ์ ๋๋ค. Flutter ๋ฐ Windows์ ๊ดํด ๋ด๊ฐ ๋ณธ ๋๋ถ๋ถ์ ๊ด์ฌ์ด ๋ฐ์คํฌํ์ ๊ดํ ๊ฒ์ด๋ผ๋ ์ ์ ๊ฐ์ํ ๋ ๋ฎ์ ๋งค๋ฌ๋ฆฐ ๊ณผ์ผ(win32)๋ก ์์ํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ ๋๋ค. ์ด๊ฒ์ win32 ๋ uwp์ ๊ฑฐ์ ๊ด๋ จ์ด ์์ผ๋ฉฐ ํ์ฌ ๋ง์ win32 ์์คํ ์ด ์๋ค๋ ์ฌ์ค๊ณผ ๋ ๊ด๋ จ์ด ์์ต๋๋ค.
@JakeSays WinArm์ win32 ์ฑ์ด Arm์ ์คํ ์ด์ ๊ฒ์๋๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค. (Office ์ด์ธ) ์ปดํ์ผ ๋ฌธ์ ๋ฅผ ์ ์ธํ๊ณ .
๋ด ์ฃผ์ฅ์ ์ด๋ค ๋ถ๋ถ์ด ์ ์ฆ๋์ง ์์ต๋๊น? ๋ฐ์ดํฐ๋ 100% ๋ด ์ ์ฅ์ ์ง์งํฉ๋๋ค. ๋ฐ์คํฌํฑ์ฉ Flutter๊ฐ Windows์์ ์ถ์๋ ์ค๋น๊ฐ ๋๋ฉด UWP๋ฅผ ์คํํ ์ ์๋ Windows ์์คํ ์ 5% ์ดํ์ win32 ์ฑ์ ๋ฐฐํฌํ ์ ์๋ ์๋ง์ ์์คํ ์ด ์์ ๊ฒ์ ๋๋ค. (์ฆ, Duo ๋๋ Neo๋ฅผ ํฌํจํ ๋ชจ๋ ARM ์ฅ์น ๋๋ Windows๋ฅผ ์คํํ๋ ๋ชจ๋ ์ฅ์น์ ์ฆ๊ฐ ์ค์ธ ๋ชจ๋ ํ์ฌ ๋ฒ์ )
WinArm, WinX64 ๋ฐ WinX86์์ ์๋ํ๋ UWP์์ ํ๋ฌํฐ๋ฅผ ์คํํ๋ ๊ฒ์ win32๋ณด๋ค ์ด๋ ต์ง ์์์ผ ํฉ๋๋ค. ๋ํ ํ ์คํธ ์์ ๋ฑ์ ๋ง์ถค๋ฒ ๊ฒ์ฌ, ์์ ์๋ DPI๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ ์ ํ ํฌ๊ธฐ ์กฐ์ ๋ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๋์ ๋ฌธํ ์ง์์ ์ ๊ณตํฉ๋๋ค. (๋ฏธ๋์ด ์ฌ์์ win32๋ณด๋ค ํจ์ฌ ๋ฐ์ด๋๊ณ ์ฝ์ต๋๋ค. ์ฆ, UWP์์ 3์ค์ ์ฝ๋๋ก widevine, playready, AES ์ํธํ๋ ๋น๋์ค๋ฅผ ๊ฐ๋จํ๊ฒ ์ฌ์ํ ์ ์์ต๋๋ค. win32์์ ๋์ผํ ์์ ์ ์ํํ๋ ๊ฒ์ ์์ฒญ๋ ๋ ธ๋ ฅ์ ๋๋ค. ์บก์ ์ ๋ํด์๋ ๋งํ ๊ฒ๋ ์์ต๋๋ค. .
UWP์ ๋น๊ตํ์ฌ win32์๋ "๋ฎ์ ๋งค๋ฌ๋ฆฐ ๊ณผ์ผ"์ด ์์ต๋๋ค. UWP๋ ๋ฐ์คํฌํฑ์ ๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ๋ ๊ฑฐ์ ๋ฐ์คํฌํ์ ๋๋ค. (Silverlight๋ ์ ์ธ) UWP๋ฅผ ๋ค์ ํฌํ ํ๊ณ ์์ผ๋ฉฐ ํ์ฌ์์ ์ฑ์ ๋ค์ ์์ฑํ์ง ์๋๋ก ์ง์ํ๋ ๋ ๊ฑฐ์ ํ๋ซํผ์ฉ API์ ๋๋ค. ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์ (๋ฐ ๊ธฐํ UWP)์ Flutter๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ค๋ช ๋ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ํด XAML ์์ผ๋๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
"ํ์ฌ ๋ง์ win32 ์์คํ ์ด ์์ต๋๋ค."
9์์ ๋ค์ด์ด๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 9์๊น์ง ์ฐฝ์ ์คํํ๋ ์ฌ๋์ 5%๊ฐ ์ ๊น๋๋ค. ๊ทธ 5% ์ค ์ฌ์ค์ ๊ทธ๋ค ์ค ๋๊ตฌ๋ ๊ณผ๊ฑฐ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํํธ์จ์ด๋ฅผ ๊ตฌ๋งคํ์ง ์์ต๋๋ค. 10์๊น์ง Windows ์ฌ์ฉ์์ 5%๊ฐ ์ผ์ข ์ ARM์์ ์ด๋ฅผ ์ฌ์ฉํ๊ณ Win32์์ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ ์ ๊ณ ๋ฅด์ธ์.
๊ทธ๋ฌ๋ ๊ทธ๋ ๊ฒ ํ ๋ UWP์์ ์ ๊ธด ์ฌ๋๋ค์ ์๋ ๊ณ์ ์ค์ด๋ค๊ณ Win32์์ ์ ๊ธด ์ฌ๋๋ค์ ์๋ ๊ณ์ํด์ ๋ง์์ง๋๋ค. ๋ฐ๋ผ์ Microsoft๋ Windows 7์์ ๋ฒ๊ทธ๋ฅผ ์์ ํ์ง ์๊ณ ๋ณด์๋ง ์ ์งํ๊ธฐ ๋๋ฌธ์ ์ด๋ป๊ฒ๋ ํจ๊ณผ์ ์ผ๋ก ์ง์ํ ์ ์๋ ์ฃฝ์ด๊ฐ๋ ์์ฅ์ ๋ํด UWP ๋์ win32๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ 12-24๊ฐ์ ๋ด์ ์ฌ์์ฑ์ ํจ๊ณผ์ ์ผ๋ก ๋ณด์ฅํฉ๋๋ค. ๋น์ฉ์ ์ง๋ถํ๋ ์ฌ๋๋ค์ ์ํ ์ ๋ฐ์ดํธ. (์ด์จ๋ Flutter์ ํจ๊ป ์ฑ์ ์ฌ์ฉํ์ง ์์ ๊ฒ์ ๋๋ค)
๋ํ Windows ๋ฒ์ ์ ๋น๋์ค ํ๋ ์ด์ด๋ Win32์์ DRM์ด ์๋ํ๋๋ก ํ๋ ๋ฐ ํ์ํ ์์ฒญ๋ ๋ฆฌํํธ ๋๋ฌธ์ ํญ์ ํฌ๊ฒ ์ ํ๋ฉ๋๋ค. ์ํํธ์จ์ด ํฐ์น ํค๋ณด๋๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ์ํ ์ธ๋ผ์ธ ๋ง์ถค๋ฒ ๊ฒ์ฌ๊ธฐ ๋๋ ์๋ ์์ ์ด ์์ต๋๋ค , ๊ทธ๋ฆฌ๊ณ ๋ฌธํ์ ์ธ ๊ฒ๋ค์ ์ ๋๋ก ํ๊ธฐ๊ฐ ํจ์ฌ ๋ ์ด๋ ค์ธ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๊ฑฐ๊พธ๋ก ์๊ฐ์ด๋ผ๊ณ ํฉ๋๋ค.
๋น์ ์ด ๋ฌด์ง๋ผ๋ ๋จ์ด๋ฅผ ์ข์ํ์ง ์๋๋ค๋ฉด, ๊ทธ๊ฒ์ ๋ด ๋ฌธ์ ๊ฐ ์๋๋๋ค. ์ฌ์ค๊ณผ ์ญ์ฌ๋ฅผ ๋ชจ๋ฅด๋ฉด ์ ์์ ๋ฌด์งํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํด๋กญ์ต๋๋ค. ๊ธ์ง๋์ง ์์ ์ฌํ์ ์ผ๋ก ์ฌ๋ฐ๋ฅธ ๋จ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ์ฌ์ฉํ๊ณ ์ถ์ ๋จ์ด๋ฅผ ์๋ ค์ฃผ์ธ์. ์ฐพ์์ ๊ต์ฒดํ๊ฒ ์ต๋๋ค.
๋ด๊ฐ ์ค์ ๋ก ์ด๋๊ฐ ํ๋ ธ๋์ง ๋งํด์ฃผ์ธ์. ๊ทธ๋ฆฌ๊ณ ๋ด ๊ฐ์ ๊ณผ ์์์ด ์ฝ๊ฐ ๋น๋๊ฐ๋๋ผ๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ด ์ฃผ์ฅ์ด ์ณ์ง ์๊ณ ๋ ํด๋กญ๊ณ ๋ ์ผํ๋ฉฐ ํจ์ฌ ๋ ๋ง์ ์์ , ํจ์ฌ ๋ ๋ง์ ๋ฒ๊ทธ ๋ฐ ํจ์ฌ ๋ ์ด๋ ค์ด ์๊ฐ์ ๊ฐ์ง ๋์๋ณด๋ค ๋น๋์ค, ๋ง์ถค๋ฒ ๊ฒ์ฌ ๋ฑ์ ์ํด ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ค๋ฅธ ํ๋ซํผ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ป๊ฒ ๋๋๋ ์๊ด์์ด ๋ด๋ ์ด๋ง๋์ฏค์ด๋ฉด Windows 7์ ์ฌ์ฉํ๋ ์ฌ๋์ ๊ฑฐ์ ์์ ๊ฒ์ ๋๋ค. ์ฆ, Flutter๋ ๋ชจ๋ ๋ถ์ผ์์ ๊ฑฐ์ ๋ชจ๋ ์ฌ๋์ด 100% ์ฌ์ฉํ ์ ์๊ฒ ๋ ๊ฒ์ ๋๋ค. UWP์์ ์ํ๋๊ณ win32๊ฐ ์๋ ๊ฒฝ์ฐ ์ํฉ์ ๋๋ค. ์ฃฝ์ OS๋ฅผ ์์ฉํ๊ณ WinARM์ ์๋กญ๊ณ ์ฑ์ฅํ๋ ์์ฅ์์ ํ๋ฌํฐ ๊ฐ๋ฐ์๋ฅผ ์ ๊ทธ๋ win32์ ๋น๊ตํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ง๊ธ UWP์์ ํ์ฌ ๋น๋์ค ํ๋ ์ด์ด์ ๋ชจ๋ ๊ธฐ๋ฅ๊ณผ ํจ๊ป Flutter์์ ์ฌ์ฉํ ์ ์๋ ์ฐ์ํ ๋ฌธ์์ ํจ๊ป ๋ช ๋ถ ๋ง์ UWP์์ ์บก์ ๊ณผ DRM์ ๊ฐ์ถ ๋น๋์ค ํ๋ ์ด์ด๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ํ๋ฌํฐ ๋น๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ๊ทธ๋ค์ด ์ง๊ธ ํ๋ฌํฐ ๋น๋์ค ํ๋ ์ด์ด์ ์บก์ ๊ณผ DRM์ ์์ ํ๊ณ ์๋ค๋ ์ฌ์ค์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ UWP ํธ์ถ ์ธ์๋ ์๋ฌด๊ฒ๋ ์ ํ์๊ฐ ์์ต๋๋ค. ์ฆ, Flutter์์ UWP๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ๋น๋์ค ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ด ๊ฐ๋จํ๊ณ ๊ฑฐ์ ๋ชจ๋ C#์์ ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค. C++ ์ฌ์ฉ, DirectX ํ๋ฉด ์์ฑ, ๋ฏธ๋์ด ์ธ์ฝ๋/๋์ฝ๋/ํธ๋์ค์ฝ๋ ์์ฑ ๋ฐ ๋ชจ๋ ๊ฒ์ ์ฐ๊ฒฐํ์ญ์์ค. (์, win32์์๋ UWP์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์๋๋ ์ฌ์ฉ์ ์ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด ๋ง์ ํ์์ ์ฌ์ํ ์ ์์ต๋๋ค.) UWP(C++๋ก ์์ฑ๋๋๋ผ๋) ๋ win32 ๊ฐ์ ๋์ผํ ์ ํ์ ๋ง๋ค๋ ค๋ ๋ ธ๋ ฅ์ ์ฝ 1/100์ ๋๋ค. ์๊ฐ์ ์.
์ง๋ ฌ ํต์ , ๋ธ๋ฃจํฌ์ค, ์์น ์ถ์ ๋ฑ์ ๋ํด์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. (์์น ์ถ์ ๋ฐ ์ผ์ API๋ ํ์ฌ Windows 10 2020/H1์์ win32๋ก ์ ๊ณต๋๋ฉฐ ์ด์ ๋ฒ์ ์ Windows์์๋ ์๋ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ Windows 10 ์ฌ์ฉ์ ์ค 100%๊ฐ ์ด๋ฌํ API์ ๋ํ UWP ๊ธฐ๋ฅ์ ์ก์ธ์คํ ์ ์๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ ์ต์ ๋ฒ์ ์ Windows 10์ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฌ๋์๊ฒ ์ด ๊ธฐ๋ฅ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๊ฒ ๋ฉ๋๋ค.) ๋น์ฐํ๊ฒ ์ฌ๊ธฐ๋ ๊ธฐ๋ฅ์ ์ด๋ฆ์ ์ง์ ํ์ญ์์ค. Android/iOS์ฉ flutter์ฉ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ฉด ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. UWP์์ ๊ตฌํํ๋ ๊ฒ์ win32์ ๋นํด ๊ฐ๋จํ๋ฏ๋ก win32์์ ๋ฐ์คํฌํฑ์ฉ flutter๋ฅผ ์์ฑํ๋ ๊ฒ๋ณด๋ค UWP์์ ๊ตฌํ๋ ๊ฐ๋ฅ์ฑ์ด ํจ์ฌ ๋ ๋์ต๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ๋ฌธ์ .
@JakeSays ์ฌ์ ํ ๋ด๊ฐ ๋งํ ๊ฒ์ ๋ํด ๋ฌด๋กํ(๋๋ ์๋ชป๋) ๊ฒ์ ๋ณด์ฌ์ฃผ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค. ๋ด๊ฐ ๋งํ ์ ์๋ ํ, ๋น์ ์ ๋ด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ ๋จ์ด๋ฅผ ์ข์ํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ ๊ฒ์, ๋๋ ๊ทธ๊ฒ์ ์ถ์์ ์ผ๋ก ์ฌ์ฉํ๊ณ , ๋น์ ์ด๋ ๋ค๋ฅธ ์ฌ๋์ ๊ฐ์ธ์ ์ผ๋ก ๋น๋ํ์ง ์์์ต๋๋ค. ๊ด๊ณ ๋์์ด์์ด ๊ณต๊ฒฉ์ด ์๋๋๋ค.
@stuartmorgan winarm ์ thumb 2 ์ ์ฉ ์ ํ ์ฌํญ์ ๋ํ ์๋ฃจ์ ์ ๋ํ ๋ ผ์๋ฅผ ์๊ณ ์์ต๋๊น?
@JakeSays ๋๋ Dart ์ปดํ์ผ๋ฌ ์์ค์์ ํ ๋ก ์ ๋ฐ๋ฅด์ง ์์์ต๋๋ค. ๋๋ ARM ์ง์์ ๋ํ ๋ ผ์๋ฅผ ์์ง ๋ชปํ์ง๋ง ์ด๊ฒ์ด ์ผ์ด๋์ง ์๋๋ค๋ ๊ฒ์ ์๋ฏธํ์ง๋ ์์ต๋๋ค. ์์ง ๋คํธ ๊ธฐ๋ฅ ์์ฒญ์ ์ ์ถํ์ง ์์๋ค๋ฉด ๋ฐ๋์ ์ ์ถํด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ UWP์์ OpenGL ์ง์์ด ๋ถ์กฑํ์ง๋ง Flutter ์๋์์ ANGLE์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ ์ ์์ด์ผ ํฉ๋๋ค.
ํ์ฌ Windows ์๋ฒ ๋ฉ์ ์ด๋ฏธ ANGLE์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ James๋ ์๋ฒ ๋ฉ ์์ ์ด๊ธฐ๋ถํฐ UWP ์ง์์ ์คํํ๊ณ ์์ผ๋ฏ๋ก ์ด๋ฏธ ์ ์งํ๋๊ณ ์์ต๋๋ค.
@stuartmorgan ๊ทธ๋ ๊ฒ ํ๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์, Windows Embedder๊ฐ ANGLE์ ์ฌ์ฉํ๊ณ ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
@JohnGalt1717 , ํ๋ ๊ฐ๋ น์ ๊ฒํ ํ์ญ์์ค. Flutter์ ์ปค๋ฎค๋ํฐ ํ์ค์ ์ ๋ฌธ์ ์ด๊ณ ์กด์คํ๋ ๋ด๋ก ์ ์๊ตฌํ๋ฉฐ ์ฌ๋๋ค์ด ํ์๋ฐ๋๋ค๊ณ ๋๋ ์ ์๋๋ก ์ ๊ทน์ ์ผ๋ก ์ต์ ์ ๋คํฉ๋๋ค.
Flutter์๋ ์ด์ ์ ์ด๊ณ ์ฌ๋ฅ ์๋ ๋ง์ ์ฌ๋๋ค์ด ์ผํ๊ณ ์์ผ๋ฉฐ ํน์ ๊ฐ๋ฐ ๋ผ์ธ์ ์ถ๊ตฌํ๊ฑฐ๋ ์ถ๊ตฌํ์ง ๋ง์์ผ ํ ์ถฉ๋ถํ ์ด์ ๊ฐ ์์ต๋๋ค. Flutter๊ฐ UWP์์ ์์ ํ๋๋ก ํ๋ ๋ฐ ์ด์ ์ ์ด๋ผ๊ณ ๋ง์๋๋ฆด ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ์ผ๋ถ๋ ๋ํ win32์์ ์๋ํ๋๋ก ํ๋ ๋ฐ ์ด์ ์ ์ ๋๋ค. ์ด๊ฒ์ ์คํ ์์ค ํ๋ก์ ํธ์ด๋ฉฐ, ๊ธฐ์ฌ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๊ทธ ๋์, ๋ค๋ฅธ ๊ฒฝ๋ก์ ๋ํด ์์ ํ๋ ๊ธฐ์ฌ์๊ฐ ๋ฌด์งํ๊ฑฐ๋, ์๊ฐ์ ๋ญ๋นํ๊ฑฐ๋, ๊ฑฐ๊พธ๋ก ์๊ฐํ๊ณ ์๋ค๊ณ ์์ํ์ง ๋ง์ญ์์ค.
์ต๊ทผ ๋ช ๊ฐ์ ๊ฒ์๋ฌผ์ด ์ด ์ปค๋ฎค๋ํฐ์์ ์ฐ๋ฆฌ๊ฐ ์ด๋งํ๋ ์ํธ ์กด์ค ์์ค์ ๋๋ฌํ์ง ๋ชปํ๋ ์ด์ ๋ฅผ ์ ์ ์๋ค๋ฉด ๋ ์ ๊ทน์ ์ธ ์ญํ ์ ์ํํ์ญ์์ค.
/cc @timsneath @Hixie
@dnfield ๋ด๊ฐ ๋น์ ์ ์์ ์ ๋ณด์ง ๋ชปํ๋ ๊ทธ ์ผ์ ํ ์ ์ด ์๋ค๋ ๊ฒ์ ๊ฐ์ํ ๋. ๋๋ ์ฌ์ค์ ์ ๊ฐํ ์ญ์ฌ, ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๋ค์ ์์ฑํด์ผ ํ๊ณ ๋ค๋ฅธ ํ๋ซํผ๊ณผ ๋๋ฑํ์ง ์๊ฒ ํ๊ธฐ ์ํด ์ทจํ๋ ๊ฒฝ๋ก๋ฅผ ์ค๋ช ํ์ต๋๋ค.
๋น์ ์ด ์ฃผ์ ๊น๊ฒ ์ฝ์ด๋ณด๋ฉด, ๋๋ ์ด๋ค ์ฌ๋์ ๋ฌด์งํ๋ค๊ณ ๋ถ๋ฅด์ง ์์์ผ๋ฉฐ(๋ง ๊ทธ๋๋ก ์ฌ์ค์ ์์ง ๋ชปํ๋ค๋ ์๋ฏธ์ด๋ฉฐ ๊ฒฝ๋ฉธ์ ์ด์ง ์์ผ๋ฉฐ, ๊ทธ ์์ฒด๊ฐ ์ฌ์ค ์ง์ ์ด ์๋๋๋ค), ๋๋ ์ด๋ค ๊ฐ์ธ์ ๊ฑฐ๊พธ๋ก ์๊ฐํ๋ค๊ณ ๋น๋ํ์ง๋ ์์์ต๋๋ค. (์ฆ, 1์ 14์ผ ํ์ฌ ์ ์ ๋ ๊ด๋ จ์ฑ์ด ์๊ณ ์ฃฝ์ ๊ณผ๊ฑฐ๋ฅผ ํฌ์ฉํ๋ฉด์ ๋ฏธ๋์ ๋จ์ ๋๋ ๋ ๊ฑฐ์ ํ๋ซํผ์ ๋ชฉํ๋ก ํจ)
๊ทธ๋์ ๋๋ ๊ทธ๋ค์ด ๋ด๊ฐ ์ฌ์ฉํ๋ ์ผ๋ฐ์ฑ๊ณผ ๋์ผ์ํ๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ ๋ด๊ฐ ๊ทธ๊ฒ์ ํต์ ํ ์ ์๋ค๋ฉด ๋๊ตฐ๊ฐ๊ฐ ์ด๋ป๊ฒ ๊ธฐ๋ถ์ด ์ํ ์ง ์ดํดํ์ง ๋ชปํฉ๋๋ค.
๋น์ ์ ๋ํด ํ์ง ์์ ๋ง์ ๊ธฐ๋ถ์ด ์ํ์ จ๋ค๋ฉด ๊ทธ๋ ๊ฒ ๋๋ผ์ ๊ฒ ๊ฐ์ ์ฃ์กํฉ๋๋ค. ์๋ง๋ ํด๊ฒฐ์ฑ ์ ๋ด ์ ์ฅ์ ์ง์งํ๊ฒ ๋ฐ์๋ค์ด๊ณ ๋ ผ๋ฆฌ์ ์ผ๋ก ์๊ฐํ๊ณ ์ด๋ฌํ ์ฌ์ค์ ์ค์ ๋ก ๊ณ ๋ คํ์ผ๋ฉฐ ๋ฌด์ํ์ง ์์์ผ๋ฉฐ win32๊ฐ ๋ค์์ ์๊ตฌํ๋ ์ฐฝ์์ ์ด๋ป๊ฒ ์๋ํ ๊ฒ์ธ์ง์ ๋ํ ์ฅ๊ธฐ ๊ณํ์ด ์์์ ์ ์ฆํ๋ ๊ฒ์ ๋๋ค. ์คํ ์ด ๋ฐ ํด๋น ์คํ ์ด๋ win32 arm ์ฑ ๊ฒ์๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ win32๋ฅผ ์ฌ์ฉํ๋ ์ค๋ฒํค๋๋ ์ด ์ ํ์ผ๋ก ๊ฐ๋ฅํ ๊ธฐ์ฌ์๋ฅผ 90% ์ด์ ์ค์ด๋ฏ๋ก Windows๊ฐ ํญ์ ๋ค๋ฅธ ํ๋ซํผ ๋ค์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋น์ ์ด ๋ฌด์งํ์ง๋ ์๊ณ ํ์ง์ ์ฌ๊ณ ๋ ์๋๋ฏ๋ก ๋ด๊ฐ ๋งํ ๊ฒ์ด ๋น์ ์ ๊ธฐ๋ถ์ ์ํ๊ฒ ํด์๋ ์ ๋๋ค๋ ๊ฒ์ด ๋ถ๋ช ํ ๊ฒ์ ๋๋ค.
๋์ "๋๋ (๋์๊ฒ ์ง์๋์ง ์์ ๊ฒ์ ๋ํด) ๊ธฐ๋ถ์ด ์ํ์ผ๋ฏ๋ก ๋น์ ์ด ํ๋ ธ์ต๋๋ค"๋ผ๋ ๋ฉ์์ง๋ฅผ ๋ฐ์ต๋๋ค. ์ด๋ค ๋ ผ์์์๋ ๋ ผ์์ด ๋์ง ์๋ ๊ฒ์ ๋๋ค.
๋ด ์ ์ฅ์ด ์ด๋ป๊ฒ ํํ๋์๋ ์ธ๊ธ๋์ง ์์๋ค๋ ์ ์ ๊ฐ์ํ ๋, flutter๋ ์ ์์ Windows์์ ์คํ ๊ฐ๋ฅํ ์๋ฃจ์ ์ด ๋ ๊ฐ๋ฅ์ฑ์ด ์์ผ๋ฉฐ iOS, Android ๋ฐ Windows์ฉ์ผ๋ก ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํจ๋ฆฌํฐ๋ฅผ ํ์ฉํ์ง ์์ ๊ฒ์ ๋๋ค. ์ด ๊ฒฐ์ ์ ๊ฒฐ๊ณผ๋ก ์ฐ๋ฆฌ ํ์ด ์ต์ 2๊ฐ์ ํ๋ ์์ํฌ(๋ฐ๋ผ์ ์ต์ 2๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด)๋ฅผ ์ฌ์ฉํ๋๋ก ๊ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋ค์ ํ๋ก์ ํธ์์ ๊ณํํ ๋๋ก Flutter๋ฅผ ์ฌ์ฉํ์ง ์์ ๊ฒ์ด๋ฏ๋ก ์ ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ ๋ง์ ์ค๋ฒ ํค๋๊ฐ ์๋๋ผ๋ ํํ ๋์ ํ์ํจ์ ๊ธธ.
James๋ ์๋ฒ ๋ฉ ์์ ์ด๊ธฐ๋ถํฐ UWP ์ง์์ ์คํํด ์์ผ๋ฉฐ ์ด๋ฏธ ์ ์งํ๋๊ณ ์์ต๋๋ค.
@stuartmorgan @clarkezone UWP์์ Flutter๋ฅผ ์คํํ๋ ๊ณต๊ฐ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ์๊ฐ ์์ต๋๊น? ์์ฃผ ์ด๊ธฐ ๋จ๊ณ์ด๋๋ผ๋ ์ด๊ฒ์ ์๋ํ๊ณ ์ถ์ต๋๋ค.
์ ๋ ํ์ฌ UWP ์ง์์ ํ๋กํ ํ์ ์ ์์ ์ค์ ๋๋ค. ์์ง ์ด๊ธฐ ๋จ๊ณ์ด์ง๋ง(์: ์์ง ํฝ์ ์ ๋ณธ ์ ์ด ์์) ์ด๋ป๊ฒ ํ ๊ฒ์ธ์ง์ ๋ํ ๊ณํ์ด ์์ต๋๋ค. ๊ทธ๊ฒ์ ๋ด๊ฐ ๋ง๋ ์ด์ Angle ๋ณ๊ฒฝ์ ๋ํ ์ฝ๊ฐ์ ์์ ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ๊ฒ์ ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ฝ๋ฉํ์ง๋ง ์์ง Angle์ ์ ์ถํ์ง ์์์ต๋๋ค. ๋ฉด์ฑ ์กฐํญ: ์ด๊ฒ์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐฐ์กํ๊ฒ ๋ค๋ ์ฝ์์ ๊ตฌ์ฑํ์ง ์์ผ๋ฉฐ ์ฌ์ ํ ๊ฐ๋ฅํ ๊ฒ์ ๋ํ ํ์์ ๋๋ค. ๋๋ ์ฝ๊ฐ ๋ ํฅ๋ฏธ๋ก์ด ์ง์ (์: ํฝ์ )์ ๋ง๋ค๋ฉด ์ฌ๊ธฐ์ ๋ค์ ๋ณด๊ณ ํ ๊ฒ์ ๋๋ค.
์ ์ํ ์๋ต @clarkezone ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค
FDE ํฌํฌ์์ uwptest ๋ผ๋ ๋ถ๊ธฐ๋ฅผ ์ฐพ์์ต๋๋ค. ๋น์ ์ด ์คํํ๊ณ ์๋ ๊ฒ์ ๋๊น? ์ด ๊ฒฝ๋ก์ ๋ํ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ๋ฅด๊ณ ์ถ์ต๋๋ค.
NP, ๋ค, FDE ์ง์ ์ ๋๋ค. ๋จ๊ธฐ์ ์ผ๋ก๋ ํน์ ์ด๋ก ์ ์ฆ๋ช ํ๊ธฐ ์ํ ์์ ํดํน์ด ๋ง์ด ์์ ๊ฒ์ ๋๋ค.
์๋ ํ์ธ์ @clarkezone์ ๋๋ค! ๊ทํ์ ์์ ์ด Microsoft์ ์ง์์ ๋ฐ๋์ง ์ฌ์ญค๋ด๋ ๋ ๊น์? Microsoft๊ฐ Windows ์ฑ์ ๋ง๋ค๊ธฐ ์ํด Flutter๋ฅผ ์ง์ํ ๊ฒ์ผ๋ก ๊ธฐ๋ํ ์ ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด Flutter์์ UI Fabric์ ์ฌ์ฉํ ์ ์๋๋ก ํ ๊ณํ์ด ์์ต๋๊น?
์ ์๊ฐ์ ์ต๊ทผ์๋ ์ง์ ์ฐธ์ฌ/๋ง์กฑ์ ํฅ์์ํค๊ธฐ ์ํด ์๋ฆ๋ค์ด ๊ธฐ์ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์ ์ ๋ ๋ง์ ๊ด์ฌ์ด ์๊ฒผ์ต๋๋ค. ์ ๋ ํ์ฌ ๊ทธ๋ฌํ ํ๋ก์ ํธ๋ฅผ ๋ค์ ์งํํ๊ณ ์์ต๋๋ค. ์ต๊ทผ์ ์ฐ๋ฆฌ๋ Big 4 ๊ธ์ต ํ์ฌ ์ค ํ๋๋ฅผ ์ํด Flutter ๊ธฐ๋ฐ Android ์ ํ๋ฆฌ์ผ์ด์ ์ ์ถ์ํ์ต๋๋ค. ์ด๋ฌํ ๊ธฐ์ ์ ๋ด๋ถ ์ํํธ์จ์ด์ C# ๋ฐ Xamarin์ ์ฌ์ฉํ๋ ๊ฒฝํฅ์ด ์์ง๋ง ์ง์ฅ ๊ฒฝํ ๋ชจ๋ฐ์ผ ์ฑ์๋ ๋ ๋์ ํ์ง์ UI๋ฅผ ๊ธฐ๋ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ Flutter๊ฐ ๋ ๋์ ์ต์ ์์ด ์ ์ฆ๋์์ต๋๋ค. ๋์์ Microsoft๋ Flutter ์ฑ์ ์คํํ ์ ์๋ ๊ธฐ์ ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ ํ๋ฅญํ ์ฅ์น๋ฅผ ์์ฐํ๋ฏ๋ก ์ด๋ฅผ ์คํํ๊ธฐ ์ํด Microsoft ๋ฐ/๋๋ Google์ ๋ ๋ง์ ์ง์์ ๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
์๋ ํ์ธ์ ๋ฃจ์นด์ค์ ๋๋ค. ๋ด ์์ ์ MS์ ์ง์์ ๋ฐ์ง ์๊ณ ์์ ์๊ฐ์ ๊ฐ์ธ์ ์ผ๋ก ์ํ๋ฉ๋๋ค. ๋ค๋ฅธ ์ ์ ๋ํด์๋ ํ์คํ ๋์ํ์ญ์์ค. FWIW ์ ๋ ๊ฝค ์ข์ ์ง์ ์ ์ด๋ค์ต๋๋ค. ์ถ๋ ฅ/๋ ๋๋ง์ ์ํด ์ข ๋จ ๊ฐ ์์ ์ ํ๋ Flutter ๋ฌ๋ ํ๋กํ ํ์ ์ด ์์ต๋๋ค(์์ง ์ ๋ ฅ ์์). ํ์ฌ ์์ ์ค์ธ ํฐ/๋ค์ ์์ ์ ๋น๊ธฐ์ง ์๊ณ ๋ชจ๋ ๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฐ๊ฒฐํ๋ ๊ฒ์ ๋๋ค. user32/gdi32 ๋ฑ์์ .. ์ด ๋จ๊ณ๋ XBOX, Windows 10x ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ๋ฐ์คํฌํ์ด ์๋ ์ฅ์น์์ ์คํ๋๋ ํ๋กํ ํ์ ์ ์ฑ๊ณต์ ์ผ๋ก ๋ณผ ์ ์๋๋ก ํ๋ ๋ฐ ํ์ํ๋ฉฐ (๋ ๋ค๋ฅธ) ์ผํฌ ๋ฉด๋๋ก ์ฆ๋ช ๋๊ณ ์์ต๋๋ค :-)
์๋์ฐ ์คํ ์ด๋ฅผ ์ถ๊ฐํด์ฃผ์ธ์!!!!
@ daniele777 ๊ทธ๊ฒ ๋ด๊ฐ ์์ ํ ๊ฒ์ ๋๋ค;-) ์ํ ์ ๋ฐ์ดํธ: ๋ง์ปค ์ค๋ฅ 84๊ฐ์์ 10๊ฐ๋ก ๊ฐ์
๋ด๊ฐ ๋์์ด ๋ ์ ์์ต๋๋ค ?? ํ๋ก์ ํธ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ?? ๋ด๊ฐ ์์ ์ ํ ์ ์์ต๋๊น?
@ daniele777 ์ด ์์ ์์๋ ์์ง ๊ธฐ๋ณธ PoC๊ฐ ์๋ํ์ง ์์ต๋๋ค. ๋ง์ปค ์ค๋ฅ๋ ์ง์์ง์ง๋ง Dart๋ฅผ ํธ์ถํ ๋ ๋น๋ ํ์ดํ๋ผ์ธ์์ ๋ฌดํ ๋ฃจํ์ ๋น ์ง๋ ๋น๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ค๋ฅธ ๋ฌธ์ ๋ ์์ต๋๋ค. ๋๋ 2์ฃผ ๋์ ํด๊ฐ๋ฅผ ๋ณด๋ผ ์์ ์ด๋ฏ๋ก ์ผ๋จ ๋์์์ PoC ๋จ๊ณ๋ฅผ ๊ฑฐ์น๊ณ ๋๋ฉด ๋ณ๋ ฌํํ ์ ์๋ ํญ๋ชฉ์ด ์์ ์ ์์ต๋๋ค.
์ข์ ์ต๊ณ ์ผ!
์ด๊ฒ์ด ๋ ๋นจ๋ฆฌ ๋์ฐฉํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆด ์ ์์ต๋๋ค. Windows์์ ํ์ฌ win32 ๊ธฐ๋ฐ ํ๋ฌํฐ๋ฅผ ์๋ํ์ต๋๋ค. OMG ๋ ๋๊ฐ ๋๋ฌด ํฝ์ ํ๋์ด ํ๋์ ์ธ ๋์์ธ์ฒ๋ผ ๋ณด์ด์ง๋ง 10๋ ๋ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋์์ต๋๋ค. 4K ํ๋ฉด์์ ๋ณผ ์ ์์ ๊ฒ์ผ๋ก ์์๋๋ ๊ฒ์ด ์๋๋๋ค. UWP ์ฑ ๋ฐ ์ต์ ์น ์ฑ์์ ํ ์คํธ์ ๋ถ๋๋ฌ์ด ๊ฐ์ฅ์๋ฆฌ์ ์ฌ์ฉ๋๋ win32 ๋ ๋๋ง์ ๋งค์ฐ ๊ตฌ์์ผ๋ก ๋ณด์ ๋๋ค.
@nerocui - Windows์์ ํฝ์ ํ๋ ๋ ๋๋ง์ด ํ์๋๋ ๊ฒฝ์ฐ UWP๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๊ฒ๋ง์ผ๋ก๋ ํด๊ฒฐ๋์ง ์๋ ๋ค๋ฅธ ๋ฒ๊ทธ์ผ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋์ต๋๋ค. ์ฌํ ๋จ๊ณ(๋ฐ ์๋ง๋ ํฝ์ ํ์ ์คํฌ๋ฆฐ์ท)์ ํจ๊ป ์ด์ ๋ํ ์๋ก์ด ๋ฌธ์ ๋ฅผ ์ ์ถํ ์ ์์ต๋๊น?
@dnfield ์ด๋ฏธ์ง๊ฐ ํฝ์ ํ๋๋ ๊ฒ๊ณผ๋ ๋ค๋ฆ ๋๋ค. ํ ์คํธ์ ๋ชจ์์ด ํ๋์จ์ด ๊ฐ์ ์์ด ๋ ๋๋ง๋์ด ๊ฐ์ฅ์๋ฆฌ๊ฐ ๋งค๋๋ฝ์ง ์๊ฒ ๋ณด์ผ ๋ฟ์ ๋๋ค. ์ด๊ฒ์ ๋ด๊ฐ ๋ณด๋ ๋ง์ win32 ํ๋ก๊ทธ๋จ์์ ๋ฐ์ํฉ๋๋ค. ๊ธฐ๋ณธ ํ ํ๋ฆฟ ํ์ด์ง์ ํ ์คํธ์ ๋ฒํผ๋ง ์๊ธฐ ๋๋ฌธ์ ์ฌ์์ฐ ๋จ๊ณ๊ฐ ์์ต๋๋ค.
@nerocui win32 ์ฑ์๋ UWP์ ๋นํด ์ ์ ํ DPI ์ค์ผ์ผ๋ง์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. win32 ํ ์คํธ ๋ ๋๋ง์ด ์ ๋๋ก ์๋ํ๋๋ก ํ๋ ค๋ฉด ๋ง์ ์์ ์ด ํ์ํ์ง๋ง ๋งค์ฐ ์ด๋ ต์ต๋๋ค.
@ JohnGalt1717 ๊ฐ์ฌํฉ๋๋ค. ์ ํํ ์ ์์ ์ ๋๋ค. Flutter๋ ์๋ฆ๋ค์ด ํฌ๋ก์ค ํ๋ซํผ ์ฑ์ ๊ตฌ์ถํ๋ ๊ฒ์ด์ด์ผ ํ์ง๋ง win32๋ ์ฑ์ ์ถ์ ํ๊ฒ ๋ง๋๋ ์ ์ผํ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ์๋์ฐ์์์ ํ๋ฌํฐ ๊ตฌํ์ ๋ค๋ฅธ ํ๋ซํผ๋ณด๋ค ์ด๋ฑํ๊ฒ ๋ณด์ด๊ฒ ํฉ๋๋ค.
win32๋ ์ฑ์ ์ถ์ ํ๊ฒ ๋ง๋๋ ์ ์ผํ ๊ฒ์ ๋๋ค.
@dnfield ๊ฐ ๋งํ๋ฏ์ด ์ด๊ฒ์ด ์ฌ์ค์ผ ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์์ต๋๋ค. Flutter ํ ์คํธ ๋ ๋๋ง์ ์ ์ ์ผ๋ก Skia์์ (DPI์ ๋ง๊ฒ ์ ์ ํ๊ฒ ์กฐ์ ๋) GL ์ปจํ ์คํธ๋ก ์ํ๋ฉ๋๋ค. UWP API๋ก GL ์ปจํ ์คํธ๋ฅผ ์์ฑํด๋ ๋ ๋๋ง์ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
์ค๋ช ํ๋ ๋ฌธ์ ๋ฅผ ๊ฐ์กฐํ๋ ์คํฌ๋ฆฐ์ท๊ณผ ํจ๊ป ๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํ์ธ์.
์๋ฅผ ๋ค์ด ์ด๋๊ฐ์ ์คํฐ ์จ๋ฆฌ์ด์ค ํ๋๊ทธ๋ฅผ ๋ฌด์ํ๊ณ ํฌํจํ๋ ๊ฒ์ฒ๋ผ ๊ฐ๋จํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฒ์ ๋จ๊ณ ์์ด๋ ์ ์ ์์ต๋๋ค.
https://github.com/flutter/flutter/issues/53308
์ ๊ธฐ๋ ๋ฌธ์ . ์ ํํ/์ถฉ๋ถํ ์ ๋ณด์ธ์ง ํ์ธํด์ฃผ์ธ์.
DPI๋ฅผ 150% ๋๋ ๋ ๋์ 175%๋ก ์ค์ ํ๊ณ ์ผ๋ถ ํ ์คํธ๋ฅผ ๋ก๋ํ๋ฉด ๋ณผ ์ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ ๋๋ง ์ธ๋ถ ์ฌํญ์ ๋ํ ๊ฒ์๋ฅผ ์ค๋จํ์ญ์์ค. ์์ ์ค๋ช ์ ๋ฐ๋ฅด๋ฉด ์ด ๋ฌธ์ ์ ๊ด๋ จ์ด ์์ผ๋ฏ๋ก ์ฃผ์ ์์ ๋ฒ์ด๋ฉ๋๋ค.
Windows ์คํ ์ด์ ๊ฒ์ํ ์ค๋น๊ฐ ๋์ จ์ต๋๊น? ์ด๋ค ์์?
์๋์, ์คํ ์ด์ ๊ฒ์ํ ์ค๋น๊ฐ ๋์ง ์์์ต๋๋ค. ํฝ์ ๋ฐ ์ ๋ ฅ์ XBOX ๋ฐ Windows 10x์์ ์๋ํฉ๋๋ค. API์์ ๊ณ์ ๋ฐ๋ณต ์ค์ ๋๋ค. ์์ง ์์ ์ด ๋ง์ด ๋จ์ ์์ต๋๋ค.
์ ๋ ์ฝ๊ฐ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ๋ํด ์๊ฐํ๊ณ ์์ต๋๋ค. ์์ง ์๋ํ์ง๋ ์์์ง๋ง ์ฌ์ ์๊ฐ์ด ์์ผ๋ฉด ํ ์ ์์ต๋๋ค. ๋ฐ์คํฌํ์์ Skia WASM๊ณผ ํจ๊ป ์น์ฉ Flutter๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น(Blazor์์ ์ง์ ๊ฐ๋ฅ)? I/O์ ๋ํ ์ ํ๋ ์ก์ธ์ค๊ฐ ํ ๊ฐ์ง ๋จ์ ์ด๋ผ๊ณ ์๊ฐํ ์ ์์ง๋ง ์ค์ UI ๋ ๋๋ง ๋ฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ ์์๋๋ก ์๋ํด์ผ ํฉ๋๋ค. Windows๋ PWA๋ฅผ ์ ์ง์ํ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ(Chrome OS๋ ๋ง์ฐฌ๊ฐ์ง์) ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ ํ โโ์ฐ์ํ ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ฉด์ ๊ตฌํํ๊ธฐ ๋ ์ฌ์ธ ์ ์์ต๋๋ค.
@lukaszciastko ์๋์, ์ ์๊ฐ ํ๋ ๋ ์์ ๊ฒ์
๋๋ค. Flutter๋ ๋ชจ๋ ์ข
๋ฅ์ ๊ธฐ๋ณธ Windows ์ฑ(win32, Winforms, wpf)์ ํฌํจ๋ ์ ์๋ ๊ธฐ๋ณธ Windows ์ฐฝ(HWND)์ผ๋ก ๋ ๋๋ง๋์ด์ผ ํฉ๋๋ค.
IMHO uwp๋ Windows ์ฑ์ ์ฃผ์ ์ข
๋ฅ๋ก ๊ฐ์ฃผ๋์ด์๋ ์ ๋ฉ๋๋ค. MS๋ ๊ทธ๋ฌ์ง ์์๋ค.
@clarkezone Windows์์ ์คํ๋๋ ์ฑ์ ๋ง๋ค ์ ์๋๋ก ํ๋ก์ ํธ์ ๊ทํ์ ์์ ์ด ํฌํจ๋๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ต๋๋ค.
Windows์์ ์คํ๋๋ ์ฑ์
Windows์์ Flutter ์ฑ์ ์คํํ ์ ์๋ ๊ฒ์ ์ด๋ฏธ ๊ฐ๋ฅํ๋ฉฐ ์ผ๋ง ๋์ ๊ฐ๋ฅํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ ์ด์ ๊ตฌ์ฒด์ ์ผ๋ก UWP์ ๊ดํ ๊ฒ์ ๋๋ค.
๋ ๋ช ํํ๊ฒ ํ๊ธฐ ์ํด ์ ๋ชฉ์ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค.
Windows์์ ์คํ๋๋ ์ฑ์
Windows์์ Flutter ์ฑ์ ์คํํ๋ ๊ฒ์ ์ด๋ฏธ ๊ฐ๋ฅํ์ผ๋ฉฐ ํ๋์ ๊ฐ๋ฅํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ ์ด์ ๊ตฌ์ฒด์ ์ผ๋ก UWP์ ๊ดํ ๊ฒ์ ๋๋ค.
๋ ๋ช ํํ๊ฒ ํ๊ธฐ ์ํด ์ ๋ชฉ์ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค.
Stuart, Windows์์ Flutter ์ฑ์ ๋น๋ํ๊ณ ์คํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ฌธ์๋ฅผ ์ด๋์์๋ ๋ณธ ์ ์ด ์์ต๋๋ค. ์ด ์ ๋ณด๋ฅผ ์ด๋์์ ์ฐพ์ ์ ์๋์ง ์๋ ค์ฃผ์ค ์ ์์ต๋๊น?
@steskalja ์ฌ๊ธฐ์ ๋ฌธ์๊ฐ ์์ต๋๋ค. https://github.com/flutter/flutter/wiki/Desktop-shells#create
์ด๋ ฅ์์์ master
๋ถ๊ธฐ์ ์์ด์ผ ํ๊ณ ๋ค์์ ์คํํด์ผ ํฉ๋๋ค.
flutter config --enable-windows-desktop
์๋ํ๋ ค๋ ํ๋ก์ ํธ์์:
flutter create .
// windows ํด๋๋ฅผ ์ถ๊ฐํฉ๋๋ค. android ๋ฐ ios ํด๋์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฃผ์ํ์ญ์์ค.
flutter run -d windows
๋ณด๋ค ๊ตฌ์ฒด์ ์ผ๋ก, ์ด ๊ฐ๋ฐ์์ ๋ํ ์ ์๊ฐ์ ๋๋ค. Project Union๊ณผ ์ด๋ค ๊ด๊ณ๊ฐ ์๊ธฐ๋ฅผ ๋ฐ๋ผ๋ ๊ฒ์ ๋๋ค. ์ ๋ Flutter๋ฅผ ์ฌ๋ํ๊ณ ์ด SDK๊ฐ ์๋ค๋ ์ฌ์ค์ ๋งค์ฐ ๊ธฐ์ฉ๋๋ค. Windows OS์์ Win32 ์ฑ์ ๋ฏธ๋๊ฐ ๊ฑฑ์ ๋ฉ๋๋ค.
Flutter ํ์ด ๊ฐ์ง๊ณ ์๋ ์ง์ ๊ธฐ๋ฐ์ ๋ฌด์์ ๋๊น?
์ด ์์ ์ด ์๋ฃ๋๋ฉด C#์์ Flutter ํ๋ฌ๊ทธ์ธ์ ๊ตฌํํ๊ณ ํ๋ฌ๊ทธ์ธ์์ UWP ์ฑ์ ์ฌ์ฉํ ์ ์๋ API, SDK ๋ฐ NuGet ํจํค์ง๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ์๋ฏธ์ธ๊ฐ์?
@kinex ๋ ์ฌ๋์ด ๊ด๋ จ์ด ์๋ค๊ณ ์๊ฐํ๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค. ํ๋ฌ๊ทธ์ธ์ ๋ํ .net ์ง์์ ์ถ๊ฐํ๋ ๊ฒ์ ๋น๊ต์ ๊ฐ๋จํ๋ฉฐ UWP๊ฐ ํ์ํ์ง ์์ต๋๋ค. ๊ทธ๋๋ ํ๋ฌํฐ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฉ๋๋ค.
@JakeSays ๋ด ์ดํด์์ ์คํ ํ๊ฒฝ(์ด ๊ฒฝ์ฐ UWP)์ ํ๋ฌ๊ทธ์ธ์ด ์์ฑ๋๋ ๋ฐฉ๋ฒ๊ณผ ํ๋ฌ๊ทธ์ธ์์ ์ฌ์ฉํ ์ ์๋ ํญ๋ชฉ์ ์ ์ํฉ๋๋ค. ๊ทธ๋์ ์๋ง๋ ๋ด ์ง๋ฌธ์ ๋ํ ๋๋ต์ "๋ฌผ๋ก "์ผ ์๋ ์์ง๋ง ์์ ํ ํ์ ํ ์๋ ์์ต๋๋ค.
Android ํ๋ฌ๊ทธ์ธ์์๋ Kotlin(๋๋ Java)๊ณผ ๋ชจ๋ Android API, SDK ๋ฐ ํจํค์ง๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. iOS ํ๋ฌ๊ทธ์ธ์์๋ Swift(๋๋ Objective-C)์ ๋ชจ๋ iOS API, SDK ๋ฐ Pod๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋๋ UWP์์๋ ๊ฐ์ ๊ฒ์ ๊ธฐ๋ํ๊ณ ์ด๊ฒ์ ์ ๋ง ๊ต์ฅํ ๊ฒ์ ๋๋ค.
ํ๋ฌ๊ทธ์ธ์์ C#์ ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ํ๊ณ ์ ํ๋ ์ผ์ด์ง๋ง UWP ์ง์๊ณผ ์ง๊ตํฉ๋๋ค.
UWP ๋ฌ๋๋ ํ๋ฌ๊ทธ์ธ์์ UWP ๊ด๋ จ API๋ฅผ ์ฌ์ฉํ ์ ์์์ ์๋ฏธํ์ง๋ง ์ค์ ๋ก UWP ๊ด๋ จ API๋ ๊ฑฐ์ ์๋ค๋ ์ ์ ์ดํดํ๊ณ ์์ต๋๋ค(์: ์ด ์ค๋ช ์ ์ ๋ฐ๋ฅด๋ฉด "์ผ๋ฐ์ ์ธ ๊ท์น์ ๋ฐ์คํฌํฑ ์ฑ์ด ์ ๋๋ฒ์ค Windows ํ๋ซํผ์ ํธ์ถํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. (UWP) API.")
@stuartmorgan ๊ทธ๊ฒ์ ์ฌ์ค์ด ์๋๋๋ค. ๊ฒฐ๊ตญ์๋ ํ๋ก์ ํธ ์ฌ๊ฒฐํฉ์ด ์ฌ์ค์ด ๋ ๊ฒ์ด์ง๋ง, ์ง๊ธ์ ๊ทธ๋ ์ง ์์ผ๋ฉฐ ๊ทธ๋๋ ํ๋ฌํฐ์ ๊ฒฝ์ฐ์ฒ๋ผ ์ ์ฑ์ด ์๋๋ผ ๋ ๊ฑฐ์ ์ํํธ์จ์ด๋ฅผ ์ํ ๊ฒ์ ๋๋ค. UWP ์์ด๋ ํ ์ ์๋ ์์ (์: ๋ค์ํ ๋น๋์ค ์ฝ๋ฑ, DRM ๋น๋์ค ํ๋ ์ด์ด ๋ฑ์ ํ๋ฌ๊ทธ์ธ ์ก์ธ์ค)์ด ์ฌ์ ํ ๋ง๊ธฐ ๋๋ฌธ์ ํ๋ฌํฐ ํ์ด ์ทจํ๋ ์ ๊ทผ ๋ฐฉ์์ ํญ์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. . ์์ฅ์์ UWP๋ฅผ ์คํํ ์ ์๋ Microsoft(๋ฐ๋ผ์ ์์ ํ) ์ด์ ์ฒด์ ๊ฐ 0๊ฐ ์์ต๋๋ค(์ฆ, Windows 7์ ๋์์ผ๋ก ํ๋ ๊ฒ์ ํฐ๋ฌด๋์๊ณ Flutter์ ๋ชฉํ๊ฐ ๋์ด์๋ ์ ๋ฉ๋๋ค. Windows 10๋ง ๋์์ด ๋์ด์ผ ํจ). ๋ฐ๋ผ์ ์ด๊ฒ์ด ์ฒซ๋ ๋ถํฐ ๊ธฐ๋ณธ UWP๊ฐ ์๋์ด์ผ ํ๋ ์ด์ ๋ 0๊ฐ์ง์ ๋๋ค.
์ค์๊ฐ์์ผ๋ก ๋ชจ๋ Windows 10 S ๋ฐ ๋ณ์ข ์ win32 ์ฑ์ ์คํํ ์ ์์ผ๋ฏ๋ก Flutter๊ฐ ํด๋น ์ฑ์์ ์ ๊ธธ ์ ์์ต๋๋ค. ๋ํ ์๊ฒฉ ๋ฐ์คํฌํฑ์ ์ฌ์ฉํ์ฌ ๋์ปค ์ปจํ ์ด๋์์ win32 ์ฑ์ ์คํํ๋ UWP ๋ฐ Windows X์์ ์คํํ์ง ์๋ ํ ARM/ARM64 ์ฅ์น์์๋ ์ ๊น๋๋ค. ๊ทธ๋ํฝ ์ฑ๋ฅ.
๋ฐ๋ผ์ google/flutter๊ฐ Windows ์ง์์ ๋ํด ๋ฏธ๋ ์งํฅ์ ์ธ ์๊ฐ์ ํ๋ค๋ฉด C++ ๋ฐ .NET(๋๋ถ๋ถ์ Windows ๊ฐ๋ฐ์๋ C++์ด ์๋ .net์ ์ฌ์ฉํจ)์ ํ์ฉํ๊ณ ํ์ฌ ๋ฐ ๋ฏธ๋์ ๋ชจ๋ Windows ์ฅ์น๋ฅผ ์ต์์ ์ํ๋ก ์ง์ํ๋ ์์ ํ UWP๊ฐ ๋ ๊ฒ์ ๋๋ค. ๊ฐ๋ฅํ ์ํธ ์์ฉ. ํ์ฌ win32 ์ ๊ทผ ๋ฐฉ์์ ๊ทผ์์์ ์ด๋ฉฐ ์ ๋๋ก ์ฐ๊ตฌ๋์ง ์์์ต๋๋ค(์ด๋ Windows๋ฅผ ์คํํ๋ 10์ต ๊ฐ ์ด์์ ์ฅ์น๋ฅผ ๊ณ ๋ คํ ๋ ์ฐ๋ ค๋๋ Google ๋ด์ ์ ๋ง ๊ฑฐ๋ํ ์ฌ๊ฐ์ง๋๋ฅผ ๋ํ๋).
Skia๊ฐ ์ด๋ฏธ UWP์์ ์คํ๋๊ณ ์๋ค๋ ์ ์ ๊ฐ์ํ ๋ ์ด๊ฒ์ด ์ฌ์ค์์ ํ๊ฒฝ์ด ์๋๋ฉฐ Windows์ ๋ํ Google ๋ ธ๋ ฅ์ 100% ์ด์ ์ด ๋์ง ์์ ์ด์ ๋ ๊ฑฐ์ ์์ต๋๋ค. (์ค์ ๋ก Microsoft์ ํ๋ ฅํ์ฌ ์ ์ฒด Xamarin ์๊ฒฉ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ Windows์ iOS ์ฅ์น์ ์ง์ ๋ฐฐํฌ๋ ์๋ํจ)
@JohnGalt1717 ์ด ๋ฌธ์ ์์ ์ด๋ฏธ ์ฌ๋ฌ ๋ฒ ์ด ์ฃผ์ฅ์ ํ์ จ์ต๋๋ค. ๊ทธ๊ฒ์ ๋ฐ๋ณตํ๋ ๊ฒ์ ๊ฑด์ค์ ์ด์ง ์์ต๋๋ค. UWP ์ง์ ๊ฐ๋ฐ์ ๊ฐ์ํํ๋ ค๋ฉด ์ด์ ๊ธฐ์ฌํ ์ ์์ต๋๋ค.
@stuartmorgan C# ์ฌ์ฉ์ ๋ํ ๊ทํ์ ์๊ฐ์ด ๊ถ๊ธํฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์๋์ํค๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ช ๊ฐ์ง ์์ด๋์ด๊ฐ ์์ต๋๋ค.
@kinex ์ค์ ๋ก flutter ํ๋ฌ๊ทธ์ธ์ ๋ณธ์ง์ ์ผ๋ก ๊ฐ๋จํ API๋ฅผ ํตํด flutter์ ์ํธ ์์ฉํ๋ C ์ฝ๋์ ๋๋ค. C#์ผ๋ก ์์ฑํ๋ ค๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก CLR์ ํธ์คํ ํ๊ณ ํ๋ฌํฐ ์ธ๊ณ์ C#์ ์ฐ๊ฒฐํ๋ C๋ก ์์ฑ๋ ".net ํ๋ฌ๊ทธ์ธ"์ด ํ์ํฉ๋๋ค. ์ด๋ก ์ ์ผ๋ก ์ธ์ด ํ๊ฒฝ์ด ๋์ ์ด์ ์ฒด์ ์์ ์คํ๋ ์ ์๋ ํ Windows ๋๋ ๋ชจ๋ ์ธ์ด์ Java๋ก ํ๋ฌํฐ ํ๋ฌ๊ทธ์ธ์ ์์ฑํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค.
@JakeSays ์ ๋ ์ฌ๊ธฐ์ ์ ์ถํ ์ ์ด ์๊ธฐ ๋๋ฌธ์ C#์ ๋ํ ํ์ฌ ์๊ฐ์ https://github.com/flutter/flutter/issues/64958 ์ ์ ์ถํ์ต๋๋ค. ํนํ C#์ ๊ด์ฌ์ด ์๋ ์ฌ๋์ ์ด ๋ฌธ์ ๋ฅผ ๋ฐ๋ผ์ผ ํฉ๋๋ค.
@JakeSays ๋ค , ์ค๋ช ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ ๋์ ์ง์ ์์ด ๋๋ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ ํ์ต๋๋ค. C# ํ๋ฌ๊ทธ์ธ(.NET ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ตฌํ๋์์ ์๋?)์ UWP ๋ฌ๋์ ์ํด ๋ก๋๋๊ณ Dart ์ฝ๋๋ UWP ๋ฌ๋ ํ๋ก์ธ์ค๋ฅผ ํตํด ์ด๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค. ์ด ๊ฐ์ ์ํคํ ์ฒ์์ ํด๋น C# ํ๋ฌ๊ทธ์ธ์ UWP ์ฑ์์ ํธ์คํ ํ๋ .NET ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋์ผํ API, SDK ๋ฐ NuGet ํจํค์ง์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
์ด์จ๋ C# ์ง์์ ๊ดํ ๊ณํ์ด ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์ด ๋ฐ๊ฐ์ต๋๋ค. C++ ๋์ C#์ ์ฌ์ฉํ ์ ์๋ค๋ฉด ๋ ๋ง์ ํ๋ฌ๊ทธ์ธ ์์ฑ์(=๋ ๋ง์ ํ๋ฌ๊ทธ์ธ์ด ๋ ๋นจ๋ผ์ง)์ ๋ ์์ ์ ์ธ ํ๋ฌ๊ทธ์ธ์ด ์์ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค.
@kinex C# ํ๋ฌ๊ทธ์ธ์ด nuget ํจํค์ง๋ฟ๋ง ์๋๋ผ ์ ์ฒด .net ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ธํธ์ ์ก์ธ์คํ ์ ์๋ค๋ ์ ์์ ๋ง์ต๋๋ค. C# ์ฝ๋๊ฐ ์คํ๋๋ฉด ์ ์ฒด .net ํ๊ฒฝ(๋๋ ๊ฒฝ์ฐ์ ๋ฐ๋ผ .net ์ฝ์ด)์์ ์คํ๋ฉ๋๋ค.
FFI๋ ํ๋ฌ๊ทธ์ธ์ ์ํ ํจ์ฌ ๋ ๊ฐ๋ฒผ์ด ์๋ฃจ์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด https://pub.dev/packages/win32 ๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ํ๋ฉด์ UWP ๊ธฐ๋ฐ ๋ฌ๋๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ์ ๋ํด์๋ ์ฃผ์ ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋๋ค.
@timsneath ์ ๋ ffi์ ํ๋ฌ๊ทธ์ธ์ด ๋ ๊ฐ์ง ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ์๊ฐํฉ๋๋ค. iirc ffi๋ก ํ ์ ์๋ ์ผ์๋ ๋ง์ ์ ํ์ด ์์ต๋๋ค(์: ๋๊ธฐ์).
๋ค์, ๋๋ C# ํ๋ฌ๊ทธ์ธ์ ๋ํด #64958์ ์ ์ถํ์ต๋๋ค. UWP๊ฐ ์๋ C#์ ๋ํ ํ ๋ก ์ ๊ณ์ํ์ญ์์ค.
์ข์ ์ผ๋ค์ด ๊ณ์๋๊ณ ์๋ค
๋๊ตฐ๊ฐ Microsoft์ ์ฌ๊ธฐ์๋ ๊ธฐ์ฌํ๋๋ก ์๋ ค์ผ ํฉ๋๋ค.
@airbus5717 ๋ฌด์จ ๋ง์์ด์ธ์? Microsoft๋ ์ฌ๊ธฐ์์ ํญ์ ํ ๋ก ์ ๊ธฐ์ฌํฉ๋๋ค.
์ ๊ฐ ์์ ํ Flutter UWP ์คํ์ ์ํ์ ๋ํ 2020๋ 9์ ์ ๋ฐ์ดํธ๋ฅผ ๊ณต์ ํ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค. ์ด๊ฒ์ ๋ด๊ฐ ์ ๋ ๊ณผ ์ฃผ๋ง์๋ง ์์ ํ๋ ์ฌ๊ฐ/์ต์ ์ ํ๋ก์ ํธ์ด๊ธฐ ๋๋ฌธ์ ์งํ์ด ๋ด๊ฐ ์ํ๋ ๊ฒ๋ณด๋ค ๋ ๋๋ ธ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ง๋ 6๊ฐ์ ๋์ ์๋นํ ์ง์ ์ ์ด๋ฃจ์๊ณ ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์๋๋ฆฌ์ค๊ฐ ์๋ํ๊ฒ ๋์์ต๋๋ค.
CoreWindow
๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋
์ฆ๋ช
WinRT Flutter ์๋ฒ ๋: https://github.com/clarkezone/engine์ด ์์ ์ ํ๋ก๋์ ์ค๋น ์ํ๋ก ๋ง๋ค๋ ค๋ฉด ์์ง ํด์ผ ํ ์ผ์ด ๋ง๊ณ ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆด์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง Flutter UWP๊ฐ ์คํ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ํ์คํฉ๋๋ค.
flutter create
์ ๋๊ตฌ ํตํฉ์ ์ํํ๋ ๋ฐฉ๋ฒ, ํซ ๋ฆฌ๋ก๋ ๋ฐ ๊ด์ธก์ ์ง์์ ์๋์ํค๋ ๋ฐฉ๋ฒ ๋ฑ๊ณผ ๊ฐ์ด ํด๊ฒฐํด์ผ ํ ๋ช ๊ฐ์ง ํฐ ๋ฌธ์ ๊ฐ ๋จ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ .
์๋ ์์์๋ https://github.com/miickel/flutter_particle_clock ์์ Flutter Particle clock ์ ์์ค๋ฅผ ๊ฐ์ ธ์ Windows๋ฅผ ๋์์ผ๋ก ํ๋ ๋ฆด๋ฆฌ์ค ๋ชจ๋์์ ๋น๋ํ๊ณ ๊ฒฐ๊ณผ app.so
๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ฐ์ ธ์์ Flutter Gallery์ ๋ํด ์์์ ์ฌ์ฉํ ๊ฒ๊ณผ ๋์ผํ Flutter Runner๋ฅผ ์ฌ์ฉํ๋ UWP, Microsoft Store์ ๊ฒ์ํ๊ณ ๋ด XBOX์ ์ค์น:
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ ๊ฐ ์์ ํ Flutter UWP ์คํ์ ์ํ์ ๋ํ 2020๋ 9์ ์ ๋ฐ์ดํธ๋ฅผ ๊ณต์ ํ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค. ์ด๊ฒ์ ๋ด๊ฐ ์ ๋ ๊ณผ ์ฃผ๋ง์๋ง ์์ ํ๋ ์ฌ๊ฐ/์ต์ ์ ํ๋ก์ ํธ์ด๊ธฐ ๋๋ฌธ์ ์งํ์ด ๋ด๊ฐ ์ํ๋ ๊ฒ๋ณด๋ค ๋ ๋๋ ธ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ง๋ 6๊ฐ์ ๋์ ์๋นํ ์ง์ ์ ์ด๋ฃจ์๊ณ ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์๋๋ฆฌ์ค๊ฐ ์๋ํ๊ฒ ๋์์ต๋๋ค.
CoreWindow
๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ ์ฆ๋ช WinRT Flutter ์๋ฒ ๋: https://github.com/clarkezone/engine์ด ์์ ์ ํ๋ก๋์ ์ค๋น ์ํ๋ก ๋ง๋ค๋ ค๋ฉด ์์ง ํด์ผ ํ ์ผ์ด ๋ง๊ณ ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆด์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง Flutter UWP๊ฐ ์คํ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ํ์คํฉ๋๋ค.
flutter create
์ ๋๊ตฌ ํตํฉ์ ์ํํ๋ ๋ฐฉ๋ฒ, ํซ ๋ฆฌ๋ก๋ ๋ฐ ๊ด์ธก์ ์ง์์ ์๋์ํค๋ ๋ฐฉ๋ฒ ๋ฑ๊ณผ ๊ฐ์ด ํด๊ฒฐํด์ผ ํ ๋ช ๊ฐ์ง ํฐ ๋ฌธ์ ๊ฐ ๋จ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ .์๋ ์์์๋ https://github.com/miickel/flutter_particle_clock ์์ Flutter Particle clock ์ ์์ค๋ฅผ ๊ฐ์ ธ์ Windows๋ฅผ ๋์์ผ๋ก ํ๋ ๋ฆด๋ฆฌ์ค ๋ชจ๋์์ ๋น๋ํ๊ณ ๊ฒฐ๊ณผ
app.so
๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ฐ์ ธ์์ Flutter Gallery์ ๋ํด ์์์ ์ฌ์ฉํ ๊ฒ๊ณผ ๋์ผํ Flutter Runner๋ฅผ ์ฌ์ฉํ๋ UWP, Microsoft Store์ ๊ฒ์ํ๊ณ ๋ด XBOX์ ์ค์น: