๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋นˆ ๊ตฌ๋ฉ ์ฑ„์šฐ๊ธฐ

[Google IO 2023] How to build great Android apps for large screens and foldables ํฐ ํ™”๋ฉด ๋Œ€์‘

https://www.youtube.com/watch?v=5JQjk3ZqPWc 

 

์‚ฌ์šฉ์ž๋“ค์€ ๋””๋ฐ”์ด์Šค๋“ค ๋ณ„ ํŠน์ง•์— ๋งž๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์š”๊ตฌํ•œ๋‹ค. ์ด์— ํฐ ํ™”๋ฉด์— ๋Œ€ํ•œ ์•ฑ ํ€„๋ฆฌํ‹ฐ๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.

 

Section 1 

ํฐ ํ™”๋ฉด(ํƒœ๋ธ”๋ฆฟ, ํด๋”๋ธ”)์—์„œ์˜ ์˜ˆ์‹œ๋ฅผ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ์ด๋ฒˆ์— ์—…๋ฐ์ดํŠธ๋œ ๊ตฌ๊ธ€ ์•ฑ๋“ค ๋ฐ ํ”ฝ์…€ ๋Ÿฐ์ฒ˜๋“ค์„ ์ฐธ๊ณ ํ•˜๋ผ

 

Section 2 ํฐ ํ™”๋ฉด๋“ค์—์„œ์˜ ์•ฑ ํ˜ธํ™˜์„ฑ

ํฐ ํ™”๋ฉด์—์„œ์˜ ์‚ฌ์šฉ์ž ์š”๊ตฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1. ์ž์œ ๋กœ์šด ํ™”๋ฉด ํšŒ์ „

2. folding, unfolding

3. ๋ฉ€ํ‹ฐ ์œˆ๋„์šฐ ๋ชจ๋“œ

 

์ข‹์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ„ํ•ด์„œ๋Š” ํ™”๋ฉด ๋ณ€๊ฒฝ ์‹œ์˜ ์ƒํƒœ ์œ ์ง€, ๊ตฌ์„ฑconfiguration ๋ณ€๊ฒฝ ๋ฐ ์—ฐ์†์ ์ธ ์•ฑ ์‚ฌ์šฉ ๊ฒฝํ—˜ ๋“ฑ์˜ ์ฒ˜๋ฆฌ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.

 

์‚ฌ์šฉ์ž๋Š” ๋””๋ฐ”์ด์Šค์˜ ํŠน์ง•์„ ์‚ด๋ ค ์•ฑ์„ ์‚ฌ์šฉํ•œ๋‹ค.

ํƒœ๋ธ”๋ฆฟ, ํฌ๋กฌ๋ถ : ์ž…๋ ฅ ๋„๊ตฌ๋“ค์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ‚ค๋ณด๋“œ, ์Šคํƒ€์ผ๋Ÿฌ์Šค, ํŠธ๋ž™ํŒจ๋“œ ๋“ฑ

ํด๋”๋ธ” : ์นด๋ฉ”๋ผ ์•ฑ์˜ ๊ฒฝ์šฐ ๋™์‹œ์— ๋ฐ”๊น, ์•ˆ์ชฝ ํ™”๋ฉด์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

Android 13์—์„œ ํฐ ํ™”๋ฉด ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค.

Android 12L๋ถ€ํ„ฐ ํšŒ์ „ ๋ถˆ๊ฐ€๋Šฅํ•œ ํ™”๋ฉด์ด๋‚˜ ์‚ฌ์ด์ฆˆ ์กฐ์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ํ™”๋ฉด์˜ ๊ฒฝ์šฐ ๋ ˆํ„ฐ๋ฐ•์Šค ํ˜•์‹(๊ธฐ์กด ํ™”๋ฉด์˜ ๊ฐ€๋กœ ์„ธ๋กœ ์‚ฌ์ด์ฆˆ ๋น„์œจ์ด ์œ ์ง€๋œ ํ™”๋ฉด)์œผ๋กœ ์ œ๊ณตํ–ˆ๋‹ค.

๋ ˆํ„ฐ๋ฐ•์Šค์—์„œ์˜ ์•ฑ ์œ„์น˜๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๋””๋ฐ”์ด์Šค์˜ ์นด๋ฉ”๋ผ ํšŒ์ „ ์ฒ˜๋ฆฌ๋„ ์ œ๊ณตํ•œ๋‹ค.

 

์ตœ์ƒ์˜ ์•ฑ ๊ฒฝํ—˜์€ ํšŒ์ „๊ณผ ํฌ๊ธฐ ์กฐ์ •์— ์ œํ•œ์ด ์—†์–ด์•ผ ํ•œ๋‹ค.

 

* Large screen app quality ๋ฌธ์„œ๋กœ ํฐ ํ™”๋ฉด ๋Œ€์‘ ๋‚ด์šฉ์„ ์ œ๊ณตํ•œ๋‹ค. 

 

