Flutter Architecture (아키텍처)

     

    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

    댓글