Google์€ Flutter 2 ํ”„๋ ˆ์ž„์›Œํฌ์™€ Dart 2.12 ์–ธ์–ด๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.

Google์€ Flutter 2 ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๋ฐ์Šคํฌํ†ฑ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํฌํ•จํ•œ ๋ชจ๋“  ์œ ํ˜•์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์šฉ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ์˜ ์ „ํ™˜์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

Flutter๋Š” React Native์˜ ๋Œ€์•ˆ์œผ๋กœ ์—ฌ๊ฒจ์ง€๋ฉฐ, ๋‹จ์ผ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ iOS๋ฅผ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถœ์‹œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. Android, Windows, macOS ะธ Linux๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ฌผ๋ก  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Flutter 1์œผ๋กœ ์ž‘์„ฑ๋œ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Flutter 2๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•œ ํ›„ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•  ํ•„์š” ์—†์ด ๋ฐ์Šคํฌํ†ฑ ๋ฐ ์›น์šฉ์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Flutter ์ฝ”๋“œ์˜ ์ฃผ์š” ๋ถ€๋ถ„์€ Dart ์–ธ์–ด๋กœ ๊ตฌํ˜„๋˜์—ˆ์œผ๋ฉฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์„ ์œ„ํ•œ ๋Ÿฐํƒ€์ž„ ์—”์ง„์€ C++๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ Flutter์˜ ๊ธฐ๋ณธ Dart ์–ธ์–ด ์™ธ์—๋„ Dart Foreign Function ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ C/C++ ์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋Œ€์ƒ ํ”Œ๋žซํผ์šฉ ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผํ•˜์—ฌ ๋†’์€ ์‹คํ–‰ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๊ฐ ๋ณ€๊ฒฝ ํ›„์— ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์ปดํŒŒ์ผํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Dart๋Š” ์‹คํ–‰ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณ€๊ฒฝํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ฆ‰์‹œ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ํ•ซ ๋ฆฌ๋กœ๋“œ ๋ชจ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Flutter 2๋Š” ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ์— ์ ํ•ฉํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ๋Œ€ํ•œ ์™„๋ฒฝํ•œ ์ง€์›์„ ์•ฝ์†ํ•ฉ๋‹ˆ๋‹ค. ์›น์—์„œ Flutter๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋…๋ฆฝํ˜• ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(PWA, Progressive Web Apps) ๊ฐœ๋ฐœ, ๋‹จ์ผ ํŽ˜์ด์ง€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA, Single Page Apps) ์ƒ์„ฑ, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋ณ€ํ™˜. ์›น ๊ฐœ๋ฐœ ๋„๊ตฌ์˜ ํŠน์ง•์œผ๋กœ๋Š” 2D ๋ฐ 3D ๊ทธ๋ž˜ํ”ฝ ๋ Œ๋”๋ง ๊ฐ€์† ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์‚ฌ์šฉ, ํ™”๋ฉด์—์„œ ์š”์†Œ์˜ ์œ ์—ฐํ•œ ๋ ˆ์ด์•„์›ƒ, WebAssembly์— ์ปดํŒŒ์ผ๋œ CanvasKit ๋ Œ๋”๋ง ์—”์ง„ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์Šคํฌํ†ฑ ์•ฑ ์ง€์›์€ ํ˜„์žฌ ๋ฒ ํƒ€ ๋ฒ„์ „์ด๋ฉฐ ์˜ฌํ•ด ์ถœ์‹œ๋  ํ–ฅํ›„ ๋ฒ„์ „์—์„œ ์•ˆ์ •ํ™”๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. Canonical, Microsoft, ๊ทธ๋ฆฌ๊ณ  Toyota๋Š” Flutter ๊ฐœ๋ฐœ ์ง€์›์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. Canonical์€ Flutter๋ฅผ ์ž์‚ฌ ์•ฑ์˜ ์ฃผ์š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์„ ํƒํ–ˆ์œผ๋ฉฐ, ์ƒˆ๋กœ์šด ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์—๋„ Flutter๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Ubuntu๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๋Š” ์„œํ”ผ์Šค ๋“€์˜ค์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ™”๋ฉด์„ ๊ฐ€์ง„ ํด๋”๋ธ” ๊ธฐ๊ธฐ์— ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ† ์š”ํƒ€๋Š” ์ฐจ๋Ÿ‰์šฉ ์ธํฌํ…Œ์ธ๋จผํŠธ ์‹œ์Šคํ…œ์— ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ํ”Œ๋Ÿฌํ„ฐ๋Š” ๊ตฌ๊ธ€์˜ ๋งˆ์ดํฌ๋กœ์ปค๋„ ์šด์˜์ฒด์ œ์ธ ํ‘ธ์‹œ์•„์˜ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์—๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Google์€ Flutter 2 ํ”„๋ ˆ์ž„์›Œํฌ์™€ Dart 2.12 ์–ธ์–ด๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋™์‹œ์— Dart 2.12 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๊ทผ๋ณธ์ ์œผ๋กœ ์žฌ์„ค๊ณ„๋œ Dart 2 ๋ธŒ๋žœ์น˜์˜ ๊ฐœ๋ฐœ์ด ๊ณ„์†๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Dart 2๋Š” ๊ฐ•๋ ฅํ•œ ์ •์  ํƒ€์ดํ•‘์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์—์„œ ์›๋ž˜ Dart ์–ธ์–ด์™€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค(์œ ํ˜•์€ ์ž๋™์œผ๋กœ ์ถ”๋ก ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์œ ํ˜•์„ ์ง€์ •ํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ, ๋™์  ํƒ€์ดํ•‘์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ์ฒ˜์Œ ๊ณ„์‚ฐ๋œ ์œ ํ˜•์ด ๋ณ€์ˆ˜์— ํ• ๋‹น๋˜๊ณ  ์ดํ›„ ์—„๊ฒฉํ•œ ์œ ํ˜• ๊ฒ€์‚ฌ๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค).

