Flutter: โ˜‚ UWP ์ง€์› ์ถ”๊ฐ€

์— ๋งŒ๋“  2018๋…„ 02์›” 28์ผ  ยท  85์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: flutter/flutter

Windows 10/UWP์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚ด๊ฐ€ ์ด๊ฒƒ์„ ๋ฌป๋Š” ์ด์œ ๋Š” ํ˜„์žฌ ์ธํ„ฐ๋„ท์— ๊ฑฐ์˜ 10์–ต ๊ฐœ์˜ Windows 10 ์žฅ์น˜๊ฐ€ ์žˆ๊ณ  ์ธํ„ฐ๋„ท์—๋„ ์—†๋Š” ์žฅ์น˜๊ฐ€ ๋” ๋งŽ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

P4 desktop crowd uwp engine passed first triage platform-windows new feature

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ œ๊ฐ€ ์ž‘์—…ํ•œ Flutter UWP ์‹คํ—˜์˜ ์ƒํƒœ์— ๋Œ€ํ•œ 2020๋…„ 9์›” ์—…๋ฐ์ดํŠธ๋ฅผ ๊ณต์œ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์ €๋…๊ณผ ์ฃผ๋ง์—๋งŒ ์ž‘์—…ํ–ˆ๋˜ ์—ฌ๊ฐ€/์ตœ์„ ์˜ ํ”„๋กœ์ ํŠธ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง„ํ–‰์ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋Š๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๋‚œ 6๊ฐœ์›” ๋™์•ˆ ์ƒ๋‹นํ•œ ์ง„์ „์„ ์ด๋ฃจ์—ˆ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์ž‘๋™ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • AppContainer ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ์‹คํ–‰๋˜๋Š” WinRT ์ž…๋ ฅ API์™€ ํ•จ๊ป˜ CoreWindow ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋… ์ฆ๋ช… WinRT Flutter ์ž„๋ฒ ๋”: https://github.com/clarkezone/engine
  • Flutter ๊ฐค๋Ÿฌ๋ฆฌ ๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ๋ชจ Flutter ๊ฒฝํ—˜์ด ์žˆ๋Š” ํ•ด๋‹น ํ…Œ์ŠคํŠธ Flutter UWP ์‹คํ–‰๊ธฐ(C++์˜ 115์ค„๋งŒ!): https://github.com/clarkezone/fluttergallerywp
  • ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Flutter Gallery์˜ MSIX ํŒจํ‚ค์ง€ ๋ฒ„์ „์„ Microsoft Store์— ์„ฑ๊ณต์ ์œผ๋กœ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  WAC API ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•˜์—ฌ ๋งค์žฅ ์ธ์ฆ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค(๋งˆ์นจ๋‚ด :-)).

์ด ์ž‘์—…์„ ํ”„๋กœ๋•์…˜ ์ค€๋น„ ์ƒํƒœ๋กœ ๋งŒ๋“ค๋ ค๋ฉด ์•„์ง ํ•ด์•ผ ํ•  ์ผ์ด ๋งŽ๊ณ  ์‹œ๊ฐ„์ด ์–ผ๋งˆ๋‚˜ ๊ฑธ๋ฆด์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ 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์— ์„ค์น˜:

particle clock

๋ชจ๋“  85 ๋Œ“๊ธ€

