๐Ÿ’ป Programming/Flutter & Dart & Flame (6)

ํฌ์ŠคํŒ…์„ ๋„ˆ๋ฌด ์˜ค๋žœ๋งŒ์— ํ•˜๋„ค์š”.

์š”์ฆ˜์€ ํšŒ์‚ฌ์‚ฌ์ •๋„ ๋ณ„๋กœ๊ณ  ํšŒ์‚ฌ์—…๋ฌด์—์„œ ๋ฐฐ์šฐ๋Š” ๊ฒƒ๋„ ๋ญ ์—†๋‹ค๋ณด๋‹ˆ ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์ž˜ ์•ˆ์“ฐ๊ฒŒ ๋˜๋„ค์š”.

ํ•˜์ง€๋งŒ!!!! ์„ฑ์žฅ์— ๋Œ€ํ•œ ์š•๊ตฌ๋Š” ์•„์ง๋„ ์ดˆ์‹ฌ๊ณผ ๊ฐ™๋‹ค๋Š”... ใ…Žใ…Ž

flutter ์— ๋งค๋ฃŒ๋œ ์˜ฌํ•ด ์ดˆ๋ถ€ํ„ฐ flame ์„ ์ด์šฉํ•˜์—ฌ ๊ฒŒ์ž„๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

1์ผ์ฐจ ์ดํ›„๋กœ ํฌ์ŠคํŒ…์„ ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ

flutter์™€ flame ๊ณต์‹๋ฌธ์„œ ์ฝ์–ด๊ฐ€๋ฉด์„œ ์งฌ์งฌ์ด ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ๊ณ 

5์›” 31์ผ ๊ตฌ๊ธ€ํ”Œ๋ ˆ์ด์— ์ถœ์‹œ๋์Šต๋‹ˆ๋‹ค.

๋Œ€๋žต ์ฃผ 2ํšŒ ๋ฐค์ƒ˜ ์ž‘์—…์œผ๋กœ ์ง„ํ–‰์„ ํ–ˆ์œผ๋‹ˆ ์‹ค์ œ ๊ฐœ๋ฐœ๊ธฐ๊ฐ„์€ 2๊ฐœ์›”์ •๋„ ๋  ๊ฒƒ ๊ฐ™๋„ค์š”

์ผ๋‹จ ๊ฒฐ๊ณผ๋ฌผ์ด ์–ด๋–ป๊ฒŒ ๋‚˜์™”๋Š”์ง€ ๋ณด๊ณ  ์‹ถ์œผ์‹ค ๊ฒƒ ๊ฐ™์•„ ๊ตฌ๊ธ€ํ”Œ๋ ˆ์ด ๋งํฌ๋ฅผ ํ•˜๋‚˜ ๋‚จ๊น๋‹ˆ๋‹ค

https://play.google.com/store/apps/details?id=com.keichee.exterminate_mosquitoes&hl=ko-KR

 

๋ชจ๊ธฐ ํ—Œํ„ฐ - Google Play ์•ฑ

์ธ๋ฅ˜ ์ตœ๋Œ€์˜ ํ•ด์ถฉ! ๋ชจ๊ธฐ๋ฅผ ๋ฐ•๋ฉธํ•˜๊ณ  ์ง€๊ตฌ๋ฅผ ๊ตฌํ•ด์ฃผ์„ธ์š”

play.google.com

 

๋ชจ๊ธฐ๋ฅผ ์žก์œผ๋ฉด์„œ ์—ฌ์„ฏ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ๋ชจ๊ธฐ๋“ค์„ ์ˆ˜์ง‘ํ•˜๊ณ ,

๋Šฅ๋ ฅ์น˜๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋ฉด์„œ ๋” ๋†’์€ stage ๋กœ ์˜ฌ๋ผ๊ฐ€๊ณ ,

