상세 컨텐츠

본문 제목

플러터 - 플러터의 기본 개념 + docpad 써보기

Flutter

by endless123 2024. 9. 3. 10:50

본문

 플러터

 

 

특징

거의 모든것이 위젯 객체

구글이 지원하는 무료 오픈소스

 

1단계

사용자가 화면을본다(화면 그리기, 렌더링) -> 버튼을 누르거나 상호작용에 따라서 바뀜 변경 안해도 되면 StatefullWidget

다시 변경 되면 StatelessWidget

 

 

Dart 언어를 사용해야 함

안드로이드,스위프트ios 는 네이티브

핫 리로드 - 가상머신 을 통해 업데이트하고 다시 배포하지 않아도 코드를 저장만 하면 변경 사항을 실시간으로 확인할 수 있다.

-> 개발생산성높임, 로딩 시간 빨라짐

 

Dart 언어 특증

Type을 지원하는 언어

Type 추론도 지원

단일 스레드로 비동기 방식을 지원

스프레드 연산자 지원

배열은 x 컬렉션만 존재

컬렉션프레임워크 - list map set 세개만 지원

 

Skia 엔진 안드로이드, ios, 윈도우, 맥 등 2D 그래픽 라이브러리 사용목적으로 나왔지만 현재는 3D까지 지원이 된다.

 

React Native

버튼을 만드려면 브릿지시스템으로 안드로이드 버튼을 찾고 그 버튼을 매칭해서 휴대폰에 보여줌 -> 찾는 과정이 들어가기때문에 느림

Skia 는 바로 버튼 찾아서 직접 그림 -> 그려내는게 빠름

 

AOT

다트언어로 개발한 코드를 휴대폰에 빌드하기 전에 핸드폰의 기계어 코드(네이티브 코드)로 사전 컴파일하여 코드를 빌드할 수 있음. 빠르게 실행가능

 

JIT

런타임에서 실행할  수 있는 중간언어로 변환후 다트위 가상머신을 통해서 중간언어를 실시간으로 번역

AOT 에비해 런타임시 실행이 느림 -> 개발해서 유용함

 

플러터 아키텍쳐

 

머터리얼 - 구글의 디자인 플랫폼

쿠퍼티노 - ios 디자인 플랫폼

 

플러터로 할수 있는것

HTML, CSS JAVASCRIPT 몰라도 웹디자인 가능

자바 몰라도 안드로이드 디자인 가능

스위프트를 몰라도 IOS 디자인 가능 등

 

DartPad

https://dartpad.dev/

 

DartPad

 

dartpad.dev