플러터란?
다트란?
플러터의 동작원리
플러터가 다트를 사용하는 이유는 무엇인가
플러터를 언제 사용해야할까?
구글에서 만들어 오픈소스로 공개한 모바일 SDK
앱을 만들기위한 기존의 방식은 안드로이드와 IOS를 별도로 구현해 배포해야하기에 요구되는 기술스펙과 비용이 컸지만, 플러터를 사용하면 한 번의 구현으로 양쪽 진영에 모두 배포가 가능하다.
플러터는 렌더링 엔진
, UI 컴포넌트
, 테스트 프레임워크
, 도구
, 라우터
등 앱 제작에 필요한 기능을 모두 제공한다. 그 덕에 개발자는 앱 구현에 집중하여 생산성을 높힐 수 있다.
스프링이나 안드로이드에서는 자바
혹은 코틀린
을 사용한다. IOS에서는 Object-C
혹은 Swift
를 사용한다. 그리고 플러터에서는 다트(Dart)
를 사용해 구현한다. 다트는 구글 소유로 구글에서 유지 보수하는 언어인데, 어째서 우리에게 익숙한 자바, 코틀린, 자바스크립트 등등이 아닌 다트라는 생소한 언어를 사용하는 것일까? 그 이유는 아래와 같다.
다트는 JIT(just-in-time) 컴파일과 AOT(ahead-of-time)컴파일을 모두 지원한다.
*AOT 컴파일러
는 다트 코드를 그에 맞는 네이티브 코드로 바꿔줘서 플러터가 모두에게 빠르게 동작하며 플러터 전체 프레임워크의 대부분을 다트로 구현 가능하게 한다.*JIT 컴파일러
는 **핫 리로드(hot reload)*를 지원해 빠른 개발속도와 반복(iteration)을 가능하게 해 생산성을 높혀준다.다트는 객체지향이기에 마크업 언어를 사용하지 않고 다트 언어만으로 시각적 사용자 경험을 쉽게 구현한다.
기존 언어(Java, Javascript 등) 과 유사해 생산성이 좋고 예측이 가능하다. 기존 다른 언어에 익숙할수록 쉽게 접근할 수 있다.