๊ด‘๊ณ ์‹œ์ฒญ์œผ๋กœ ๋ ˆ๋ฒจ์—…์— ํ•„์š”ํ•œ ์ฝ”์ธ(?)์„ ์ถ”๊ฐ€ํš๋“ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ๋”๋ณด๋“œ๋„ ์ถ”๊ฐ€ํ•ด๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์š”์ฆ˜ flutter & flame ์œผ๋กœ 1์ธ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์•Œ์•„์•ผ ํ• ๊ฒŒ ๋„ˆ๋ฌด๋‚˜๋„ ๋งŽ์•„ ๋ฌธ์„œ ์ฐพ์•„๋ณด๊ณ  ์œ ํˆฝ ์˜์ƒ ์ฐพ์•„๋ณด๋ฉด์„œ ์–•์€ ์ง€์‹์„ ์กฐ๊ธˆ์”ฉ ์กฐ๊ธˆ์”ฉ ๋ชจ์œผ๋‹ค๊ฐ€ ์ง€๊ฒจ์›Œ์ ธ์„œ ์—Š๊ทธ์ œ ํ•˜๋ฃจ ๋‚  ์žก์•„์„œ ํ‡ด๊ทผํ•˜๊ณ  ๋ฐค์ƒˆ์›Œ ๊ตฌ๊ธ€๋งํ•ด๊ฐ€๋ฉด์„œ ๋งŒ๋“ค์–ด๋ดค์Šต๋‹ˆ๋‹ค.

์ธํŠธ๋กœ ํ™”๋ฉด๋„ ๋กœ๋น„ํ™”๋ฉด๋„ ์—†๊ณ  ๊ทธ๋ƒฅ ๋ชจ๊ธฐ ๋‚ ์•„๋‹ค๋‹ˆ๊ฒŒ ๋งŒ๋“ค๊ณ  ํ„ฐ์น˜ํ•˜๋ฉด HP ์ค„์–ด๋“ค๋ฉด์„œ ์‚ฌ๋ผ์ง€๊ณ  ๋‹จ๊ณ„๋ณ„๋กœ ์ •ํ•ด์ง„ ๋ชจ๊ธฐ๋“ค์„ ๋ชจ๋‘ ์žก์œผ๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ€๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ƒ˜ํ”Œ ์˜์ƒ์ž…๋‹ˆ๋‹ค.

 

์›๋ž˜ ๋‹จ๊ณ„๋ณ„๋กœ ์ผ์ • ๋งˆ๋ฆฌ์ˆ˜์˜ ๋ชจ๊ธฐ๊ฐ€ ๋‚˜์˜ค๋„๋ก ํ•ด๋†“์•˜์œผ๋‚˜ ๋‹จ๊ณ„๋ณ„๋กœ ๋ชจ๊ธฐ๋งˆ๋ฆฌ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๋ฉด ํŠน๋ณ„ํ• ๊ฒŒ ์—†์–ด์„œ ๋‹จ๊ณ„๋‹น ํ•œ๋งˆ๋ฆฌ์”ฉ๋งŒ ์ถœ๋ชฐํ•˜๋„๋ก ์„ค์ •์„ ๋ณ€๊ฒฝํ•œ ๋’ค ๋…นํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ๊ณ„๋ณ„๋กœ ๋ชจ๊ธฐ์˜ HP๋„ ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค. ใ…Žใ…Ž

์•„์ง ํ•ด์•ผํ• ๊ฒŒ ๋งŽ์ด ์žˆ์ง€๋งŒ ์ค‘๊ฐ„์ค‘๊ฐ„ ๊ธฐ๋ก์„ ์œ„ํ•ด ํฌ์ŠคํŒ…ํ•ฉ๋‹ˆ๋‹ค.

์•ž์œผ๋กœ ํ•ด์•ผํ•  ๊ฒƒ๋“ค์€... HP๋ฐ” ๋งŒ๋“ค๊ธฐ... ์œ ์ € ๋กœ๊ทธ์ธ ๋ฐ ์ตœ์ข…๊ฒŒ์ž„์ƒํƒœ ์ €์žฅํ•˜๊ธฐ, ๋ฆฌ๋”๋ณด๋“œ, ๋ชจ๊ธฐ์˜ ์œ ์ €๊ณต๊ฒฉ ๊ธฐ๋Šฅ, ์œ ์ € ๋ฐ ๋ชจ๊ธฐ ๊ณต๊ฒฉ๋ ฅ, ์žฅ๋น„&์Šคํ‚ฌ, ๋ณด์Šค๊ธ‰๋ชจ๊ธฐ, ๋ณด์Šค์ถœํ˜„์‹œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋“ฑ๋“ฑ ๊ธฐํšํ•˜๊ธฐ ๋ฐ ๊ทธ๋ฆผ๊ทธ๋ฆฌ๊ธฐ ๋“ฑ๋“ฑ... ๋„ˆ๋ฌด ๋งŽ์ด ์žˆ์ง€๋งŒ ์ฒœ์ฒœํžˆ ๋๊นŒ์ง€ ๊ฐ€๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค ใ…Ž

 

