Flutter

플러터(fluttter)란???

Machine_웅 2022. 7. 9. 00:51
728x90
반응형

플러터란 ?

플러터(Flutter)는 구글이 출시한 오픈 소스 크로스 플랫폼 GUI 애플리케이션 프레임워크이다. 

안드로이드, iOS, 윈도우즈, 리눅스 및 웹용 애플리케이션과 구글 퓨시아용 앱의 주된 소스코드로 사용된다.[3]

 

https://ko.wikipedia.org/wiki/%ED%94%8C%EB%9F%AC%ED%84%B0

 

플러터 - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

 

프레임워크 아키텍처

플러터의 주요 구성 요소는 다음과 같다:

  • 다트 플랫폼
  • 플러터 엔진(Flutter engine)
  • 파운데이션 라이브러리(Foundation library)
  • 디자인 특화 위젯(Design-specific widgets)

정리

 

플러터란?

 -  cross-platform 프레임워크 ( iOS Android, Web 플랫폼 )

 - 위젯들을 이용해 Widget tree를 쌓으며 User Interface를 코드로 구현하는 환경을 제공한다.

 -  JIT(Just-In-Time), AOT(Ahead-Of-Time) 두 가지 컴파일러를 모두 사용 가능

 JIT은 런타임 전이 아니라 필요할 때에 코드를 컴파일
 
 JIT 컴파일러는 메소드가 호출될 때마다 바이트코드를 해석하는 대신, 
 실행중인 기계(컴퓨터)의 바이트코드를 
 기계어 명령어로 컴파일 한 다음 객체코드를 대신 호출합니다.
 
 JIT이 모든 코드를 처음에 기계어로 변환하는 것은 아니고 
 필요한(바로 사용되는) 것들만 기계어로 변환합니다.
AOT란 ahead-of-time의 약자로 
고수준의 언어들(C 또는 C++) 또는 자바 바이트코드와 같은 중간 표현을 
시스템에 맞는 기계어로 변환하는 방식을 말합니다.

시스템에 맞게 컴퓨터가 바로 실행할 수 있는 기계어로 미리 컴파일
한다는 뜻이고 이로 인해 브라우저에서 더 빠른 렌더링을 제공합니다.

JIT  AOT 차이점?

1. JIT(just-in-time)은 런타임일 때 브라우저에서 애플리케이션을 컴파일 한다.

2. AOT(ahead-of-time)는 서버에서 빌드할 때 앱을 컴파일 한다.

3. JIT으로 빌드하면 브라우저에서 컴파일이 되므로 유저의 컴퓨터 
성능에 따라 렌더링이 느릴 수 있다. 대신 빌드할 때 AOT보다 시간이 덜 걸리고
파일이 크지 않을 수 있다.

4. AOT로 빌드하면 미리 컴파일이 다 되어있어서 브라우저에서 
바로 실행되므로 유저는 빠르게 페이지들을 사용할 수 있다.
대신 빌드할 때 JIT보다 시간이 더 걸리고 파일이 클 수 있다.

 

프로그래밍 언어 :  다트(Dart)

 

GUI 특징 :

- Skia Graphic Engine이라는 그래픽 라이브러리를 통해 

 화면에 그려지는 모든 픽셀을 자체적으로 컨트롤하기 때문에

 UI를 구현할 때 iOS/Android간의 차이가 거의 없다.

 

플러터의 특징 

1. 플러터는 객체지향 언어지만, 어느 언어보다 독립적인 Super 객체지향 언어라고 할 수 있다.

간단히 모든것이 Class화 되어있다는 말이다.

화면을 구성하는 버튼, 텍스트필드 등 모든 것들이 Class화 되어있고 이들을 Widget이라고 한다.

따라서 화면을 구성하는 모든 요소들은 매개변수의 형태로 속성을 지정할 수 있다.

 

2. . 플러터에서는 디자인과 기능을 통합하여 다트로 UI와 기능을 자연스럽게 써내려갈 수 있어

이러한 번거로움이 없고, 더 빠른 개발이 가능하게 되었다. 

 

https://www.youtube.com/watch?time_continue=9&v=siow15Yn8r8&feature=emb_logo 

 

728x90
반응형