Flutter는 크로스 플랫폼 UI 툴킷으로, iOS, Android와 같은 다양한 운영체제 전반에서 코드를 재사용할 수 있도록 설계되었습니다.
어플리케이션은 플랫폼 서비스와 직접적으로 인터페이스합니다. 따라서 서로 다른 플랫폼이지만 자연스럽게 고성능 앱을 제공할 수 있습니다.
Flutter 앱은 VM(가상머신)에서 실행됩니다. 따라서 전체적인 재컴파일 없이 바로 상태를 로드할 수 있습니다. 이는 x64나 ARM과 같은 머신 코드(기계어) 또는 웹의 경우 JavaScript로 바로 컴파일이 되면서 가능합니다.
위 그림과 같이 확장 가능도록 설계된 시스템입니다. 각각의 레이어는 독립된 라이브러리로 존재합니다.
채널을 통하여 플랫폼별 동작이 가능합니다.
모바일 및 데스크톱 앱의 경우 Flutter를 사용하면 Dart 코드와 호스트 앱의 플랫폼 별 코드 간 통신을 위한 플랫폼 채널을 통해 사용자 정의 코드를 호출할 수 있습니다.
공통 채널(이름과 코덱을 캡슐화)을 만들어 Dart와 Kotlin이나 Swift와 같은 언어로 작성된 플랫폼 구성 요소 간에 메시지를 주고 받을 수 있습니다. 데이터는 Map과 같은 형식으로 직렬화 된 다음 Kotlin (HashMap) 또는 Swift (Dictionary)에서 동등한 표현으로 역 직렬화됩니다.
Web은 하기와 같은 Architecture로 지원합니다.
'Flutter(플러터) > Tip' 카테고리의 다른 글
Flutter 상태 관리 ( State Management ) (0) | 2022.02.23 |
---|---|
Flutter MVVM (0) | 2022.02.22 |
Native? Reactive? Cross? Flutter? (0) | 2022.02.22 |
Flutter Log (0) | 2022.01.14 |
Flutter 자동 정렬 ( Auto-Indent Lines ) (0) | 2022.01.11 |
댓글