flutter ์— ์ž…๋ฌธํ•œ์ง€ 2์ฃผ์ •๋„ ๋˜๊ฐ€๋Š”๊ฒƒ ๊ฐ™๋„ค์š”

์šฐ์—ฐํžˆ ์œ ํˆฝํ†ตํ•ด์„œ ์ ‘ํ•œ๋’ค๋กœ ๋ฐ˜ํ•ด๊ฐ€์ง€๊ณ  ์‹ค์ œ ์—…๋ฌด์—์„œ ์“ธ์ผ์€ ์—†์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋ชจ๋ฐ”์ผ์•ฑ์ด๋“  ์›น์ด๋“  1์ธ๊ฐœ๋ฐœ์šฉ์œผ๋กœ ๋„ˆ๋ฌด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„ ์ž…๋ฌธํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•œ 2์ฃผ๋™์•ˆ ์ฑ… ๊ตฌ์ž…ํ•ด์„œ ์ฝ๊ณ , ๊ณต์‹๋ฌธ์„œ ์ฝ๊ณ , ์ฑ… ์˜ˆ์ œ์™€ ์ฝ”๋“œ๋žฉ ์˜ˆ์ œ๋“ค ๊ทธ๋ฆฌ๊ณ  ์œ ํˆฝ ์˜ˆ์ œ๋“ค ๋”ฐ๋ผํ•ด๋ณด๊ณ ๋‚˜์„œ,

๊ฐ„๋‹จํ•œ ํƒ€์ž์—ฐ์Šต ์•ฑ์„ ๋งŒ๋“ค์–ด ๋ดค๋Š”๋ฐ ์–ด๋–ค ์œ„์ ฏ์„ ์‚ฌ์šฉํ• ์ง€๋ถ€ํ„ฐํ•ด์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์˜ค๋กœ์ง€ ์ œ ์ƒ๊ฐ๋งŒ์œผ๋กœ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. (์˜ˆ์ œ ๋”ฐ๋ผํ•˜๊ธฐ๋Š” ์ฝ”๋“œ๋žฉ์ด ์ œ์ผ ๋ฐฐ์šฐ๊ธฐ ์ข‹์•˜๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค)

ํƒ€์ˆ˜๊ณ„์‚ฐํ• ๋•Œ ํ•œ๊ธ€์€ ์˜์–ด๋ณด๋‹ค ๊นŒ๋‹ค๋กœ์šธ ๊ฒƒ ๊ฐ™์•„ ์˜๋ฌธ๋ฒ„์ „์œผ๋กœ๋งŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ €๊ฒƒ ๋” ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ๊ธฐ๋Šฅ(๋ฆฌ๋”๋ณด๋“œ, ์‹ค์‹œ๊ฐ„ ๋ฐฐํ‹€)๋“ค๋„ ์žˆ๊ณ  flame ์„ ์ด์šฉํ•ด์„œ ํƒ€์ž๋ฅผ ์ด์šฉํ•œ ์—ฌ๋Ÿฌ ๊ฒŒ์ž„๋ชจ๋“œ๋“ค์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋“ฑ ์ข€๋” ๊ฒŒ์ž„์Šค๋Ÿฝ๊ฒŒ ๊พธ๋ฉฐ๋ณด๊ณ ๋„ ์‹ถ์€๋ฐ ์ผ๋‹จ ๊ทธ๋ƒฅ ๊ธฐ๋ก์šฉ๋„๋กœ ๋‚จ๊ฒจ๋ด…๋‹ˆ๋‹ค.

๋งค์šฐ ๊ฐ„๋‹จํ•œ ์•ฑ์ด์ง€๋งŒ flutter์™€ ๋” ์นœ์ˆ™ํ•ด์งˆ ์ˆ˜ ์žˆ์—ˆ๋˜๊ฒƒ ๊ฐ™์•„ ๋งค์šฐ ์œ ์ตํ–ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋„ค์š”.

๋ชจ๋ฐ”์ผ ์•ฑ ๋ฒ„์ „๊ณผ ์›น ๋ฒ„์ „์„ ๋ถ„๊ธฐํƒœ์›Œ์„œ ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜๋„ ์žˆ์—ˆ๋Š”๋ฐ ์•„์ง์€ ์›น๋ณด๋‹ค๋Š” ์•ฑ๊ฐœ๋ฐœ์— ๋” ์ตœ์ ํ™”๋œ ํ”„๋ ˆ์ž„์›Œํฌ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด์ œ ์Šฌ์Šฌ flame ์œผ๋กœ ๋„˜์–ด๊ฐ€๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค :)

