์ตœ๊ทผ ํฌ์ŠคํŠธ

LiveData vs Flow

์†Œํ”„ํ‹ฐ์–ด ๋ถ€ํŠธ์บ ํ”„ ํ•  ๋•Œ ์•ˆ๋“œ๋กœ์ด๋“œ ์Šคํ„ฐ๋””์—์„œ flow๋ฅผ ๊ณต๋ถ€ํ–ˆ๋˜๊ฒŒ ์ƒ๊ฐ๋‚ฌ๋Š”๋ฐ ๋…ธ์…˜์—๋งŒ ๋‘๊ธฐ ์•„๊นŒ์›Œ์„œ ํฌ์ŠคํŒ…ํ•œ๋‹ค.

M-V-Whatever, MV์‹œ๋ฆฌ์ฆˆ ์ •๋ฆฌ

๋””์ž์ธ ํŒจํ„ด์€ ๋งค๋ฒˆ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ„ด๋งŒ ์ž˜ ๊ธฐ์–ตํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒƒ์€ ์žŠ์–ด๋ฒ„๋ฆฌ๋Š”๊ฒŒ ์ผ์ƒ์ด๋ผ ๋‹ค์Œ์— ์žŠ์–ด๋ฒ„๋ ธ์„๋•Œ ๋น ๋ฅด๊ฒŒ ๊ธฐ์–ต์„ ๋˜๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ ์ •๋ฆฌ๋ฅผ ํ–ˆ๋‹ค.

์ปค์Šคํ…€ ๋‹ค์ด์–ผ๋กœ๊ทธ ์ œ์ž‘๊ธฐ(XML View)

์ด ํฌ์ŠคํŒ…์€ ์‚ฌ์‹ค ์†Œํ”„ํ‹ฐ์–ด ๋ถ€ํŠธ์บ ํ”„ ํ•  ๋•Œ ๋ ˆํฌ ์œ„ํ‚ค์— ์ ์—ˆ๋˜ ๊ฑด๋ฐ ๋ ˆํฌ๊ฐ€ private์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋ฉฐ ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ์— ๋‹ค์‹œ ํฌ์ŠคํŒ…ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

@JvmName์œผ๋กœ JVM Signiture ํƒ€์ž…์†Œ๊ฑฐ ๊ด€๋ จ ์˜ค๋ฒ„๋กœ๋”ฉ ์ด์Šˆ ํ•ด๊ฒฐ

์ปดํฌ์ฆˆ๋กœ UI๋ฅผ ๋งŒ๋“ค๋‹ค๊ฐ€ ํŠน์ • ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ธ์Šคํ„ด์Šคํ™” ํ•˜์ง€ ๋ชปํ•ด์„œ ํ”„๋ฆฌ๋ทฐ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ค์›Œ์กŒ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” ํ•ด๋‹น ๋งค๊ฐœ ๋ณ€์ˆ˜ ๋ถ€๋ถ„์„ ๋ฌธ์ž์—ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ”๊พธ๋Š” ๋ž˜ํ•‘ ์ปดํฌ์ €๋ธ”์„ ์•„๋ž˜์™€ ๊ฐ™์ด ๋งŒ๋“ค์—ˆ๋‹ค.