js κ°λ°μμ μ½νλ¦° μ μκΈ° 1. νκ²½λ³μ μ€μ , compose μ xml ui
μ½νλ¦°μΌλ‘ μ μνκ³ μλ μ± κ°λ° νλ‘μ νΈμ ν¬μ
2μ£Όμ
λΆλ΄λΆλ΄ νκ²½μ€μ νκ³
μ½νλ¦°μΌλ‘ μ΄λ»κ² μ½λ©νλμ§μ λν
곡λΆλ₯Ό μμνλ€.
μΌλ¨ μ½νλ¦°μ νλ €λ©΄ μλλ‘μ΄λ μ€νλμ€, μ½νλ¦° νκ²½λ³μλ₯Ό μ€μ ν΄μΌ ν¨!
μλ
react native λ₯Ό μ¬μ©ν νλ‘μ νΈλ₯Ό μ§νν λμλ νκ²½λ³μ μ€μ μ νλλΌ
μ λ₯Ό λ¨Ήμλ κΈ°μ΅μ΄ μλλ°
κ·Έλ μΌλ¨ λλκ² μ°μ μ΄λΌ μ΄ν΄νμ§ λͺ»νκ³
λΈλ‘κ·Έ 무μ§μ± λ°λΌνκΈ°λ§ νλ κΈ°μ΅μ΄ λλ€.
νμ§λ§ μ°¨κ·Όμ°¨κ·Ό μ΄ν΄νλ©΄μ ν΄λ³΄λ
ν¬κ² μ΄λ €μ΄ κ²μ μλ
λ€.
μ΄μ μΌ νκ²½λ³μμ λν΄ μ΄μ§μ μ΄ν΄ν λλμ΄ λ λ€.
νλ©΄ ꡬμ±λΆν° μμν΄λ΄
κ·Όλ° λμΆ© uiꡬμ±νλ건 μ΄λ ΅μ§ μμλλ°
νλ©΄ λ³κ²½, κΈ°λ₯ ꡬν λ±λ± κΈ°λ₯λ€μ μ΄λ»κ² λ£μ΄μΌ νλμ§
κ°λ μμμ
μΌλ¨ 'νλλ‘μ΄λ' μ νλ²λ μμμ μ μ£Όν νμλ€.
κ·Έλ°λ°...
νλλ‘μ΄λ λ μμμ λ°λΌνλλ°,
λΉλλ λλλ° μ±μ΄ μ€νμ΄ μλλ€..
μμΌκΉ?
μ°Ύμ보λ
μ΄ λΆλΆμ ComponentActivity κ·Έλ¦¬κ³ , AppCompatActivity μ λν μ΄ν΄λκ° μμ΄
μκΈ΄ λ¬Έμ μμ!
compose κΈ°λ³Έ μ±κ³Ό xml UI μ°¨μ΄
μ½νλ¦°μλ xml uiμ compose μ λν μ°¨μ΄κ° μμλ€.
xml uiκ°λ°μ ν λμλ κΈ°λ₯μ ν΄λμ€, νλ©΄μ xmlμμ ꡬννλ κ²
compose λ²μ μΌλ‘ κ°λ°μ ν λμλ ν΄λμ€μμ κΈ°λ₯κ³Ό νλ©΄ ν΅ν©μ ꡬμ±νλ€.
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
μλ μλͺ»λ μ½λ!!
μ΄λ° μμΌλ‘ setContentViewλ‘ xmlνλ©΄μ μ΄λ©΄μ componentActivity()λ₯Ό μ¨λμκ² λ¬Έμ μλ€.
μ²μμ μμ±λλ μ΄λ° κΈ°λ³Έ μ½λλ€μ΄ νμ μμ μ€ μκ³ μ§μ λλ°
@Composableμ νμ μ½λμ΄κ³ , @previewλ 미리보기 νλ©΄μ μ§μνλ μ½λμλ€!
@Composableμ JetPack Compose λΌμ΄λΈλ¬λ¦¬μμ μ¬μ©λλ
μ΄λ
Έν
μ΄μ
(λ€λ₯Έ νλ‘κ·Έλ¨μκ² μ μ©ν μ 보λ₯Ό μ 곡νκΈ° μν΄ μ¬μ©λλ κ²μΌλ‘ μ£Όμκ³Ό κ°μ μλ―Έ)μ΄λ€!
μ΄κ² νΈμΆλλ©΄ ν¨μκ° composableνλ€λ κ²μ λνλΈλ€.
ν΄λΉ ν¨μ λ΄μμ uiμ μνλ λͺ¨μμ΄ μ΄λ»κ² ꡬμ±λλμ§λ₯Ό μ μνλ€.
Compose ν¨μν νλ‘κ·Έλλ°μ κ°λ
μ κΈ°λ°μΌλ‘ νμ¬ uiλ₯Ό ν¨μλ‘μ μ·¨κΈνκ³ , ν¨μκ° νΈμΆλ λλ§λ€
ν΄λΉ uiλ₯Ό μλ‘ κ·Έλ¦¬κ² λλ€.
μ°Ύμ보λ μμ¦μ composeκΈ°λ°μΌλ‘ μ½λλ₯Ό μ§ λ€λ κ² κ°μ
compose κ΄λ ¨ κΈ°μ΄ μμλΆν° μ°Ύμ보며 μ°¨κ·Όμ°¨κ·Ό μμνκ³ μλ€. γ
javaκΈ°λ°μ μΈμ΄λ μ²μμ΄λΌ..
μΌλ¨ override, overloadλΆν° μ΄ν΄κ° μ μκ° γ γ
but..
μ°¨κ·Όμ°¨κ·Ό μ΄ν΄νλ©° ν΄λ³΄κ² 3..
λ€μμ νλ©΄ μ νμ΄λ»κ² νλμ§.. μμ보μμΌκ² λ€.
κ·ΈλΌ 20000..