์žํŒ ์—ฐ์Šต์šฉ ์•ฑ

 

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

 

https://www.youtube.com/watch?v=C-fKAzdTrLU 

 

๊ทธ๋ฆฌ๊ณ  ํ”Œ๋Ÿฌํ„ฐ ๊ณต์‹๋ฌธ์„œ์—์„œ๋„ Cookbook ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์—๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š”์ง€ ์˜ˆ์ œ์ƒ˜ํ”Œ๋“ค์„ ๊ฐ–์ถ”๊ณ  ์žˆ๊ณ , codelab ์ด๋ผ๋Š” ๋‹จ๊ณ„๋ณ„ ๋”ฐ๋ผํ•ด๋ณด๊ธฐ์™€ ๊ฐ™์€ ์ž๋ฃŒ๋„ ์ œ๊ณตํ•ด์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋žฉ์„ ๋”ฐ๋ผํ•ด๋ณด๋ฉด ์•ฑ์„ ๊ฐœ๋ฐœํ• ๋•Œ ์–ด๋–ป๊ฒŒ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜๋Š”์ง€ ๊ทธ ์ˆœ์„œ๋„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ๊ธ€์—์„œ ์—„์ฒญ๋‚˜๊ฒŒ ๋ฐ€๊ณ ์žˆ๋‹ค๋Š”๊ฒŒ ๋Š๊ปด์งˆ ์ •๋„๋กœ ๊ธฐ๋ฐ˜์ž๋ฃŒ๋“ค์ด ๋งค์šฐ ๋งŽ์ด ์žˆ๋„ค์š”.

ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์จ๋ณด๋ ค๋‹ค๊ฐ€ ๋‹คํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ ์‹œ์ž‘..

Dart ๊ฐ€ ์–ด๋–ค ์–ธ์–ด์ธ์ง€์—๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์†Œ๊ฐœ๋‚ด์šฉ์„ ๊ณต์‹๋ฌธ์„œ์—์„œ ์ฝ์–ด๋ดค์Šต๋‹ˆ๋‹ค.

์–ผํ• ๋ณด๋‹ˆ ์ž๋ฐ”์™€ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์ด๊ณ  ๋ณ€์ˆ˜, loop, ๋ฉ”์„œ๋“œ, ํด๋ž˜์Šค ๋“ฑ๋“ฑ ๋งค์šฐ ๋งŽ์€ ๋ถ€๋ถ„์—์„œ ์œ ์‚ฌํ•œ ์ ์„ ๋ณด์ด๊ณ  ์žˆ์Œ.