Section 3 ๋ ˆ์ด์•„์›ƒ๊ณผ UX / ์ง€์†์„ฑContinujity๊ณผ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น

ํฐ ํ™”๋ฉด ๋Œ€์‘์„ ์œ„ํ•ด, ํ™”๋ฉด์˜ ํšŒ์ „, ์‚ฌ์ด์ฆˆ, ๋น„์œจ ๋“ฑ์„ ์„ค์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.

* Large screen app quality ๋ฌธ์„œ์˜ 3๊ฐ€์ง€ ํ‹ฐ์–ด๋ฅผ ์ฐธ๊ณ ํ•ด๋ผ

 

์•ฑ์˜ ํšŒ์ „, ๊ตฌ์„ฑconfiguration ๋ณ€๊ฒฝ์„ ๋งŒ๋“œ๋Š” ์ž‘์—… ๋“ฑ์œผ๋กœ ์•ฑ ์‚ฌ์šฉ ํ”„๋กœ๊ทธ๋ž˜์Šค๋“ค์„ ์žƒ์–ด๋ฒ„๋ฆฌ๊ฒŒ ๋œ๋‹ค. ์•ฑ์€ ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์„ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž์˜ ์•ฑ ์‚ฌ์šฉ ๊ฒฝํ—˜์ด ์ค‘๋‹จ๋˜์ง€ ์•Š๋„๋ก ๊ณ„์† ์ด์–ด๋‚˜๊ฐ€๋„๋ก ํ•ด์•ผ ํ•จ.

 

Section 4 

Modern Android Development์—์„œ ์˜ฌ๋ฐ”๋ฅธ configuration ๋ณ€๊ฒฝ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋„๊ตฌ์™€ ์•„ํ‚คํ…์ณ, ํฐ ํ™”๋ฉด ๋Œ€์‘์„ ์œ„ํ•œ foundation๋“ค์„ ์ œ๊ณตํ•œ๋‹ค.

๋ฉ€ํ‹ฐ์œˆ๋„์šฐ, ๋ถ„ํ•  ํ™”๋ฉด ๋“ฑ์˜ ๋Œ€์‘์— ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

Section 5 ์ž…๋ ฅ

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

 

ํ„ฐ์น˜ ์—†์ด๋„ ์•ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผํ•œ๋‹ค. 

๋ชจ๋“  ํ™”๋ฉด ์š”์†Œ๋“ค์€ focuableํ•ด์•ผ ํ•œ๋‹ค.

๊ฐ€์ƒ ํ‚ค๋ณด๋“œ ์ด์™ธ์— ๋ฌผ๋ฆฌ์  ํ‚ค๋ณด๋“œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. 

ํด๋ฆญ, ์„ ํƒ, ์Šคํฌ๋กค, ์ž˜๋ผ๋‚ด๊ธฐ, ๋ณต์‚ฌํ•˜๊ธฐ, ๋ถ™์—ฌ๋„ฃ๊ธฐ, ํ™”๋ฉด ์š”์†Œ๋“ค์„ navigateํ•˜๊ธฐ, ์Šคํฌ๋กคํ•ด์„œ ์คŒ ์ธ ์•„์›ƒ, ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ค๋†“๋Š” ์ƒํƒœ ๋“ฑ์˜ ๊ธฐ๋Šฅ ๋“ฑ๋„ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค.

์Šคํƒ€์ผ๋Ÿฌ์Šค๋ฅผ ์œ„ํ•ด ๋ชจ์…˜ ์ด๋ฒคํŠธ, ์œ„์น˜, ํšŒ์ „, ํ‹ธํŠธ, ์••๋ ฅ ๋“ฑ๋„ ๊ณ ๋ คํ•˜๊ณ  ์†๋ฐ”๋‹ฅ ์ž…๋ ฅ์„ ๊ฑฐ๋ถ€ํ•˜๊ณ  ์‹คํ–‰ ์ทจ์†Œ ๋“ฑ์˜ ๊ธฐ๋Šฅ๋„ ์•Œ๋งž๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

* Input compatibility on large screen ๋ฌธ์„œ ์ฐธ๊ณ 

 

Section 6 ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ

์—๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ ๋‹ค์–‘ํ•œ ํ™”๋ฉด๋“ค์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅ
Gradle Managed Devices๋ฅผ ์ด์šฉํ•ด Firebase Test Lab์˜ UI test ๊ฐ€๋Šฅ
Android Studio์˜ visual linting ๊ธฐ๋Šฅ. View์˜ ๊ฒฝ์šฐ Adnroid Electric Eel์—์„œ ๊ธฐ๋Šฅ ์ œ๊ณตํ•จ. Compose๋Š” ์ฐจ๊ธฐ ๋ฒ„์ „์—์„œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•  ์˜ˆ์ •์ž„.