2. 2017년 5월 Google에서 출시
오픈소스 크로스 플랫폼 프레임워크
내부적으로 Skia 렌더링 엔진을 가지고 있음
Google에서 만든 Dart 언어를 사용
Flutter?
3. 2011년 Google에서 Javascript를 대체하기 위해 개발
멀티 플랫폼 상에서 동작되도록 하는 앱을 위해 디자인된 프로그래밍 언어
Dart의 목표는 다양한 종류의 기기에서 동작되도록 하는 것
4. 두 가지 컴파일 방법 지원 (JIT + AOT)
- JIT(Just-In-Time) 컴파일러는 프로그램 실행 중에 즉시 컴파일이 가능합니다.
- AOT(Ahead-of-time) 컴파일러는 프로그램 작성 중(런타임 이전에) 컴파일을 실행합니다.
네이티브에 필적하는 성능
5. 랜더링 방식
Hybrid
App
Reactive View (React
Native)
자주 Bridge 에 접근하게 되면서 결국 퍼포먼스 이슈
JavaScript의 코드가 OEM Widget, 서비스들을 사용 하기 위해 Bridge 사용
18. [플러터 공식문서]
https://flutter-ko.dev
[웹사이트에서 Dart 언어를 실행시켜볼 수 있는 사이트]
https://dartpad.dev/
[플러터 레이아웃 치트시트]
https://medium.com/flutter-community/flutter-layout-cheat-sheet-5363348d037e
[Flutter Flow]
https://flutterflow.io/
[검증된 라이브러리 모음]
https://github.com/Solido/awesome-flutter
유용한 사이트
JavaScript와 WebView를 기반으로 구성 HTML을 만들어주면 플랫폼의 WebView를 통해 보여주는 방식 서비스들과 통신을 해야하는데 이 부분은 Native로 되어있어 JavaScript가 바로 접근할 수가 없다. 이 통신을 위해 Bridge가 존재
JavaScript의 코드가 OEM Widget을 사용하기 위해 bridge가 이쪽에서도 사용
Dart는 컴파일 타임에 네이티브 코드로 컴파일 되므로 Bridge를 통하지 않고 플랫폼과 직접 통신
OEM 위젯이나 DOM 웹뷰를 사용하지 않고, 자체 위젯을 Canvas 위에 직접 렌더링