์•„๋งˆ๋„ ์ง€๊ธˆ์€ ์•„๋‹ ๊ฒƒ์ž…๋‹ˆ๋‹ค. #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๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ด ํ๋ฆ„์€ ๊ด€๋ จ์ด ์—†์Œ).

  1. ์ƒˆ ๋ฒ„์ „์ด ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ ์ƒˆ๋กœ์šด ์žฅ์น˜์—์„œ๋งŒ ๋งค์šฐ ๋Š๋ฆฌ๊ฒŒ ์ฑ„ํƒ๋˜๊ณ  ์†Œ๋น„์ž ๊ณต๊ฐ„์—์„œ๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
  2. (Win 7 => 10) ์†Œ๋น„์ž ์žฅ์น˜๋Š” ๋” ๋นจ๋ฆฌ ์—…๋ฐ์ดํŠธ๋˜๊ณ  ์‹œ์žฅ ์ ์œ ์œจ์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ณ€ํ™”๋ฅผ ์ข‹์•„ํ•˜์ง€ ์•Š๋Š” ๊ธฐ์ˆ  ๊ดด์งœ๋“ค์€ ์ƒˆ ๋ฒ„์ „์ด ์ด์ „ ๋ฒ„์ „๋ณด๋‹ค ๋‚˜์˜๋‹ค๊ณ  ์ฃผ์žฅํ•˜๋ฉด์„œ ์„ฑ์žฅ์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
  4. ์ƒˆ ๋ฒ„์ „์ด ์†Œ๋น„์ž ๊ณต๊ฐ„์—์„œ ๋Œ€๋ถ€๋ถ„์˜ ์‹œ์žฅ ์ ์œ ์œจ์„ ํ™•๋ณดํ•จ์— ๋”ฐ๋ผ ๊ธฐ์—…์€ ๊ณ„์† ๋ฐฉ๊ด€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  5. ์†Œ๋น„์ž๊ฐ€ ๊ธฐ์ˆ  ๊ดด์งœ๋ฅผ ๋ฌด์‹œํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๊ณ  ์ƒˆ ๋ฒ„์ „์ด ์ด์ „ ๋ฒ„์ „๋ณด๋‹ค ํ›จ์”ฌ ๋‚ซ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ Microsoft๋Š” ์ด์ „ ๋ฒ„์ „์˜ Windows์— ๋Œ€ํ•œ ์ง€์› ๋ฐ ํŒจ์น˜์˜ ๋งŒ๋ฃŒ ๋‚ ์งœ๋ฅผ ๋ฐœํ‘œํ•ฉ๋‹ˆ๋‹ค. ์ฑ„ํƒ๋ฅ ์€ ์•ฝ 50%์— ์ด๋ฆ…๋‹ˆ๋‹ค.
  6. ์ƒˆ ๋ฒ„์ „์„ ๋” ์ข‹์•„ํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ์••๋ ฅ์„ ํ†ตํ•ด ๋น„์ฆˆ๋‹ˆ์Šค; ์ƒˆ ๋ฒ„์ „์—์„œ ๋” ์ž˜ ์ž‘๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ทธ๋ฆฌ๊ณ  ๊ต์ฒด ํ•˜๋“œ์›จ์–ด์— ์ƒˆ ๋ฒ„์ „์„ ๋ฐฐํฌํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ๋“œ๋ผ์ธ์ด ๋‹ค๊ฐ€์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฑ„ํƒ๋ฅ ์€ ์•ฝ 60-65%์— ์ด๋ฆ…๋‹ˆ๋‹ค.
  7. ๋ฏธ๋ž˜ ์ง€ํ–ฅ์ ์ธ IT ๊ด€๋ฆฌ์ž๋Š” ๊ทธ๋ฃน๋ณ„๋กœ ์ƒˆ ๋ฒ„์ „์˜ ์ œ์–ด๋œ ๋กค์•„์›ƒ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  8. ๊ธฐํ•œ์ด ๋ช‡ ๋‹ฌ ์•ž์œผ๋กœ ๋‹ค๊ฐ€์™”๊ณ  ๋‚˜๋จธ์ง€ IT ๊ด€๋ฆฌ์ž๋“ค์€ ๊ณ„ํš์„ ์ œ๋Œ€๋กœ ์„ธ์šฐ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ์— ๋Œ€ํ•ด ์Š์กฐ๋ฆฌ๋ฉฐ ๋ฌธ์ œ์— ๋Œ€ํ•ด Windows(์œ„์—์„œ ์˜จ ๊ธฐ์ˆ  ๊ดด์งœ๋“ค)์—๊ฒŒ ๋ค๋ฒผ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์‹œ์žฅ ์ ์œ ์œจ์€ 6-8๊ฐœ์›” ๋งŒ์— 65%์—์„œ 90%๋กœ ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค. ์ง€์› ๋งˆ๊ฐ ๊ธฐํ•œ์ด ๋‹ค๊ฐ€์˜ค๋ฉด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
  9. ์ด์ „ OS์šฉ์œผ๋กœ ์„ค๊ณ„๋œ ํ•˜๋“œ์›จ์–ด์ด๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜๋“œ์›จ์–ด ๊ต์ฒด๊ฐ€ ํ•„์š”ํ•œ ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์„ ๊ต์ฒดํ•˜๋Š” ๋†’์€ ๋น„์šฉ ๋•Œ๋ฌธ์— ๋ณด์•ˆ ํŒจ์น˜์— ๋Œ€ํ•ด ์ถ”๊ฐ€ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๋Š” ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ๋งŒ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.
  10. ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์€ ํ•ดํ‚น์„ ๋‹นํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ ๊ธฐ์—…์€ ๋น„์šฉ์„ ์ ˆ๊ฐํ•˜๊ณ  ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ต์ฒดํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  11. OS ์“ฐ๋˜ ์‚ฌ๋žŒ๋งŒ ๋‚จ๊ฒŒ ๋œ ์ œ3์„ธ๊ณ„๋Š” ์•„๋ฌด ๊ฒƒ๋„ ์“ธ ์ˆ˜ ์—†๊ณ  ํ•ดํ‚น๋‹นํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.

