React Native / Flutter 비교
React Native와 Flutter는 둘 다 인기 있는 모바일 앱 개발 플랫폼으로, 개발자들 사이에서 논란의 여지가 있는 두 가지 선택지이다.
비교
React Native | Flutter | |
언어 | Javascript | Dart |
메인테이너 | Meta (Facebook) | |
진입장벽 | 상대적으로 낮음 | 상대적으로 높음 |
성능 | 상대적으로 낮음 | 상대적으로 높음 |
장점
React Native
낮은 진입장벽
React Native는 JavaScript를 사용하여 개발되며, 웹 개발자라면 당연하게도 JavaScript에 익숙하다. 이는 새로 학습하는 입장에서 React Native로 앱을 개발하는 데 낮은 진입 장벽으로 작용한다
커뮤니티 / 예제
React Native는 Facebook에 의해 개발되었으며, 진입장벽이 낮고 사용자가 많은 만큼 큰 규모의 커뮤니티를 보유하고 있고, 성숙한 생태계를 가지고 있다. 이는 웹개발 -> 앱개발 로 넘어가는 개발자 입장에서 다양한 예제와 라이브러리를 사용해 빠르게 개발을 할 수 있도록 한다
Flutter
성능
Flutter는 Google 에서 개발한 Dart 라는 언어를 사용하는 UI프레임워크 이며 just-in-time(JIT) 컴파일러와 ahead-of-time(AOT) 컴파일러를 모두 제공해 네이티브 수준의 성능을 제공한다고 한다. React-native 의 경우 자바스크립트를 네이티브 코드로 변환하는 하나의 계층이 추가로 존재하는 반면, 네이티브 코드로 컴파일 되는 Flutter 가 성능면에서 더 유리하다
쉬운 UI 구성
Flutter 에는 React의 컴포넌트 정도에 대응하는 위젯 ( Widget ) 시스템을 갖추고 있다. 자체적인 위젯 시스템을 이용해 UI를 구축하는것이 쉬워 생산성에 있어 유리하다
정리
React Native와 Flutter는 각각의 장단점을 갖고 있다. React Native는 유연성과 커뮤니티 지원이 장점이고, Flutter는 성능과 자체적인 지원이 장점이라고 할 수 있다.
React native 는 최소한의 기능을 자체 제공하고 생태계내의 다양한 라이브러리를 이용하는 형태의 철학이라고 할 수 있고, Flutter 의 경우 안정성을 갖추며 최대한 자체적으로 지원하려고 하는 듯하다.