플러터 개발하기 - [0] 왜 나는 플러터를 선택했는가

2020. 10. 10. 21:22Flutter

올해 초 Vue.js를 배우고 앱 개발도 하고 싶었습니다.

원래는 vue native 등을 배워보려고 했는데, 지인분이 vue...로 앱 만드는건 다 거르라고 해서 어떤 언어를 배워야하나 고민이 많았습니다.

 

처음에는 Kotlin을 배울 생각이였습니다.

실제로 인프런에서 한 5,6시간 문법 강의도 본 것 같습니다. 그런데, 코틀린의 문법 강의만 보니까 지루해지는건 어쩔 수 없었습니다. 몇 주도 안가서 강의를 안봤습니다.

 

결국 원점으로 돌아와서 제게는 아래의 선택지들이 있었습니다.

React (+Native)
Kotlin
Flutter

일단은 문법만 보고 괜찮은걸 고르자 라고 생각했습니다.

그래서 Flutter를 봤는데 Flutter가 속도면에서 우세하고 크로스 플랫폼 지원(React도 됨), 핫 리로드, 문법에 넘어가버려서 React 문법을 보기도 전에 Flutter를 선택해버렸습니다. (사실 뷰 vs 리액트에서 리액트를 한번 드롭시켰던 경험이 있어서 손이 가지도 않았습니다)


사담이 너무 길었습니다.

 

구글에 flutter vs react native라고 치면 많은 정보들이 나옵니다.

 

Hot reload와 크로스 플랫폼은 모두 지원하고 있습니다.

 

flutter-vs-react-native-comparing-the-features-of-each-framework 캡쳐 / React Native
flutter-vs-react-native-comparing-the-features-of-each-framework 캡쳐 / React Native

리액트는 작성한 js코드가 모두 bridge를 통해서 통신하고 있습니다.

flutter-vs-react-native-comparing-the-features-of-each-framework 캡쳐 / Flutter(Dart)
flutter-vs-react-native-comparing-the-features-of-each-framework 캡쳐 / Flutter(Dart)

그러나, Dart는 OS와 통신하는데 브릿지가 필요하지 않습니다.

 

이런 이유로 Flutter가 React Native보다 빠릅니다.

 

 

그 뿐만이 아니라 플러터는 기본적으로 머터리얼 위젯이 지원됩니다.

 

저는 이러한 이유들로 Flutter를 선택했습니다.

 

 

제 생각이긴 하지만 문법도 괴랄하긴 했지만, 크게 예상에서 벗어나는 부분은 없었습니다. (오히려, js나 ts를 닮은 것 같다고 느꼈습니다)

 

단점?

아직 커뮤니티가 작습니다. 현재(2020년 10월 10일) 기준으로 Flutter 레포의 star 수가 RN을 앞서고 있습니다.

그럼에도 불구하고 아직 정보를 찾는데 어려움이 많습니다.

 

어떻게보면 Dart의 생명줄인 Flutter입니다. Dart를 다른 경우에 쓰는 경우는 거의 없었기 때문에 대부분 Flutter를 배우기 위해 Dart도 배워야하는..

 

* 참고: levelup.gitconnected.com/flutter-vs-react-native-comparing-the-features-of-each-framework-f61bfd146a90