
Flutter는 Google에서 개발 및 지원하는 오픈 소스
크로스 플랫폼 모바일 앱 개발 프레임 워크입니다.
한 번의 개발로 다양한 기기와 운영체제에서 애플리케이션을 실행할 수 있도록 지원하기 때문에 보다 많은 사용자에게 서비스를 제공할 수 있다는 큰 장점이 있습니다.
Flutter는 Google이 개발한 오픈 소스 프로그래밍 언어인 Dart를 사용합니다.
뛰어난 성능과 빠른 개발 주기를 제공한다고 볼 수 있습니다.
처음에는 웹 브라우저 내에서 JavaScript를 대체하기 위해 개발되었지만,
이후에는 Flutter 프레임워크를 통해 네이티브 모바일 앱 개발에도 널리 사용되게 되었습니다.
Dart는 그 자체로도 강력한 언어이지만, Flutter와 결합되었을 때 진정한 잠재력이 발휘됩니다.
Flutter의 위젯은 모든 UI를 만들고 구성하는 기본 단위라고 생각하면 됩니다.
위젯의 종류는 크게 2가지로 나눌 수 있습니다.
1, Stateless Widget
2, Stateful Widget
둘의 차이점은 "State"가 있고 없고의 차이입니다.
State는 Widget의 Lifecycle(생명주기)의 상태를 나타내는 값입니다.
앱이 동작하면서 변하지 않는 Widget을 말한다.
가장 기본적인 Widget의 형태이고 많은 기본Widget들이 이 형태를 가진다.
ex) Text,Image,Row,Column 등의 기본 위젯들이 전부 Stateless Widget이다.
이 위젯들은 할당 받은 모습대로 UI가 그려진다. 이후에 앱 생명주기 동안 변경되지 않는다.
Stateful Widget은 State이 존재하는 Widget이다.
내부에 date가 변경될 경우, 그에 맞게 화면을 다시 그려서 변경된 부분을 위젯에
반영할 수 있습니다.
ex) 점수를 나타내는 위젯의 경우 사용자가 점수를 획득하면 계속 업데이트를 해주는 것
1, 빠른 개발 : Hot Reload를 사용하여 즉시 UI 변경 사항을 적용하고 디버깅이 쉽다.
2, 선언적 UI : 다양한 위젯을 구성하여 선언적 UI를 작성할 수 있다.
3, 다양한 플랫폼 지원 : iOs, Android, 웹, 데스크톱 및 임베디드 디바이스와 같은 다양한 플랫픔올 지원한다.
4, 높은 성능: Flutter는 하드웨어 가속을 사용하여 고성능 애플리케이션을 빌드할 수 있다.
5, 재사용 가능한 코드 : Flutter는 다양한 플랫폼에서 재사용 가능한 코드를 작성할 수 있다.
잘보고가요~^^