선언적으로 사고하기
만일 명령적 프레임워크(Android SDK 혹은 iOS UIKit와 같은)에서 플러터로 오셨다면, 당신은 앱개발을 새로운 관점으로 생각하기 시작할 필요가 있습니다.
당신이 갖고 있을 많은 예상들은 플러터에 적용되지 않을겁니다. 예를 들어, 플러터에서는 맨 처음부터 UI를 수정하는 대신에 UI의 일부를 재빌드하는 것이 허용됩니다. 플러터는 매 프레임이 필요한 경우에도 이를 수행할 만큼 충분히 빠릅니다.
플러터는 선언적입니다. 이 말은 플러터가 당신의 앱의 현 상태를 반영함으로서 사용자 인터페이스를 빌드한다는 뜻입니다.
앱의 상태가 바뀌면(예를 들어, 환경설정 스크린에서 사용자가 스위치를 전환했다면), 당신이 상태를 바꾸는 것이고, 이는 사용자 인터페이스를 다시 그리게 합니다. UI 자체의 명령적인 변경( widget.setText
같이)은 없습니다 - 어떤 상태를 바꾸면, 그 UI는 처음부터 UI를 재빌드합니다.
UI 프로그래밍에서의 선언전 접근법에 관해 더 알기 위해서 선언형 UI 소개 를 읽어보세요.
선언형 UI 프로그래밍은 많은 이점들이 있습니다. 분명히, 어떤 UI의 상태이건 간에 오직 한 코드 경로만이 존재합니다. 주어진 상태에 대해 UI가 어떻게 표시되는지 한 번 설명하면 끝입니다.
처음에는 이러한 프로그래밍 스타일이 명령형 스타일만큼 직관적으로 보이지 않을 수 있습니다. 그것이 이 섹션이 존재하는 이유입니다. 계속 읽으세요.