์ž๋ฐ”์™€ ๋‹คํŠธ์˜ ์ฐจ์ด์ ์„ ๋‚˜์—ดํ•ด๋ณด์ž๋ฉด..๋‹คํŠธ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํŠน์ง• ๋˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • primitive(์›์‹œ) ํƒ€์ž…์ด ์—†์Œ. ์ž๋ฐ”์˜ ๊ฒฝ์šฐ int, long, double ๊ณผ ๊ฐ™์€ ์›์‹œํƒ€์ž…๊ณผ ์ด ์›์‹œํƒ€์ž…๋“ค์˜ wrapper ํด๋ž˜์Šค์ธ Integer, Long, Double ๋“ฑ์ด ์กด์žฌํ•˜์ง€๋งŒ, ๋‹คํŠธ๋Š” ๋ชจ๋“  ํƒ€์ž…์ด Object ์ž„.
  • ๋ณ€์ˆ˜ ์‚ฌ์šฉ๋ฒ• (์ถœ๋ ฅ์‹œ ๋ฌธ์ž์—ด์„ "์ด๊ฑธ ์ถœ๋ ฅํ• ๊ฑด๋ฐ ๋ณ€์ˆ˜๋ช…์„ ๋ถ™์˜€์–ด์š” $๋ณ€์ˆ˜๋ช…" ์ด๋ ‡๊ฒŒ ์จ์ฃผ๋ฉด $๋ณ€์ˆ˜๋ช… ์ด ๋ณ€์ˆ˜๊ฐ€ ๋“ค๊ณ ์žˆ๋Š” ๊ฐ’์œผ๋กœ ์น˜ํ™˜๋˜์–ด ์ถœ๋ ฅ๋จ. ์ž๋ฐ”์˜ ๊ฒฝ์šฐ String.format ์„ ์ด์šฉํ•ด์•ผ ํ–ˆ์Œ), ๋ณ€์ˆ˜๋ช… ์ž๋ฆฌ์— {expression} ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์‚ฐ์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Œ
  • null safety (Dart 2.12 ๋ฒ„์ „๋ถ€ํ„ฐ ์ƒ๊น€. ์ž๋ฐ”์˜ NPE ์˜ˆ๋ฐฉ์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ•ด์ฃผ๋„๋ก ํ•œ ๊ธฐ๋Šฅ์œผ๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๊ฐ์ฒด๋Š” non-nullable ๋กœ ์ทจ๊ธ‰ํ•จ. ๋‹ค๋งŒ ? ๊ธฐํ˜ธ๋ฅผ ์ด์šฉํ•ด์„œ nullable ๊ฐ์ฒด๋ผ๊ณ  ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธํ•˜๋ฉด null ๊ฐ’๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ, ๊ณต์‹๋ฌธ์„œ ์ฐธ๊ณ )
  • private, protected, public, default ๊ฐ™์€ ์ ‘๊ทผ์ œํ•œ์ž(access modifier)๊ฐ€ ์—†์Œ. ๋‹ค๋งŒ ์ด๋ฆ„์ด ๋ฐ‘์ค„๋กœ ์‹œ์ž‘ํ•˜๋ฉด ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(ํด๋ž˜์Šค?)์— privateํ•œ ๊ฒƒ์ด ๋จ.
  • ๋‹คํŠธ์˜ int ํƒ€์ž…์€ 64 ๋น„ํŠธ signed ๊ฐ’์ด๊ณ  ํ”Œ๋žซํผ์— ๋”ฐ๋ผ ๋ฒ”์œ„๊ฐ€ ์•ฝ๊ฐ„ ๋‹ค๋ฆ„ (๊ณต์‹๋ฌธ์„œ)

๋ญ ์ด์™ธ์—๋„ lexical scope, lexical closure ๋“ฑ ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์—์„œ ๋‹ค๋ฅธ ๋ถ€๋ถ„๋“ค์ด ๋ณด์˜€๋Š”๋ฐ ์—ฌ๊ธฐ ๋‹ค ๋‚˜์—ดํ•  ์ˆ˜๋Š” ์—†๊ณ ,

์ „์ฒด์ ์ธ ๋Š๋‚Œ์€ ์ž๋ฐ”์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•ฉ์ณ๋†“์€ ์–ธ์–ด๋ผ๋Š” ๋Š๋‚Œ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. (ํ•ด๋ณธ๊ฒŒ Java๋ž‘ Javascript ๋ฟ์ด๋ผ.. ใ…Ž)

 

์ฐธ๊ณ ๋กœ ๋‹คํŠธํŒจ๋“œ์—์„œ ์ด๋Ÿฐ์ €๋Ÿฐ ๋‹คํŠธ์ฝ”๋“œ๋“ค์„ ์‹œํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ์—ฐํžˆ ์–ด๋–ค 1์ธ ๊ฐœ๋ฐœ์ž์˜ ์ด์•ผ๊ธฐ๋ฅผ ์œ ํˆฝ์—์„œ ์ ‘ํ•˜๊ณ  ๋‚˜๋„ 1์ธ ๊ฐœ๋ฐœ์ด๋‚˜ ํ•ด์•ผ๊ฒ ๋‹ค ์ƒ๊ฐํ•˜๋˜ ์ฐฐ๋‚˜ ๋˜ ์šฐ์—ฐํžˆ ํ”Œ๋Ÿฌํ„ฐ ๊ฐ•์‚ฌ์˜ ์˜์ƒ์„ ๋ณธ ๋’ค ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋งค์šฐ ๋งค๋ ฅ์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ํ”Œ๋Ÿฌํ„ฐ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

 

์šฐ์„  ๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ ํ”Œ๋Ÿฌํ„ฐ๊ฐ€ ๋ญ”์ง€๋ถ€ํ„ฐ ํ™•์ธ์„ ์ข€ ํ•ด๋ดค๋Š”๋ฐ์š”

