Flutter

플러터란?

최데브 2022. 11. 6. 10:17

1. 플러터란

구글에서 만들어졌으며 오픈소스로 공개된 모바일 SDK 다.

플러터는 리액트 네이티브와 비슷하게 안드로이드 , IOS 를 하나의 코드로 동시 개발 할 수 있는

크로프 플랫폼이다. 현재는 웹과 윈도우 프로그램도 개발이 가능한 상태다.

 

 

1.1 플러터는 어떤 언어를 사용할까?

리액트 네이티브가 비교적 넓게 쓰기는 자바 스크립트로 개발할 수 있어서 얻는 이점이 있었듯

기존 개발자들이 사용하는 언어를 그대로 사용할 수 있었다면 더 좋았겠지만 플러터는 다트(Dart) 라는 언어를 사용한다.

이 언어도 구글에서 만들었는데 안드로이드 플랫폼도 지원하고 있는 구글이 왜 생소한 언어를 따로 만든걸까?

  • 다트는 JIT(just-in-time) 컴파일과 AOT(ahead-of-time)컴파일을 모두 지원한다.
  • AOT 컴파일러는 다트 코드를 그에 맞는 네이티브 코드로 바꿔줘서 플러터가 모두에게 빠르게 동작하며 플러터 전체 프레임워크의 대부분을 다트로 구현 가능하게 한다.
  • 다트의 선택형 JIT 컴파일러는 핫 리로드(hot reload)를 지원해 빠른 개발속도와 반복(iteration)을 가능하게 해 생산성을 높혀준다.
  • 다트는 객체지향이기에 마크업 언어를 사용하지 않고 다트 언어만으로 시각적 사용자 경험을 쉽게 구현한다.
  • 기존 언어(Java, Javascript 등) 과 유사해 생산성이 좋고 예측이 가능하다. 기존 다른 언어에 익숙할수록 쉽게 접근할 수 있다.

1.2 리액트 네이티브와의 차이점

나는 플러터를 한다면 비슷한 포지션을 가지고 있고 많은 개발자들이 쓰고 있는 리액트 네이티브와 어떤 점이

다른지 그리고 그 점이 내게 더 좋게 다가온다면 플러터를 선택해서 개발을 하고 싶었다.

관련해서 정보를 찾아보면 자바스크립트를 사용하는 RN(리액트 네이티브) 는 모바일에서 개발될때

어쩔 수 없이 네이티브 코드와 자바스크립의 코드가 통신해야하는 자바스크립트 다리를 만들어줘야하는데

앱이 브라우저 렌더링 엔진과 소통할때마다 자바스크립트 코드를 네이티브 코드로 컴파일 해야하는 단점이 있었다.

 

그러나 플러터는

 

자체 렌더링 엔진 Skia 을 가지고 있기 때문에 앱이 자체적으로 네이티브로 구동이되며 당연히 자바스크립트 다리 같은것도 필요가 없어진다. 크로스 플랫폼이 가지는 비용문제를 플러터는 자체적인 엔진으로 해결했다.

 

1.3 플러터의 장점

  • 컴파일 시간이 빠르다. 최대 1분을 넘기지 않는 경우가 많으며 핫 리로드가 제공되어 바꿀때마다 빌드를 오래 해야하는 귀찮음이 없다.
  • 처음에 설명했던것처럼 한번 구현으로 IOS , 안드로이드, web , window  추가적으로 리눅스 데스트탑 앱 까지 지원한다. 개발의 대통합이다.
  • 구글에서 아주 밀어주며 활발하게 업데이트가 되고 있다.

 

최근 플러터 개발자에 대한 수요도 눈에 띄게 증가하고 있는 것 같다.

난 네이티브 개발이 최고야! 라고 하는게 아니라면 플러터를 공부해보는것도 좋지 않을까 한다.

반응형

'Flutter' 카테고리의 다른 글

플러터의 GetX ?  (0) 2023.01.08
플러터의 위젯이란?  (0) 2022.11.06
플러터 - 토스트 메세지 만들기  (0) 2021.06.20
플러터 - 스낵바 만들기  (0) 2021.06.20