<aside> 👉 크로스플랫폼 앱 개발 프레임워크로 화두가 되는 두 프레임워크에 대한 비교

</aside>

웹 프론트 개발자 입장이기에 앱 개발을 진행해야한다고 한다면 네이티브 플랫폼은 조금 꺼려졌습니다.

iOS, Android 모두 웹 개발과는 거리가 있고, 언어에 대한 장벽도 포함되지만 무엇보다도 커리어 패스를 신경쓸 수 밖에 없습니다.

그렇기에 어느 정도 중간의 포지션을 유지하면서 앱의 이점을 챙겨올 수 있는 React native가 매력적이었고, React Native와 항상 비교가 되는 Flutter 또한 고민될 수 밖에 없었습니다.

저는 Flutter 개발을 하고 있었기에 React Native 또한 Flutter와 비슷한 원리로 구동되며, 얻을 수 있는 이점이 비슷하다라고 생각했으나 고찰해본다면 명확하게 두 플랫폼은 서로의 색을 뚜렷하게 띄고 있습니다.


그렇다면 어떤점이 차이가 있을까요?

언어의 차이

저는 가장 큰 차이는 일단 언어의 차이가 있습니다.

프론트엔드에서 JS란 빼놓을 수 없는 언어라고 해도 과언이 아닙니다. 하지만 Flutter는 그렇지 않습니다.

Flutter는 Dart를 사용하게 됩니다. Dart 언어의 목적은 아래와 같습니다.

물론 디테일한 문법의 차이는 있습니다.

새로운 문법을 배워야하는 진입장벽과 러닝커브가 존재하기에 플랫폼 선택의 기준이 될 수 있습니다.

UI 렌더링

Flutter

Flutter 자체의 그래픽 엔진을 통해서 UI를 그리기 때문에 일관적인 UI를 그릴 수 있습니다. 그렇기 때문에 플랫폼에 상관없이 동일한 UI를 그려낼 수 있습니다.

물론 플랫폼 체크로 분기하여 각 플랫폼의 Native UI를 모방하는 방법도 가능합니다.

React Native

React Native는