민프
[Flutter] React-Native 말고 Flutter를 선택한 이유 본문
서브 프로젝트를 할 때 내가 React-Native 말고 Flutter를 선택한 이유를 말해보려고 한다.
- IOS, Android 같은 디자인
- 결론부터 말해보자면 개발기간을 짧게 하려고 하기 때문에 IOS, Android 두 플랫폼의 디자인을 신경 쓸 시간이 없어서, Flutter UI를 기준으로 통일 된 UI를 만들어보려고 한다.
React-Native는 JavaScript를 통해서 운영체제와 대화를 하고 -> 운영체제는 네이티브 앱 처럼 보이는 컴포넌트와 위젯을 만들어낸다. 그래서 IOS와 Android가 각각의 네이티브 컴포넌트, 위젯으로 만들어지게 되는 것인데
Flutter 같은 경우에는 컴포넌트를 렌더링하기 위해서 운영체제와 직접 소통하는 것이 아닌 C/C++ Engine(Impeller, Skia)을 통해서 모든 컴포넌트를 렌더링 해주게 되어서 같은 UI를 그려낼 수 있는 것이다.
그렇다고 해서 Flutter에서 IOS 네이티브 UI를 못그려내는 것도 아니고, 네이티브 기능을 개발할 때는 MethodChannel을 활용하면 제약 받는 부분이 크게 없을 것이라 판단했다.
- 결론부터 말해보자면 개발기간을 짧게 하려고 하기 때문에 IOS, Android 두 플랫폼의 디자인을 신경 쓸 시간이 없어서, Flutter UI를 기준으로 통일 된 UI를 만들어보려고 한다.
- 공식 문서
- 결론부터 말해보자면 React Native는 슬라이드, 애니메이션과 같은 UI 효과 같은 것을 넣을 때 기본 기능으로는 작업하기 쉽지 않기 때문에 외부 패키지에 의존할 수 밖에 없는데 Flutter같은 경우에는 기본 기능으로도 충분히 많은 애니메이션 UI 효과를 넣을 수 있다.
Flutter는 공식문서에 컴포넌트에 대한 설명이 자세하게 잘 되어있어서 그것만 봐도 앱에 들어가는 효과, 기능들은 왠만하면 다 할수 있을 정도로 너무 잘되어있다.
그래서 이런 부분이 개발을 더 쉽게 해줄 수 있을 것 같아서 선택하게 되었다.
실제로 회사에서 Flutter 프로젝트를 할 때 공식문서만 보고 개발을 진행하였었는데 의외로 매끄럽게 잘 진행이 되어서 괜찮았고, 커뮤니티도 내가 찾고 싶은 정보는 다 있었어서 개발하는데에는 문제가 없었다.
- 결론부터 말해보자면 React Native는 슬라이드, 애니메이션과 같은 UI 효과 같은 것을 넣을 때 기본 기능으로는 작업하기 쉽지 않기 때문에 외부 패키지에 의존할 수 밖에 없는데 Flutter같은 경우에는 기본 기능으로도 충분히 많은 애니메이션 UI 효과를 넣을 수 있다.
- PC, 앱 개발도 가능한 플랫폼
- Flutter는 최근 모바일 앱 뿐 아니라 PC와 웹 개발도 가능하게 돼 플랫폼 확장성을 확보할 수 있을 것이라 판단하였다.
- 개발 환경(IDE)
- 처음 개발할 때 부터 Android Studio를 사용하였는데, 이 개발 환경을 사용할 수 있다는 것도 개발 일정을 줄일 수 있을 것 같았다.
참고링크
https://docs.flutter.dev/platform-integration/platform-channels
https://docs.flutter.dev/ui/widgets
'[Flutter]' 카테고리의 다른 글
Comments