ํ”Œ๋Ÿฌํ„ฐ๋Š” ๊ตฌ๊ธ€์—์„œ ๋งŒ๋“  ํฌ๋กœ์Šคํ”Œ๋žซํผ UI ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ(์•ˆ๋“œ , IOS ๋‘˜๋‹ค), ๋ฐ์Šคํฌํƒ‘ ์•ฑ(Windows .exe ํŒŒ์ผ, MacOS .dmgํŒŒ์ผ), ์›น ๊นŒ์ง€ ๋ชจ๋‘ ํ•˜๋‚˜์˜ ์†Œ์Šค์ฝ”๋“œ๋กœ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜์ฃ .

์ด๋Ÿฐ๊ฒŒ ๋ฐ”๋กœ ์Šˆํผ์•ฑ์ด ์•„๋‹Œ๊ฐ€ ์‹ถ๋„ค์š”. ์—ฌ๊ธฐ๊นŒ์ง€ํ•˜๊ณ  ์ผ๋‹จ ๋ฌด์ž‘์ • ๋”ฐ๋ผํ•ด๋ด…๋‹ˆ๋‹ค.

 

์•„๋ž˜ ๋งํฌ์˜ ์„ค๋ช…๋Œ€๋กœ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

https://docs.flutter.dev/get-started/install/macos

 

macOS install

How to install on macOS.

docs.flutter.dev

 

1.  sudo softwareupdate --install-rosetta --agree-to-license

Password:
By using the agreetolicense option, you are agreeing that you have run this tool with the license only option and have read and agreed to the terms.
If you do not agree, press CTRL-C and cancel this process immediately.
2023-01-18 17:11:11.031 softwareupdate[62998:409413] Package Authoring Error: 012-92132: Package reference com.apple.pkg.RosettaUpdateAuto is missing installKBytes attribute
Install of Rosetta 2 finished successfully

๋ญ”๊ฐ€ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋Š”๋ฐ ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜ํ–ˆ๋‹ค๊ณ  ๋‚˜์˜ค๋„ค์š” !?

 

2. flutter docter 

์•„๋ž˜์ฒ˜๋Ÿผ ์ด์˜๊ฒŒ๋„ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š”๊ตฐ์š”

์ผ๋‹จ Xํ‘œ์‹œ๊ฐ€ ๋œฌ ๊ฒƒ๋“ค์„ ์„ค์น˜ํ•ด์•ผ๊ฒ ์–ด์š”..

 

  • ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ์„ค์น˜ ๋ฐ ์ตœ์ดˆ์‹คํ–‰ํ•˜์—ฌ sdk ๋‹ค์šด๋กœ๋“œ, ๋ผ์ด์„ผํŠธ ๋™์˜, cli tool ์„ค์น˜ ๋“ฑ ์™„๋ฃŒ
  • Xcode ์„ค์น˜ ์™„๋ฃŒ ๋ฐ ๋ผ์ด์„ผ์Šค ๊ด€๋ จ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

 

ํ˜„์žฌ CocoaPods ์ด์Šˆ์™€ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ๋ฒˆ๋“ค์ž๋ฐ”๊ฐ€ ์—†๋‹ค๋Š” warning๋งŒ ๋‚จ๊ธฐ๊ณ  ํ•ด๊ฒฐ.

 

VS Code ๋ฅผ IDE๋กœ ์„ ํƒํ•ด์„œ ํ…Œ์ŠคํŠธ์•ฑ ์ƒ์„ฑ, ์‹คํ–‰ ๋ฐ ์ˆ˜์ •ํ•˜์—ฌ hot reload ๊นŒ์ง€ ํ™•์ธ์™„๋ฃŒ.

 

๋‹ค์Œ์—” https://docs.flutter.dev/get-started/codelab ์—ฌ๊ธฐ๋ถ€ํ„ฐ ์ง„ํ–‰ ์˜ˆ์ •.

 

์ด์—ˆ์œผ๋‚˜... ๋ฒ„์ „์ด ๋‹ค๋ฅธ๊ฑด์ง€ ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์‹œ ์ƒ˜ํ”Œ ์˜ˆ์ œ๊ฐ€ ๋‹ฌ๋ผ์„œ ์ผ๋‹จ dart ์–ธ์–ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ๋กœ ํ•จ...

์–ผํ• ๋ดค์„ ๋•Œ๋Š” ์ž๋ฐ”์™€ ๋งค์šฐ ๋น„์Šทํ•จ..