์ด ๋ฆด๋ฆฌ์Šค๋Š” ๊ฐ’์ด ์ •์˜๋˜์ง€ ์•Š๊ณ  Null๋กœ ์„ค์ •๋œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๋Š” null ์•ˆ์ „ ๋ชจ๋“œ๋ฅผ ์•ˆ์ •ํ™”ํ•œ ๊ฒƒ์œผ๋กœ ์œ ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ๋Š” ๋ณ€์ˆ˜์— ๋ช…์‹œ์ ์œผ๋กœ null ๊ฐ’์ด ํ• ๋‹น๋˜์ง€ ์•Š๋Š” ํ•œ ๋ณ€์ˆ˜๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์€ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ๋Š” ๋ณ€์ˆ˜์˜ ์œ ํ˜•์„ ์—„๊ฒฉํ•˜๊ฒŒ ๊ณ ๋ คํ•˜๋ฏ€๋กœ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ถ”๊ฐ€์ ์ธ ์ตœ์ ํ™”๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ํ˜• ์ ํ•ฉ์„ฑ์€ ์ปดํŒŒ์ผ ์‹œ์ ์— ๊ฒ€์‚ฌ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "int"์™€ ๊ฐ™์ด ์ •์˜๋˜์ง€ ์•Š์€ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•˜์ง€ ์•Š๋Š” ์œ ํ˜•์˜ ๋ณ€์ˆ˜์— "Null" ๊ฐ’์„ ํ• ๋‹นํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Dart 2.12์˜ ๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์€ C API์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์„ฑ๋Šฅ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” FFI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์•ˆ์ •์ ์ธ ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๋ฐ ํฌ๊ธฐ ์ตœ์ ํ™”๊ฐ€ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค. Flutter๋กœ ์ž‘์„ฑ๋œ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์™€ ์ฝ”๋“œ ํ”„๋กœํŒŒ์ผ๋ง ์‹œ์Šคํ…œ์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ, Dart ๋ฐ Flutter ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ํ”Œ๋Ÿฌ๊ทธ์ธ๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. Android Studio/IntelliJ ๋ฐ VS Code.

Google์€ Flutter 2 ํ”„๋ ˆ์ž„์›Œํฌ์™€ Dart 2.12 ์–ธ์–ด๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.


์ถœ์ฒ˜ : opennet.ru
DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster