크로스 플랫폼(cross platform) : 단일 소스코드로 안드로이드와 iOS 모바일 어플리케이션을 개발할 수 있는 UI 프레임워크이다.
Google에서 만들었고, Dart언어를 사용한다. 사용하는 언어 또한 Google에서 만들었기 때문에, flutter를 위해 dart를 수정하는 경우도 있었다.
플러터는 3가지 계층으로 구성되어있다.
1. 프레임워크
2. 엔진
3. 임베더
플러터는 구글의 Materal Design과 애플의 Cupertiono UI를 지원한다.
동일한 소스 코드에서 임포트문을 변경하면 앱의 전체 look and feel을 바꿀 수 있다.
그 아래의 Widget은 플러터의 모든 것이라고 할 수 있다.
Rendering은 두 번째 계층인 엔진과 관련있다. 엔진에서 그려주는 내용이 이 영역에서 표현된다.
Gesture 항목은 모바일 기기에서 제공하는 사용자 이벤트와 관련있다. 터치하거나 스와이프 동작에 반응할 수 있다.
그 외의 Animation, Painting, Foundation은 플러터 프레임워크가 동작하기 위한 내부 구조.
안드로이드 개발에서는 UI 구성을 위해 XML 파일도 작성하고 빌드 도구인 그레이들(Gradle)을 배워야함. 액티비티, 서비스와 같은 안드로이드 앱의 기본 구성요소와 액티비티 라이프사이클 등 처음에 배워야할 게 많음.
안드로이드 개발에서 변경한 내용에 대해 빠르게 확인해보고 싶지만, 그럴 수가 없는 게 현실이고, 프로젝트가 커지면 커질수록 빌드로 생기는 이 대기시간은 기하급수적으로 증가했다.