์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ #8์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์œ„ํ•ด Windows 7์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๊ทธ๋“ค์€ ์—ญ์‚ฌ์— ๋Œ€ํ•ด ๋ฌด์ง€ํ•ฉ๋‹ˆ๋‹ค. Windows 10 ๋กค์•„์›ƒ์€ ์ •ํ™•ํžˆ ๊ทธ ์ด์ „์˜ Windows 7 ๋กค์•„์›ƒ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด ๋ฆด๋ฆฌ์Šค ์‚ฌ์ด์— win32 ์•ฑ์˜ ์ฆ๋ถ„ ํ”Œ๋Ÿฌํ„ฐ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ฃผ์š” ์†Œํ”„ํŠธ์›จ์–ด ์—…๋ฐ์ดํŠธ๋ฅผ ๋กค์•„์›ƒํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— #9๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์ด์œ ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ:

  1. XAML ์„ฌ์€ ์ธ์ˆ˜ ๋‚ด๋ถ€์— ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฆ๋ถ„ win32 ์•ฑ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ๋งคํ•˜๊ณ  ํ›”์น˜์ง€ ์•Š๋Š” ์‚ฌ๋žŒ์˜ ๊ฑฐ์˜ 0%๋Š” ํ”Œ๋Ÿฌํ„ฐ ๋ฐ์Šคํฌํ†ฑ์ด ํ”„๋กœ๋•์…˜์— ์ ํ•ฉํ•  ์ •๋„๋กœ ์•ˆ์ •๋  ์ฆˆ์Œ์— ์˜ฌํ•ด 9์›”๊นŒ์ง€ XAML ์•„์ผ๋žœ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  2. ์ƒˆ๋กœ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•ด Windows 7์„ ๋ชฉํ‘œ๋กœ ์‚ผ๋Š” ๋…ผ๋ฆฌ์  ์‹œ์žฅ์€ ์—†์Šต๋‹ˆ๋‹ค. API์— ๋Œ€ํ•œ ์ ˆ๋Œ€์ ์ธ ์ฐจ๋‹จ๊ธฐ๊ฐ€ ์—†๋Š” ํ•œ(์ง€๊ธˆ API๊ฐ€ ๋Œ€๋ถ€๋ถ„ ๋ฏธ๋Ÿฌ๋ง๋˜๋Š”์ง€ ์˜์‹ฌ์Šค๋Ÿฌ์šด) ์—ญ์‚ฌ์™€ ๋ฐ์Šคํฌํ†ฑ ์‹œ์žฅ์ด ์†Œ๋น„์ž์™€ ๊ธฐ์—… ๊ฐ„์— ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ์‚ฌ๋žŒ์€ ์•„๋ฌด๋„ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ Windows 10์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ํ•ด๋‹น win32 ์•ฑ์—์„œ ํ”Œ๋Ÿฌํ„ฐ์— XAML ์•„์ผ๋žœ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ 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๊ฐœ์›” ๋™์•ˆ ์ƒ๋‹นํ•œ ์ง„์ „์„ ์ด๋ฃจ์—ˆ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์ž‘๋™ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • AppContainer ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ์‹คํ–‰๋˜๋Š” WinRT ์ž…๋ ฅ API์™€ ํ•จ๊ป˜ CoreWindow ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋… ์ฆ๋ช… WinRT Flutter ์ž„๋ฒ ๋”: https://github.com/clarkezone/engine
  • Flutter ๊ฐค๋Ÿฌ๋ฆฌ ๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ๋ชจ Flutter ๊ฒฝํ—˜์ด ์žˆ๋Š” ํ•ด๋‹น ํ…Œ์ŠคํŠธ Flutter UWP ์‹คํ–‰๊ธฐ(C++์˜ 115์ค„๋งŒ!): https://github.com/clarkezone/fluttergallerywp
  • ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Flutter Gallery์˜ MSIX ํŒจํ‚ค์ง€ ๋ฒ„์ „์„ Microsoft Store์— ์„ฑ๊ณต์ ์œผ๋กœ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  WAC API ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•˜์—ฌ ๋งค์žฅ ์ธ์ฆ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค(๋งˆ์นจ๋‚ด :-)).

์ด ์ž‘์—…์„ ํ”„๋กœ๋•์…˜ ์ค€๋น„ ์ƒํƒœ๋กœ ๋งŒ๋“ค๋ ค๋ฉด ์•„์ง ํ•ด์•ผ ํ•  ์ผ์ด ๋งŽ๊ณ  ์‹œ๊ฐ„์ด ์–ผ๋งˆ๋‚˜ ๊ฑธ๋ฆด์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ 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์— ์„ค์น˜:

particle clock

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