What if Flutter

한 문장으로 간단하게, Google 에서 개발 한 Cross-Platform 을 타겟으로 한 UI Toolkit 이자 Framework.

조금 더 설명을 덧붙이면 Dart라는 언어를 활용하여 화면이 있는 대다수 Platform에 UI를 그려내고 간단한 Bussiness logic을 실행 할 수 있는 개발 도구

Flutter 의 대표적인 특징

Do Not Use Flutter in Case

이미지 출처 : GDG Songdo Flutter Study - 1st section Flutter 101

이미지 출처 : GDG Songdo Flutter Study - 1st section Flutter 101

The Flutter architecture

이미지 출처 : https://flutter.dev

이미지 출처 : https://flutter.dev

Flutter는 기본적으로 SKiA라는 C / C++ 라는 별도의 엔진을 통해 각종 UI들이 구현이 된다. 그렇기 때문에 Native Env와 유사한 속도를 낼 수 있으며, Hot Reload 같은 독특한 디버깅이 가능하다.

실제로 개발자들이 개발하는 Widget은 SKiA 엔진을 통해 각각의 OS에 알맞는 Embedder 영역을 호출 하거나 별도로 연계된 MethodChannel 을 통해 실제 작동하게 된다. (단, Web의 경우 SKiA를 사용하지 않고 Dart to JS 같은 별도의 동작 체계가 있다.)

이러한 특징 때문에, 실제 개발자들은 엔진 아래의 동작과 완전히 분리 된 환경에서 Widget을 통해 Application을 구현 할 수 있는 구조이다.

Getting started

Flutter를 사용하기 위해서 필요한 것들