플루터 Flutter 가 뜬다

Flutter

플루터는 안드로이드에서 사용하는 앱과 애플 iOS에서 사용하는 앱을 한번에 개발할 수 있는 플랫폼 입니다. 회사에서 용역을 받아서 프로그램을 개발하는 것이라면 “한 번에 개발 가능한 크로스 플랫폼이 좋다”던지 “그래도 네이티브 앱이 효율적이다”라는 것을 고민을 해 볼 수 있겠습니다.

그러나 저처럼 앱개발 할 수 있는 코딩을 배우면 뭔가 할 수 있지 않을까? 하고 앱개발 플랫폼을 바라보는 입장이라면 당연히 한 번에 안드로이드앱과 애플 iOS앱을 개발할 수 있는 크로스 플랫폼을 선택할 것입니다. 안드로이드 앱을 개발하는 것과 애플 iOS 앱을 개발하는 언어를 모두 공부 하기에는 시간이 부족하기 때문입니다.

왜 Flutter 인가?

안드로이드와 iOS앱을 한 번에 개발할 수 있는 크로스 플랫폼으로 구글에서 만든 Flutter 외에 페이스북 meta에서 만든 React Native가 있습니다. React Native 도 간단하게 맛(?) 본적이 있었는데 개인적인 체감으로 무거운 느낌이었습니다. React Native를 경험하고 나니 페이스북도 그래서 무거운 느낌이 드는가? 싶었습니다.

아무튼 2018년부터 핫 해진 Flutter가 2020년에 React Native를 커뮤니티과 관련자료 면에서 앞서기 시작했습니다. 그만큼 사용자가 빠르게 증가하고 있다는 얘기겠죠?

성능도 뛰어나다고 합니다. (낮을수록 좋은거 – 무겁게 느껴진 것은 느낌만이 아닌 것으로) 그렇다면 React Native와 Flutter는 어떤 차이 때문에 다른 성능을 보이는 것일까?

2015년에 만들어진 React Native는 JavaScript 영역이 네이티브 영역의 플랫폼 위젯에 액세스 하는 방법이기 때문에 중간에 브릿지를 거쳐야 하는 구조를 가지고 있습니다. 우리가 앱을 사용할 때 위젯을 자주 액세스 하게 되는데 이 때 브릿지에서 병목현상이 발생됩니다.

반면, Flutter는 JavaScript 브릿지의 필요성으로 인해 발생되는 문제를 방지하기 위해 컴파일된 프로그래밍 언어인 Dart를 사용합니다. Dart는 여러가지 플랫폼을 위한 기본 코드인 AOT(ahead of time)로 컴파일되기 때문에 컨텍스트 전환을 수행하는 JavaScript 브릿지를 거치지 않고도 플랫폼과 통신할 수 있어 병목현상과 앱 시작 시간을 개선할 수 있습니다.

댓글 남기기

Up ↑

%d 블로거가 이것을 좋아합니다: